Vue implementiert grafischen Überprüfungscode

Vue implementiert grafischen Überprüfungscode

In diesem Artikelbeispiel wird der spezifische Code von Vue zur Implementierung des Grafiküberprüfungscodes zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Effektbild:

oder

oder

oder

Code:

Prüfcode-Komponente:

src/common/sIdentify.vue

<Vorlage>
  <div Klasse="s-canvas">
    <canvas id="s-canvas" :width="Inhaltsbreite" :height="Inhaltshöhe"></canvas>
  </div>
</Vorlage>
<Skript>
  Standard exportieren {
    Name: 'SIdentify',
    Requisiten: {
      Identifizierungscode:
        Typ: Zeichenfolge,
        Standard: „1234“
      },
      SchriftgrößeMin: {
        Typ: Nummer,
        Standard: 18
      },
      SchriftgrößeMax: {
        Typ: Nummer,
        Standard: 40
      },
      HintergrundFarbeMin: {
        Typ: Nummer,
        Standard: 180
      },
      HintergrundFarbeMax: {
        Typ: Nummer,
        Standard: 240
      },
      FarbeMin:
        Typ: Nummer,
        Standard: 50
      },
      FarbeMax: {
        Typ: Nummer,
        Standard: 160
      },
      LinienfarbeMin: {
        Typ: Nummer,
        Standard: 40
      },
      ZeilenfarbeMax: {
        Typ: Nummer,
        Standard: 180
      },
      PunktFarbeMin: {
        Typ: Nummer,
        Standard: 0
      },
      PunktFarbeMax: {
        Typ: Nummer,
        Standard: 255
      },
      Inhaltsbreite: {
        Typ: Nummer,
        Standard: 111
      },
      Inhaltshöhe: {
        Typ: Nummer,
        Standard: 38
      }
    },
    Methoden: {
      // Erzeuge eine Zufallszahl randomNum(min, max) {
        gibt Math.floor(Math.random() * (max - min) + min) zurück
      },
      // Erzeuge eine zufällige Farbe randomColor(min, max) {
        sei r = diese.Zufallszahl(min, max)
        sei g = diese.Zufallszahl(min, max)
        sei b = diese.Zufallszahl(min, max)
        gibt 'rgb(' + r + ',' + g + ',' + b + ')' zurück
      },
      zeichneBild() {
        let Leinwand = Dokument.getElementById('s-canvas')
        lass ctx = canvas.getContext('2d')
        ctx.textBaseline = "unten"
        // Zeichne den Hintergrund ctx.fillStyle = this.randomColor(this.backgroundColorMin, this.backgroundColorMax)
        ctx.fillRect(0, 0, diese.Inhaltsbreite, diese.Inhaltshöhe)
        // Text zeichnen für (let i = 0; i < this.identifyCode.length; i++) {
          dies.drawText(ctx, dies.identifyCode[i], i)
        }
        // this.drawLine(ctx) // Interferenzlinie zeichnen // this.drawDot(ctx) // Interferenzpunkt zeichnen},
      // Text zeichnen drawText(ctx, txt, i) {
        ctx.fillStyle = diese.randomColor(diese.colorMin, diese.colorMax)
        ctx.font = diese.randomNum(diese.fontSizeMin, diese.fontSizeMax) + 'px SimHei'
        sei x = (i + 1) * (this.contentWidth / (this.identifyCode.length + 1))
        sei y = this.randomNum(this.fontSizeMax, this.contentHeight - 5)
        var deg = this.randomNum(-30, 30) // Zeichendrehwinkel (vorzugsweise nicht mehr als 45 Grad)
        // Koordinatenursprung und Drehwinkel ändern ctx.translate(x, y)
        ctx.rotate(Grad * Math.PI / 180)
        ctx.fillText(txt, 0, 0)
        // Koordinatenursprung und Drehwinkel wiederherstellen ctx.rotate(-deg * Math.PI / 180)
        ctx.translate(-x, -y)
      },
      zeichneLinie(ctx) {
        // Zeichne Interferenzlinien für (let i = 0; i < 8; i++) {
          ctx.strokeStyle = diese.randomColor(diese.lineColorMin, diese.lineColorMax)
          ctx.beginPath()
          ctx.moveTo(diese.randomNum(0, diese.Inhaltsbreite), diese.randomNum(0, diese.Inhaltshöhe))
          ctx.lineTo(diese.randomNum(0, diese.Inhaltsbreite), diese.randomNum(0, diese.Inhaltshöhe))
          ctx.stroke()
        }
      },
      Punkt zeichnen(ctx) {
        // Zeichne Interferenzpunkte für (let i = 0; i < 100; i++) {
          ctx.fillStyle = diese.randomColor(0, 255)
          ctx.beginPath()
          ctx.arc(diese.randomNum(0, diese.Inhaltsbreite), diese.randomNum(0, diese.Inhaltshöhe), 1, 0, 2 * Math.PI)
          ctx.fill()
        }
      }
    },
    betrachten:
      identifiziereCode() {
        dieses.drawPic()
      }
    },
    montiert() {
      dieses.drawPic()
    }
  }
