Schauen wir uns zunächst unseren Effektimplementierungsprozess an. Melden Sie sich zunächst an, um einen Überblick über die Geschäftsprozesse und die damit verbundenen technischen Punkte zu erhalten
Login-Geschäftsprozess1. Geben Sie Ihren Benutzernamen und Ihr Passwort auf der Anmeldeseite ein 2. Rufen Sie zur Überprüfung die Backend-Schnittstelle auf 3. Springen Sie nach der Überprüfung entsprechend dem Antwortstatus des Hintergrunds zur Projekthomepage Implementierung der Login-Funktion1. Zunächst überprüfen wir mit dem Routing Guard die Anmeldung und stellen fest, ob eine Anmeldung erforderlich ist { Pfad: '/login', Name:"Anmelden", Komponente:Anmelden, Meta:{ Anmeldung:wahr } } //Definieren Sie „meta-true“, wo eine Anmeldung erforderlich ist, um zu sehen, ob sie erforderlich ist. if(to.matched.some(item=>item.meta.login)){//Anmeldung erforderlich console.log("Anmeldung erforderlich"); if(isLogin){//1. Bereits angemeldet, direkt übergeben if(data.error===400){//Das Backend teilt Ihnen mit, dass die Anmeldung fehlgeschlagen ist next({name:'login'}) localStorage.removeItem('Token'); zurückkehren; } wenn(zu.name==='login'){ weiter({name:'Home'}) }anders{ nächste() } zurückkehren; } if(!isLogin && to.name==='login'){//2. Nicht angemeldet, gehe aber zur Anmeldeseite next() } if(!isLogin && to.name !=='login'){//3. Nicht angemeldet, nicht die Anmeldeseite next({name:"login"}) } }else{//Keine Anmeldung nötig, gehe direkt zu next() } 2. Für die Formularvalidierungsregeln verwenden wir die Element-Komponentenbibliothek Verwenden Sie Element, um unser Stillayout in die Vorlage zu schreiben <div Klasse="Anmeldeabschnitt"> <!-- :rules="Regeln" --> <el-form Beschriftungsposition = "oben" Beschriftungsbreite = "100px" Klasse = "Demo-Regelform" :Regeln="Regeln" :Modell="RegelnVon" Statussymbol ref="RegelVon" > <el-form-item label="Benutzername" prop="Name"> <!-- Verwenden Sie v-model, um den vom Benutzer eingegebenen Namen abzurufen --> <el-input Typ="Text" v-Modell="Regeln von.name"></el-input> </el-form-item> <el-form-item label="Passwort" prop="Passwort"></el-form-item> <!-- Verwenden Sie v-model, um das vom Benutzer eingegebene Passwort abzurufen --> <el-input Typ="Passwort" v-model="rulesFrom.password"></el-input> </el-form-item> <el-form-item> <!-- Submit-Ereignis definieren --> <el-button type="primary" @click="submitFrom('ruleFrom')">Senden</el-button> <el-button>Zurücksetzen</el-button> </el-form-item> </el-form> </div> Definieren Sie Validierungsregeln für das Formular Weitere Einzelheiten finden Sie auf der offiziellen Website von Element (Formular). In Daten definieren Regeln von: { Name:'', Passwort:'' }, Regeln: Name:[ // Validierungsregeln {erforderlich: wahr, Nachricht: 'Bitte geben Sie Ihren Benutzernamen ein', Trigger: 'Blur'}, {min:1,max:5,message:'Länge liegt zwischen 1 und 5 Zeichen',trigger:'blur'} ], Passwort:[ {erforderlich: wahr, Nachricht: 'Bitte geben Sie Ihr Passwort ein', Auslöser: 'unscharf'}, {min:1,max:5,message:'Länge liegt zwischen 1 und 5 Zeichen',trigger:'blur'} ] } Definieren Sie das Submit-Ereignis in Methoden // Wenn wir auf „Senden“ klicken, kann die Methode ausgelöst werden, um alles im Formular abzurufen: „submitFrom(formName){ dies.$refs[formName].validate( (gültig)=>{ wenn(gültig){ // Wenn die Überprüfung erfolgreich war, werden die Benutzerinformationen und das Passwort an den Backend-Login zurückgegeben ({ Name:diese.RegelnVon.Name, Passwort:this.rulesFrom.password, }).dann((Daten)=>{ konsole.log(Daten); wenn(Datencode===0){ localStorage.setItem('Token',Daten.Daten.Token) Fenster.Standort.href='/'; } wenn(Datencode===1){ dies.$Nachricht.Fehler(Daten.Nachricht) } }) }anders{ console.log('Fehler beim Senden!!'); return false } }) } Schreiben Sie zu diesem Zeitpunkt das Logout und konvertieren Sie es vor jedem const token = localStorage.getItem('token'); // ! ! Token wird in Booleschen Typ konvertiert const isLogin=!!token; // Beim Eingeben der Route müssen Sie das Token an das Backend zurückgeben, um zu überprüfen, ob es zulässig ist. const data = await userInfo(); Store.commit('chageUserInfo',Daten.Daten) ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: Welchen MySQL-Eindeutigen Index oder Normalen Index soll ich wählen?
>>: So installieren Sie die neueste Version von Docker mit dem Befehl „Deepin apt“
Inhaltsverzeichnis 1. Routing-bezogene Objekte 2....
<br />Ich habe mir heute die neu gestaltete ...
Einführung in temporäre Tabellen Was ist eine tem...
Einige Attribute zu Elementen Bei der täglichen E...
Inhaltsverzeichnis Was ist Routing Grundlegende V...
So stellen Sie Oracle mit Docker auf dem Mac bere...
1. MySQL-Transaktionskonzept MySQL-Transaktionen ...
Inhaltsverzeichnis npm herunterladen Schritt (1) ...
Mongodb verfügt über einen Befehl db.serverStatus...
Dieser Artikel zeichnet das Installations-Grafik-...
1. Nachfrage Ein Bild bewegt sich in einer Endlos...
Vorwort Wenn Sie die Quelle der Website-Besuche z...
Flex-Layout wird auch elastisches Layout genannt....
Unicode-Signatur-BOM – Was ist die BOM? BOM ist di...
<br />Der Inhalt dieser Site ist Original. B...