VUE realisiert Registrierungs- und Login-Effekte

VUE realisiert Registrierungs- und Login-Effekte

In diesem Artikelbeispiel wird der spezifische Code von VUE zur Erzielung von Registrierungs- und Anmeldeeffekten zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. Effektanzeige

2. Realisierung des Registrierungseffekts

<Vorlage>
  <div Klasse="Anmeldeabschnitt">
    <el-form 
      Beschriftungsposition = "oben" Beschriftungsbreite = "100px" Klasse = "Demo-Regelform"
      :Regeln="Regeln"
      :model="RegelnFormular"
        Statussymbol
        ref="RegelForm"
    >
      <el-form-item label="Benutzername" prop="Name">
        <el-input Typ="Text" v-Modell="RegelnForm.name"></el-input>
      </el-form-item>
      <el-form-item label="Passwort" prop="Passwort">
        <el-input type="Passwort" v-model="rulesForm.passwort"></el-input>
      </el-form-item>
 
      <el-form-item>
        <el-button type="primary" @click="submitForm('ruleForm')" >Senden</el-button>
        <el-button >Zurücksetzen</el-button>
      </el-form-item>
 
    </el-form>
  </div>
</Vorlage>
<Skript>
importiere {register} von '@/service/api';
Standard exportieren {
  Daten() {
    zurückkehren {
      RegelnForm:{
        Name:'',
        Passwort:''
      },
      Regeln:
        Name:[
          {erforderlich: wahr, Nachricht: 'Bitte geben Sie Ihren Namen ein', Auslöser: "unscharf"},
          {min:1,max:5,message:"Länge 3-5",trigger:"Unschärfe"}
        ],
        Passwort:[
          {erforderlich: wahr, Nachricht: 'Bitte geben Sie Ihr Passwort ein', Auslöser: "unscharf"},
          {min:3,max:5,message:"Länge 3-5",trigger:"Unschärfe"}
        ]
      }
    };
  },
  Methoden: {
    Formular absenden(Formularname){
      dies.$refs[formName].validate((valid)=>{
          wenn(gültig){
              //Wenn die Prüfung erfolgreich ist, senden Sie den Benutzernamen und das Passwort an das Backend-Register ({
                Name: this.rulesForm.name,
                Passwort: this.rulesForm.password,
              }).dann((Daten)=>{
                console.log(Daten)
                wenn(Datencode === 0){
                  localStorage.setItem('token',data.data.token);
                    Fenster.Standort.href='/';
                }
                wenn(Datencode === 1){
                  dies.$Nachricht.Fehler(Daten.Nachricht)
                }
              });
          }anders{
            console.log("Fehler beim Senden!!");
            gibt false zurück;
          }
      });
    }
  }
}
</Skript>
 
<style lang="stylus">
.login-Abschnitt
  Polsterung 0px 20px
</Stil>

3. Implementierung der Anmeldeseite

<Vorlage>
  <div Klasse="Anmeldeabschnitt">
    <el-form
      Beschriftungsposition = "oben"
      Beschriftungsbreite = "100px" Klasse = "Demo-Regelform"
      :Regeln="Regeln"
      :model="RegelnFormular"
        Statussymbol
        ref="RegelForm"
    >
      <el-form-item label="Benutzername" prop="Name">
        <el-input Typ="Text" v-Modell="RegelnForm.name"></el-input>
      </el-form-item>
      <el-form-item label="Passwort" prop="Passwort">
        <el-input type="Passwort" v-model="rulesForm.passwort"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="submitForm('ruleForm')">Senden</el-button>
        <el-button>Zurücksetzen</el-button>
      </el-form-item>
    </el-form>
  </div>
</Vorlage>
<Skript>
importiere {login} von '@/service/api';
 
Standard exportieren {
  Daten() {
    zurückkehren {
      //Objekt zum Speichern von Daten rulesForm:{
        Name:'',
        Passwort:''
      },
      Regeln:
        Name:[
          {erforderlich: wahr, Nachricht: 'Bitte geben Sie Ihren Namen ein', Auslöser: "unscharf"},
          {min:1,max:5,message:"Länge 3-5",trigger:"Unschärfe"}
        ],
        Passwort:[
          {erforderlich: wahr, Nachricht: 'Bitte geben Sie Ihr Passwort ein', Auslöser: "unscharf"},
          {min:3,max:5,message:"Länge 3-5",trigger:"Unschärfe"}
        ]
      }
    };
  },
  Methoden: {
    Formular absenden(Formularname){
      dies.$refs[formName].validate((valid)=>{
          wenn(gültig){
              //Wenn die Prüfung erfolgreich ist, senden Sie den Benutzernamen und das Passwort an den Backend-Login({
                Name: this.rulesForm.name,
                Passwort: this.rulesForm.password,
              }).dann((Daten)=>{
                console.log(Daten)
                wenn(Datencode === 0){
                  localStorage.setItem('token',data.data.token);
                    Fenster.Standort.href='/';
                }
                wenn(Datencode === 1){
                  dies.$Nachricht.Fehler(Daten.Nachricht)
                }
              });
          }anders{
            console.log("Fehler beim Senden!!");
            gibt false zurück;
          }
      });
    }
  }
}
</Skript>
 
