Das Vue-Projekt realisiert Anmelde- und Registrierungseffekte

Das Vue-Projekt realisiert Anmelde- und Registrierungseffekte

In diesem Artikelbeispiel wird der spezifische Code des Vue-Projekts zur Erzielung des Anmelde- und Registrierungseffekts zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Hauptinhalt

Das Ziel dieses Kapitels: vue+element-ui schließt Registrierung und Anmeldung ab

1. Effektanzeige

2. Seite anzeigen: Ansichten

Realisierung des Registrierungsseiteneffekts:

<Vorlage>
  <div Klasse="Anmeldeabschnitt">
    <!-- :rules="Regeln" -->
    <el-form label-position="oben" label-width="100px" class="demo-ruleForm" :rules="Regeln" :model="rulesForm" status-icon ref='ruleForm'>
      <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 {
      RegelnForm:{
        Name:'',
        Passwort:''
      },
      Regeln:
        Name:[
            {erforderlich: wahr, Nachricht: 'Der Name ist nicht geschrieben', Auslöser: 'Unschärfe'},
            {min:1,max:5,message:'Länge liegt zwischen 3 und 5 Zeichen'}
        ],
         Passwort:[
            {erforderlich: wahr, Nachricht: 'Der Name ist nicht geschrieben', Auslöser: 'Unschärfe'},
            {min:3,max:5,message:'Länge liegt zwischen 3 und 5 Zeichen'}
        ]
      }
    };
  },
  Methoden: {
    Formular absenden(Formularname){
      dies.$refs[formName].validate((valid)=>{
        if(valid){//Wenn die Prüfung erfolgreich ist, sende den Benutzernamen und das Passwort an den Backend-Login({
              Name:dieses.RegelnFormular.Name,
              Passwort:this.rulesForm.password
            }).dann((Daten)=>{
                console.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!!');
          gibt false zurück;
        }
      })
    }
  }
}
</Skript>
<style lang="stylus">
.login-Abschnitt
  Polsterung 0px 20px
</Stil>

anmelden.vue

<Vorlage>
  <div Klasse="Anmeldeabschnitt">
    <el-form label-position="oben" label-width="100px" class="demo-ruleForm" :rules="Regeln" :model="rulesForm" status-icon ref='ruleForm'>
      <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 {
      RegelnForm:{
        Name:'',
        Passwort:''
      },
      Regeln:
        Name:[
            {erforderlich: wahr, Nachricht: 'Der Name ist nicht geschrieben', Auslöser: 'Unschärfe'},
            {min:1,max:5,message:'Länge liegt zwischen 3 und 5 Zeichen'}
        ],
         Passwort:[
            {erforderlich: wahr, Nachricht: 'Der Name ist nicht geschrieben', Auslöser: 'Unschärfe'},
            {min:3,max:5,message:'Länge liegt zwischen 3 und 5 Zeichen'}
        ]
      }
    };
  },
  Methoden: {
    Formular absenden(Formularname){
      dies.$refs[formName].validate((valid)=>{
        if(valid){//Wenn die Prüfung erfolgreich ist, sende den Benutzernamen und das Passwort an den Backend-Login({
              Name:dieses.RegelnFormular.Name,
              Passwort:this.rulesForm.password
            }).dann((Daten)=>{
                console.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!!');
          gibt false zurück;
        }
      })
    }
  }
}
</Skript>
<style lang="stylus">
.login-Abschnitt
  Polsterung 0px 20px
</Stil>

Weiterleitung: index.js

Vue von „vue“ importieren
Router von „vue-router“ importieren
Vue.use(Router)
Store aus '@/store' importieren
importiere {userInfo} aus '@/service/api.js'
Home aus '@/views/home/Home.vue' importieren
Login aus '@/views/user-login/index.vue' importieren
const router = neuer Router({
    Modus: „Verlauf“,
    Routen:[
        {
            Weg:'/',
            Name:"Home",
            Titel:"Home",
            Komponente:Home
        },
        {
            Pfad: '/login',
            Name:"Anmelden",
            Titel:"Anmeldeseite",
            Komponente:Anmelden,
            Meta:{
                Anmeldung:wahr
            }
        }
    ]
});
router.beforeEach( async (zu, von, weiter) => {
    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 ist erforderlichif(isLogin){//Bereits angemeldet, direkt weitergeben if(data.error === 400){//Das Backend teilt Ihnen mit, dass die Anmeldung fehlgeschlagen istnext({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;

Zusammenfassen

Das ist alles zum heutigen Inhalt. Er ist nicht sehr gut, da er noch einige Mängel aufweist. Wir werden ihn später weiter verbessern!

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
  • VUE realisiert Registrierungs- und Login-Effekte

<<:  Drei Möglichkeiten zur Kommunikation zwischen Docker-Containern

>>:  Detaillierte Erläuterung der Idee, mysqldump + expect + crontab zur Implementierung eines regelmäßigen MySQL-Cold-Backups unter Linux zu verwenden

Artikel empfehlen

So stellen Sie Ihre erste Anwendung mit Docker bereit

Im vorherigen Artikel haben Sie Docker Desktop in...

JavaScript-Modularität erklärt

Inhaltsverzeichnis Vorwort: 1. Konzept 2. Die Vor...

Praktische Methode zum Löschen von Dateien über die Linux-Befehlszeile

rm-Befehl Der Befehl rm wird von den meisten Benu...

JavaScript zum Erzielen eines Skin-Effekts (Ändern des Hintergrunds)

In diesem Artikel wird der spezifische JavaScript...

Serielle und parallele Operationen in JavaScript

Inhaltsverzeichnis 1. Einleitung 2. es5-Methode 3...

Beispiel zur Erläuterung der Größe einer MySQL-Statistiktabelle

Das Zählen der Größe jeder Tabelle in jeder Daten...

Zusammenfassung verschiedener Übermittlungsmethoden für HTML-Formulare

Die gebräuchlichste, am häufigsten verwendete und ...

So installieren Sie Windows Server 2008 R2 auf einem Dell R720-Server

Hinweis: Alle Bilder in diesem Artikel stammen au...

Zusammenfassung neuer Anwendungsbeispiele für Calculated in Vue3

Die Verwendung von „Computed“ in vue3. Da vue3 mi...

JavaScript zur Implementierung der mobilen Signaturfunktion

In diesem Artikel wird der spezifische JavaScript...

Protokoll des Kompilierungs- und Installationsprozesses des Nginx-Quellcodes

Die Installation des RPM-Pakets ist relativ einfa...

Detaillierte Erläuterung der Methode zum Vergleichen von Daten in MySQL

Wenn es eine Tabelle mit einem Feld „add_time“ gi...

Tutorial zur Verwendung des iostat-Befehls unter Linux

Vorwort Es wird gesagt, dass sich die für Betrieb...