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“
Neueste Lösung: -v /usr/share/zoneinfo/Asia/Shang...
Wie lässt sich feststellen, worauf dies hinweist?...
Inhaltsverzeichnis 1. Anweisungen 2. Modifikatore...
Inhaltsverzeichnis Überblick Problembeschreibung ...
Inhaltsverzeichnis 1. Standortobjekt 1. URL 2. Ei...
Inhaltsverzeichnis 1. Einführung in Portainer 2. ...
Betrachten wir zunächst ein Beispiel: In der Arti...
In diesem Artikelbeispiel wird der spezifische Co...
Bei der Verwendung von MySQL zum Ausführen bestim...
Inhaltsverzeichnis 1. Übersicht 2. GDB-Debugging ...
In vielen Projekten ist es notwendig, die Funktio...
In diesem Artikel wird der spezifische JS-Code zu...
Dieser Artikel zeichnet hauptsächlich einen Tomca...
MySQL-Version: MySQL Community Server 5.7.17, ins...
So schreiben Sie Urteilsaussagen in MySQL: Method...