</Skript>

Übergeordnete Komponente

<Vorlage>
  <div>
    <div>Verifizierungscode-Test</div>
    <div @click="refreshCode()" class="code" style="cursor:pointer;" title="Klicken, um den Bestätigungscode zu wechseln">
      <s-identify :identifyCode="identifyCode"></s-identify>
    </div>
  </div>
</Vorlage>

<Skript>
importiere { defineComponent } von „vue“;
importiere sIdentify aus "@/common/sIdentify.vue";
// importiere Axios von „Axios“
exportiere StandarddefiniereKomponente({
  Name: 'WasserzeichenTest',
  Komponenten: { sIdentify },
  Daten() {
    zurückkehren {
      Identifizierungscode: "",
      identifyCodes: ['0','1','2','3','4','5','6','7','8','9','a','b','c','d'], //Fügen Sie die gewünschten Zeichen entsprechend dem tatsächlichen Bedarf hinzu}
  },
  montiert() {
    dies.refreshCode()
 },
 nicht eingehängt() {

 },
  Methoden: {
    // Zufallszahl generieren randomNum(min, max) {
      max = max + 1
      gibt Math.floor(Math.random() * (max - min) + min) zurück;
    },
    // Prüfcode aktualisieren refreshCode() {
      dieser.identifyCode = "";
      dies.makeCode(dies.identifyCodes, 4);
      console.log('Aktueller Bestätigungscode:',this.identifyCode);
    },
    // Verifizierungscode zufällig generieren string makeCode(data, len) {
      console.log('Daten, Länge:', Daten, Länge)
      für (sei i = 0; i < len; i++) {
        dieser.identifyCode += dieser.identifyCodes[diese.randomNum(0, dieser.identifyCodes.length-1)]
      }
    },
  },
});
</Skript>

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Einfache Implementierung der 60-Sekunden-Countdown-Funktion des Vue-Verifizierungscodes
  • vue implementiert die Registrierungsfunktion zum Senden eines SMS-Bestätigungscodes über das Mobiltelefon
  • Vue generiert einen zufälligen Verifizierungscode-Beispielcode
  • Vue + Element-UI integriert eine zufällige Überprüfungsfunktion für den Bestätigungscode + Benutzernamen + Kennwort
  • VUE implementiert die Bildverifizierungscodefunktion
  • So fügen Sie in Vue eine Komponentenfunktion für mobile Verifizierungscodes hinzu
  • Vue implementiert die Komponente „Eingabefeld für Bestätigungscodes“
  • Vue implementiert die Funktion zum Überprüfen des Schiebepuzzle-Codes
  • Das Vue-Projekt implementiert einen grafischen Überprüfungscode
  • Vue implementiert Bildverifizierungscode beim Anmelden

<<:  Detaillierte Analyse des langsamen Abfrageproblems beim Senden von MySQL-Daten

>>:  So richten Sie Referer in Nginx ein, um Bilddiebstahl zu verhindern

Artikel empfehlen

Beispielschritte zur Verwendung von AntV X6 mit Vue.js

Inhaltsverzeichnis 0x0 Einführung 0x1 Installatio...

Testen des Hyperlink-Öffnungsziels

Das Zielattribut eines Links bestimmt, wohin der L...

Detaillierte Erklärung der Kernkonzepte und der grundlegenden Verwendung von Vuex

Inhaltsverzeichnis einführen Start Installieren ①...

So ändern Sie die Container-Portzuordnung in Docker dynamisch

Vorwort: Die Docker-Portzuordnung erfolgt häufig,...

Zusammenfassung von 6 Lösungen zur Implementierung des Singleton-Modus in JS

Vorwort Heute habe ich das Erzeugungsmuster im En...

Fallstricke bei langsamen MySQL-Abfragen

Inhaltsverzeichnis 1. Langsame Abfragekonfigurati...

JavaScript zum Erreichen eines einfachen Message Board-Falls

Verwenden Sie Javascript, um ein Message Board-Be...

Schleifenmethoden und verschiedene Durchlaufmethoden in js

Inhaltsverzeichnis for-Schleife While-Schleife do...

Details und Beispielcode der MySQL-Replikationstabelle

Detaillierte Erklärung der MySQL-Replikationstabe...

Drei Möglichkeiten zum Erstellen eines Graueffekts auf Website-Bildern

Ich habe schon immer Graustufenbilder bevorzugt, d...