<style lang="stylus">
.login-Abschnitt
  Polsterung 0px 20px
</Stil>

4. Implementierung von Routing-Sprüngen

Vue von „vue“ importieren
Router von „vue-router“ importieren
Vue.use(Router)
Store aus '@/store' importieren
importiere {userInfo} aus '@/service/api.js'
Login aus '@/views/user-login/index.vue' importieren
const router = neuer Router({
    Modus: „Verlauf“,
    Routen:[
        {
            Pfad: '/login',
            Name:"Anmelden",
            Titel:"Anmeldeseite",
            Komponente:Anmelden,
            Meta:{
                Anmeldung:wahr
            }
        }
    ]
});
//Routenwächter router.beforeEach( async (to,from,next) => {
    /*
        Für einige Routen ist eine Anmeldung erforderlich, um den Anmeldestatus zu ermitteln 1. Nicht angemeldet: Zur Anmeldeseite springen 2. Anmelden: Direkt eingeben Für einige Routen ist keine Anmeldung erforderlich. Geben Sie direkt ein ps: ob angemeldet werden soll --meta
    */
    const token = localStorage.getItem('token');
    const isLogin = !!Token;
    //Wenn Sie die Route eingeben, müssen Sie ein Token an das Backend senden, um zu überprüfen, ob es zulässig ist. const data = await userInfo();
    Store.commit('chageUserInfo',Daten.Daten)
 
   if(to.matched.some(item => item.meta.login)){//Anmeldung erforderlichconsole.log("Anmeldung erforderlich");
 
        if(isLogin){//Bereits angemeldet, direkt weitergeben 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'){//Nicht angemeldet, gehe aber zur Anmeldeseite next();
        }
        if(!isLogin && to.name !== 'login'){//Nicht angemeldet, nicht die Anmeldeseite next({name:'login'});
        }
   }anders{
       nächste();
   }
})
Standardrouter exportieren;

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:
  • Beispiel für die Implementierung von Login und Logout in Vue
  • Vue2.0 Axios Front-End- und Back-End-Login-Interceptor (Beispielerklärung)
  • Beispielcode für Vue+Axios-Anfängerübungen zur Implementierung der Anmeldung
  • Detaillierte Erläuterung der WeChat-Autorisierungsanmeldung mit vue.js und Laravel
  • Vue-Frontend-Implementierung der Login-Abfangung und Verwendung des Axios-Interceptors
  • Implementierung der Login-Seite basierend auf vue-cli3 und element
  • Beispielcode für die Anmeldung und Registrierung bei Vue Learning Road
  • vue implementiert die Registrierungsfunktion zum Senden eines SMS-Bestätigungscodes über das Mobiltelefon
  • Vue.js implementiert Funktionen für Benutzerkommentare, Anmeldungen, Registrierungen und Informationsänderungen
  • Das Vue-Projekt realisiert Anmelde- und Registrierungseffekte

<<:  So stellen Sie eine einzelne Datenbank oder Tabelle in MySQL wieder her und mögliche Fallstricke

>>:  Detaillierte Erläuterung des Implementierungsprozesses zum Erstellen eines Kernelbaums in Ubuntu 12.04

Artikel empfehlen

Detaillierte Erläuterung des Beispiels für MySQL-Integritätsbeschränkungen

Dieser Artikel beschreibt die MySQL-Integritätsbe...

Detaillierte Erklärung des TS-Objekt-Spread-Operators und des Rest-Operators

Inhaltsverzeichnis Überblick Objektrestattribut E...

So erstellen Sie eine my.ini-Datei im MySQL 5.7.19-Installationsverzeichnis

Im vorherigen Artikel habe ich das ausführliche T...

Echarts-Tutorial zur Implementierung von Baumdiagrammen

Treemaps dienen vor allem der Visualisierung baum...

Ideen und Codes zur Implementierung der Vuex-Datenpersistenz

Was ist Vuex vuex: ist ein speziell für vue.js en...

Zusammenfassung der mathematischen Symbole in Unicode

In der Mathematik, Physik und einigen wissenschaf...

Tiefgreifendes Verständnis mathematischer Ausdrücke in CSS calc()

Der mathematische Ausdruck calc() ist eine Funkti...

Soll die Like-Funktion MySQL oder Redis verwenden?

Inhaltsverzeichnis 1. Häufige Fehler von Anfänger...

Erste Schritte mit TS (TypeScript) im Vue-Projekt

Inhaltsverzeichnis 1. Einführung in Typescript 2....

Zusammenfassung der MySQL-Nutzungsspezifikationen

1. Es muss die InnoDB-Speicher-Engine verwendet w...