Das Vue-Projekt implementiert einen grafischen Überprüfungscode

Das Vue-Projekt implementiert einen grafischen Überprüfungscode

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

Effektvorschau: (Das Projekt erfordert ein sauberes Erscheinungsbild, es darf also kein Hintergrund vorhanden sein. Der folgende Code enthält jedoch Hintergrundstörungen.)

1. Laden Sie das Identify-Plugin herunter, Befehl: npm i identify

2. Erstellen Sie eine neue Vue-Komponente in Ihrem Komponentenverzeichnis. Mein Name ist: sIdentify.vue

3. Kopiere folgenden Code in die Komponente (du kannst ihn anpassen!)

<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: 35
    },
    SchriftgrößeMax: {
      Typ: Nummer,
      Standard: 35
    },
    HintergrundFarbeMin: {
      Typ: Nummer,
      Standard: 180
    },
    HintergrundFarbeMax: {
      Typ: Nummer,
      Standard: 240
    },
    FarbeMin:
      Typ: Nummer,
      Standard: 50
    },
    FarbeMax: {
      Typ: Nummer,
      Standard: 160
    },
    LinienfarbeMin: {
      Typ: Nummer,
      Standard: 100
    },
    ZeilenfarbeMax: {
      Typ: Nummer,
      Standard: 200
    },
    PunktFarbeMin: {
      Typ: Nummer,
      Standard: 0
    },
    PunktFarbeMax: {
      Typ: Nummer,
      Standard: 255
    },
    Inhaltsbreite: {
      Typ: Nummer,
      Standard: 120
    },
    Inhaltshöhe: {
      Typ: Nummer,
      Standard: 40
    }
  },
  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;
    },
    transparent() {
      gibt "rgb(255,255,255)" zurück;
    },
    zeichneBild() {
      let canvas = document.getElementById("s-canvas");
      Lassen Sie ctx = canvas.getContext("2d");
      ctx.textBaseline = "unten";
      // Zeichne den Hintergrund // ctx.fillStyle = this.randomColor(
      // diese.backgroundColorMin,
      // dies.backgroundColorMax
      // );
      ctx.fillStyle = this.transparent();
      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);
      }
      // diese.drawLine(ctx)
      // dies.drawDot(ctx)
    },
    zeichneText(ctx, txt, i) {
      ctx.fillStyle = diese.randomColor(diese.colorMin, diese.colorMax);
      ctx.Schriftart =
        diese.randomNum(diese.fontSizeMin, diese.fontSizeMax) + "px SimHei";
      sei x = (i + 1) * (diese.Inhaltsbreite / (diese.IdentifyCodelänge + 1));
      sei y = this.randomNum(this.fontSizeMax, this.contentHeight - 5);
      var deg = diese.randomNum(-10, 10);
      // 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.contentWidth),
          diese.randomNum(0, diese.contentHeight)
        );
        ctx.lineTo(
          diese.randomNum(0, diese.contentWidth),
          diese.randomNum(0, diese.contentHeight)
        );
        ctx.stroke();
      }
    },
    Punkt zeichnen(ctx) {
      // Zeichne Interferenzpunkte für (let i = 0; i < 100; i++) {
        ctx.fillStyle = this.randomColor(0, 255);
        ctx.beginPath();
        ctx.arc(
          diese.randomNum(0, diese.contentWidth),
          diese.randomNum(0, diese.contentHeight),
          1,
          0,
          2 * Math.PI
        );
        ctx.fill();
      }
    }
  },
  betrachten:
    identifiziereCode() {
      dies.drawPic();
    }
  },
  montiert() {
    dies.drawPic();
  }
};
</Skript>

4.Fügen Sie die Komponente auf der Seite ein, auf der Sie den Bestätigungscode benötigen, und schreiben Sie die Methode:

<Vorlage>
<div Klasse="Code abrufen" @click="refreshCode()">
    <s-identify :identifyCode="identifyCode"></s-identify>
</div>
</Vorlage>
<Skript>
    importiere SIdentify aus "@/components/sIdentify.vue";
    Standard exportieren {
        Komponenten: { SIdentify },
        Daten() {
           zurückkehren {
                Identifizierungscode: "",
                identifyCodes: "0123456789abcdwerwshdjeJKDHRJHKOOPLMKQ", // einfach eintippen}
        },
        Methoden: {            
           Aktualisierungscode () {//
             dieser.identifyCode = "";
             dies.makeCode(diese.identifyCodes,4);
           },
           Zufallszahl (min, max) {
             max = max + 1
             gibt Math.floor(Math.random() * (max - min) + min) zurück
           },
           // Bestätigungscode zufällig generieren string makeCode (data, len) {
             für (sei i = 0; i < len; i++) {
             dieser.identifyCode += Daten[diese.randomNum(0, Datenlänge - 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
  • Vue implementiert Bildverifizierungscode beim Anmelden
  • Vue implementiert grafischen Überprüfungscode

<<:  SQL-Abfrage MySql-Datenbanktabellenname und -beschreibung Tabellenfeld- (Spalten-)Informationen

>>:  Detaillierte Erläuterung der SSHD-Dienste und Dienstverwaltungsbefehle unter Linux

Artikel empfehlen

Detaillierte Erklärung zur Verwendung der Clip-Path-Eigenschaft in CSS

Verwendung von Clip-Pfaden Polygon Der Wert setzt...

Tutorial zum Herunterladen und Installieren von MySQL 8.0.12 WinX64

MySQL 8.0.12 Download- und Installations-Tutorial...

Beispielcode zur einfachen Implementierung des Seitenlayouts mit Flex-Layout

Kommen wir ohne weitere Umschweife direkt zum Cod...

Vue implementiert das Ziehen und Sortieren von Bildern

In diesem Artikelbeispiel wird der spezifische Co...

Analyse und Lösung des durch Chrome 73 verursachten Flex-Layout-Zusammenbruchs

Phänomen Es gibt mehrere verschachtelte Flex-Stru...

Implementierung des React Page Turner (inkl. Front- und Backend)

Inhaltsverzeichnis Frontend Entwerfen und schreib...

jQuery implementiert verschachtelte Tab-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Uniapp realisiert gleitenden Scoring-Effekt

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

Websocket+Vuex implementiert eine Echtzeit-Chat-Software

Inhaltsverzeichnis Vorwort 1. Der Effekt ist wie ...

Vue3 verwendet Axios Interceptor zum Drucken von Front-End-Protokollen

Inhaltsverzeichnis 1. Einleitung 2. Verwenden Sie...

So deinstallieren Sie MySQL sauber (getestet und effektiv)

Wie deinstalliere ich Mysql vollständig? Befolgen...