Vue implementiert die Anmeldung mit grafischem Bestätigungscode

Vue implementiert die Anmeldung mit grafischem Bestätigungscode

In diesem Artikelbeispiel wird der spezifische Code von Vue zur Implementierung der grafischen Verifizierungscode-Anmeldung zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. Rendern

2. Erstellen Sie unter Komponenten eine neue Datei identify.vue mit folgendem Inhalt:

<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: 28
    },
    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: 112
    },
    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) {
      var r = diese.randomNum(min, max)
      var g = diese.randomNum(min, max)
      var b = diese.randomNum(min, max)
      gibt 'rgb(' + r + ',' + g + ',' + b + ')' zurück
    },
    zeichneBild() {
      var Leinwand = document.getElementById('s-canvas')
      var ctx = canvas.getContext('2d')
      ctx.textBaseline = "unten"
      // Zeichne den Hintergrund ctx.fillStyle = this.randomColor(
        dies.backgroundColorMin,
        dies.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)
      }
      dies.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'
      var x = (i + 1) * (diese.Inhaltsbreite / (diese.IdentifyCode.Länge + 1))
      var y = diese.randomNum(diese.fontSizeMax, diese.contentHeight - 5)
      var deg = diese.randomNum(-30, 30)
      // Koordinatenursprung und Drehwinkel ändern ctx.translate(x, y)
      ctx.rotate(Grad * Math.PI / 270)
      ctx.fillText(txt, 0, 0)
      // Koordinatenursprung und Drehwinkel wiederherstellen ctx.rotate(-deg * Math.PI / 270)
      ctx.translate(-x, -y)
    },
    zeichneLinie (ctx) {
      // Interferenzlinien zeichnen für (let i = 0; i < 2; 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) {
      // Interferenzpunkte zeichnen für (let i = 0; i < 20; i++) {
        ctx.fillStyle = diese.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:
    identifizierungscode () {
      dieses.drawPic()
    }
  },
  montiert () {
    dieses.drawPic()
  }
}
</Skript>
<style lang='scss' scoped>
.s-Leinwand {
    Höhe: 38px;
}
.s-canvas Leinwand{
    Rand oben: 1px;
    Rand links: 8px;
}
</Stil>

3. Seiteneinführung

<Skript>
 importiere SIdentify aus '../../components/identify'
 Standard exportieren {
    Komponenten: { SIdentify }
  }
  Daten() {
    // Verifizierungscode, benutzerdefinierte Verifizierungsregeln, const validateVerifycode = (rule, value, callback) => {
      const newVal = Wert.toLowerCase()
      const identifyStr = this.identifyCode.toLowerCase()
      wenn (neuerWert === '') {
        callback(new Error('Bitte geben Sie den Bestätigungscode ein'))
      } sonst wenn (newVal !== identifyStr) {
        console.log('validateVerifycode:', Wert)
        callback(new Error('Der Bestätigungscode ist falsch!'))
      } anders {
        Rückruf()
      }
    }
    zurückkehren {
      Identifizierungscodes: '3456789ABCDEFGHGKMNPQRSTUVWXY',
      Identifizierungscode: '',
       RegelForm: {
        Benutzername: '',
        Passwort: '',
        Prüfcode: ''
      },
      Regeln:
        Prüfcode:
          { erforderlich: true, Auslöser: „blur“, Validator: validateVerifycode }
        ]
      }
 }
    }
</Skript>

4.html

<el-form-item prop="Verifizierungscode">
 <div Stil="Anzeige:flex">
 <el-Eingabe
 v-Modell="Regelformular.Verifycode"
 Platzhalter="Bitte geben Sie den Bestätigungscode ein"
 @keyup.enter.native="login('ruleForm')"
 ></el-Eingabe>
 <span @click="Code aktualisieren"
 ><s-identify :identifyCode="identifyCode"></s-identify
 ></span>
 </div>
</el-form-item>

5. montiert

montiert() {
    //Initialisierung des Bestätigungscodes this.identifyCode = ''
    dies.makeCode(diese.identifyCodes, 4)
  }

6. Methoden

Methoden: {
    // Zufallszahl generieren randomNum(min, max) {
      gibt Math.floor(Math.random() * (max - min) + min) zurück
    },
    // Bestätigungscode wechseln refreshCode() {
      this.identifyCode = ''
      dies.makeCode(diese.identifyCodes, 4)
    },
    // Einen vierstelligen zufälligen Verifizierungscode generieren makeCode(o, l) {
      für (sei i = 0; i < l; i++) {
        dieser.identifizierenCode += dieser.identifizierenCodes[
          diese.randomNum(0, diese.identifyCodes.length)
        ]
      }
    }
 }

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:
  • Vue-Implementierung eines Beispiels für die Anmeldemethode mit Bestätigungscode
  • Vue implementiert die Anmeldung per Mobiltelefon-Bestätigungscode
  • Verwenden Sie Vue, um den Effekt der Registrierungsseite zu realisieren. Vue ermöglicht die Anmeldung per SMS-Bestätigungscode.
  • Vue implementiert die Anmeldung per Mobiltelefonnummer und Bestätigungscode (60-Sekunden-Countdown deaktiviert)
  • Vue implementiert die Anmeldefunktion per SMS-Bestätigungscode (detaillierte Erläuterung des Vorgangs)
  • Vue implementiert Beispielcode zum Senden eines SMS-Bestätigungscode-Logins über eine Mobiltelefonnummer

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

>>:  MySQL implementiert Protokollverwaltung, Sicherung und Wiederherstellung auf Unternehmensebene – praktisches Tutorial

Artikel empfehlen

Implementierungsmethode für HTML-Neun-Raster-Layouts

Die Diversifizierung von Website-Layouts ist unse...

Detaillierte Erklärung des MySQL-Datenbank-LIKE-Operators in Python

Der LIKE-Operator wird in der WHERE-Klausel verwe...

So verwenden Sie CSS-Stile und -Selektoren

Drei Möglichkeiten, CSS in HTML zu verwenden: 1. ...

Zwei Beispiele für die Verwendung von Symbolen in Vue3

Inhaltsverzeichnis 1. Verwenden Sie SVG 2. Verwen...

Nginx-Dienst 500: Interner Serverfehler einer der Gründe

500 (Interner Serverfehler) Auf dem Server ist ei...

Erfahren Sie mehr über den Ereignisplaner EVENT in MySQL

Der Ereignisplaner in MySQL, EVENT, wird auch als...

Detaillierte Erklärung der grundlegenden Verwendung des VUE Watch Listener

Inhaltsverzeichnis 1. Der folgende Code ist eine ...

JavaScript zur Implementierung eines einfachen Einkaufsformulars

In diesem Artikel wird der spezifische JavaScript...

Grundprinzipien für die Zusammenstellung einer Website-Homepage

1. Die Organisationsstruktur des Hypertext-Dokumen...

Manuelle Implementierung der Instanceof-Methode in JavaScript

1. Verwendung von instanceof Mit instanceof wird ...

Detaillierte Erklärung von MySQL-Transaktionen und MySQL-Protokollen

Transaktionale Merkmale 1. Atomarität: Nach dem S...

MySQL View-Prinzipanalyse

Inhaltsverzeichnis Aktualisierbare Ansichten Leis...

So stellen Sie den Node.js-Dienst mithilfe von Dockerfile bereit

Dockerfile initialisieren Angenommen, unser Proje...