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

Erste Schritte mit CSS3-Animation in 10 Minuten

Einführung Mit Animation können Sie mithilfe von ...

Detaillierte Erklärung der Kodierungsprobleme bei MySQL-Befehlszeilenoperationen

1. Überprüfen Sie die MySQL-Datenbankkodierung my...

Fallstudie zur dynamischen Datenbindung von this.$set in Vue

Ich finde, dass die Erklärung von this.$set im In...

JavaScript Dom implementiert das Prinzip und Beispiel eines Karussells

Wenn wir ein Karussell bauen wollen, müssen wir z...

Zusammenfassung der Verwendung von TypeScript in React-Projekten

Vorwort Dieser Artikel konzentriert sich auf die ...

Verwendung des Linux Dig-Befehls

Dig-Einführung: Dig ist ein Tool, das DNS einschl...

Node+Express zum Erzielen eines Paging-Effekts

In diesem Artikel wird der spezifische Code von n...

Installieren Sie Docker unter CentOS 7

Wenn Sie kein Linux-System haben, finden Sie unte...

Eine Zusammenfassung der Gründe, warum MySQL keinen Datumsfeldindex verwendet

Inhaltsverzeichnis Hintergrund erkunden Zusammenf...