vue + tp5 realisiert eine einfache Anmeldefunktion

vue + tp5 realisiert eine einfache Anmeldefunktion

In diesem Artikelbeispiel wird der spezifische Code von vue+tp5 zur Implementierung einer einfachen Anmeldefunktion zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Vorbereitung: Installieren Sie vue-cli, element-ui, wie in package.json gezeigt, folgen Sie einfach der Installation

1. Erstellen Sie eine Ansichtsseite im src-Verzeichnis

2. Schreiben Sie in /src/router/index.js:

Vue von „vue“ importieren
Router von „vue-router“ importieren
importiere HelloWorld aus '@/components/HelloWorld'
Login aus „@/views/login/index.vue“ importieren
 
Vue.use(Router)
 
exportiere standardmäßig einen neuen Router({
  Routen: [
    {
      Weg: '/',
      Name: "Hallo Welt",
      Komponente: HelloWorld
    }, {
      Pfad: '/login',
      Komponente: Login
    }
  ]
})

3. Stellen Sie app.vue wie folgt wieder her:

4. Beginnen Sie mit dem Schreiben des Codes in /src/views/login/index.vue (suchen Sie eine Anmeldevorlage):

<Vorlage>
    <div id="app-1">
        <div Klasse="Inhalt">
            <div Klasse="Inhaltseingabe">
                <div Klasse="Titel">
                    <p>Administrator-Anmeldung</p>
                </div>
                <el-input v-model="Benutzername" clearable placeholder="Benutzername"></el-input>
                <el-input v-model="Passwort" clearable show-password placeholder="Passwort"></el-input>
                <div Klasse="Inhaltsschaltfläche">
                    <el-button type="primary" @click="SignIn">Anmelden</el-button>
                </div>
            </div>
        </div>
    </div>
</Vorlage>
 
<Skript>
importiere '@/assets/css/style.css'
const axios = erfordern('axios')
Standard exportieren {
  Name: 'Login',
  Daten () {
    zurückkehren {
      Benutzername: '',
      Passwort: ''
    }
  },
  Methoden: {
    Anmelden () {
      lass das = dies
      let username = that.Benutzername
      let password = das.Passwort
      if (!Benutzername) {
        dies.$notify.error({
          Titel: 'Fehler',
          Meldung: „Benutzername darf nicht leer sein“
        });
        return false
      } sonst wenn (!Passwort) {
        dies.$notify.error({
          Titel: 'Fehler',
          Meldung: „Das Passwort darf nicht leer sein“
        })
        return false
      } anders {
        // Übergeben Sie die Informationen zur Verarbeitung an das Backend axios.post('/api/login/doLogin', {
          Name: Benutzername,
          psw: Passwort
        })
          .then(Funktion (Antwort) {
            console.log(Antwort)
          })
          .catch(Funktion (Fehler) {
            console.log(Fehler)
          })
      }
    }
  }
}
</Skript>

5. Legen Sie die Proxytabelle in config/index.js fest und verwenden Sie Axios für domänenübergreifende Anfragen

Proxy-Tabelle: {
        '/api/*': { // API ist eine Proxy-Schnittstelle target: 'http://localhost:8085/index.php/index', // Hier leite ich den lokalen Dienst changeOrigin weiter: true,
            PfadNeu schreiben: {
              // Hiermit wird ein Link angehängt. Wenn die Schnittstelle beispielsweise wirklich /api enthält, ist diese Konfiguration erforderlich.
              '^/api': '/', // und die folgenden beiden Schreibweisen variieren je nach den Anforderungen der einzelnen Benutzer.
              // Entspricht /api + /api == http://localhost:54321/api
              // Wenn als '^/api' geschrieben: '/'
              // Entspricht /api + / == http://localhost:54321/
              // /api hier == http://localhost:54321
            }
        }
    },

6. /src/main.js

// Die Vue-Build-Version, die mit dem Befehl „import“ geladen werden soll
// (nur Laufzeit oder Standalone) wurde in webpack.base.conf mit einem Alias ​​festgelegt.
Vue von „vue“ importieren
App aus „./App“ importieren
Router von „vue-router“ importieren
Router aus „./router“ importieren
Axios von „Axios“ importieren
importiere ElementUI von „element-ui“
importiere 'element-ui/lib/theme-chalk/index.css'
importiere 'font-awesome/css/font-awesome.min.css'
 
Vue.use(ElementUI)
Vue.use(Router)
 
Vue.config.productionTip = falsch
Vue.prototype.$axios = axios
 
/* eslint-deaktivieren Sie no-new */
neuer Vue({
  el: '#app',
  Router,
  Komponenten: { App },
  Vorlage: '<App/>'
})

7.In index/controller/Login.php im tp5-Backend:

<?php
/**
 * Erstellt von PhpStorm.
 * Benutzer: mx1
 * Datum: 09.11.2021
 * Uhrzeit: 15:21
 */
 
Namespace App\Index\Controller;
 
 
verwenden Sie think\Controller;
 
Klasse „Login“ erweitert Controller
{
    öffentliche Funktion doLogin(){
        $name=Eingabe('Beitrag.name');
        $psw=input('post.psw');
        gibt json zurück([$name,$psw]);
    }
 
}

Hinweis: Wenn die von Ihnen festgelegte Proxytabelle nicht funktioniert, überprüfen Sie, ob die Schnittstelle korrekt ist, suchen Sie dann das Projektverzeichnis in cmd und führen Sie Folgendes aus: npm run dev

Wirkung:

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 implementiert die Methode zum Springen zur Anmeldeseite, wenn Sie nicht angemeldet sind
  • Beispielcode für die Anmeldung und Registrierung bei Vue Learning Road
  • Vue WeChat-Autorisierungs-Login-Lösung
  • Trennung von Front-End und Back-End von Vue + Springboot zur Realisierung einer domänenübergreifenden Single-Sign-On-Problemlösung
  • Vue implementiert Seitensprung zur vorherigen Seite nach dem Login
  • Ein Beispiel für die Verwendung von Vue.js und Element-UI zum Erstellen einer einfachen Anmeldeseite
  • Implementierung der Beurteilung, ob der Benutzer beim Vue-Routing-Sprung angemeldet ist
  • Vue implementiert die Bestätigungscodefunktion der Anmeldeschnittstelle
  • Vue implementiert den Bestätigungscode der Anmeldeseite und die Analyse des Bestätigungsprozesses (für Anfänger).
  • Vue.js implementiert Funktionen für Benutzerkommentare, Anmeldungen, Registrierungen und Informationsänderungen

<<:  In WMP eingebettetes HTML, kompatibel mit Chrome und IE, detaillierte Einführung

>>:  9 Möglichkeiten zum Ein- und Ausblenden von CSS-Elementen

Artikel empfehlen

Beispiele für die Verwendung von DD DT DL-Tags

Normalerweise verwenden wir die Tags <ul><...

Allgemeiner HTML-Seitenstil (empfohlen)

Wie unten dargestellt: XML/HTML-CodeInhalt in die...

Detaillierte Erklärung des Grid-Layouts und des Flex-Layouts der Anzeige in CSS3

Das Gitterlayout weist einige Ähnlichkeiten mit d...

Zusammenfassung zur Verwendung der Bootstrap-Tabelle

In diesem Artikel erfahren Sie, wie Sie die Boots...

Anweisungen zur Verwendung von JSON-Operationsfunktionen in Mysql5.7

Vorwort JSON ist ein leichtes Datenaustauschforma...

Das WeChat-Applet verwendet Canvas zum Zeichnen von Uhren

In diesem Artikel wird der spezifische Code zur V...

jQuery implementiert einen einfachen Popup-Fenstereffekt

In diesem Artikel wird der spezifische Code von j...

Analyse und Lösung des a.getAttribute(href,2)-Problems in IE6/7

Kurzbeschreibung <br />In IE6 und 7 wird in...

Der Unterschied und die Verwendung von Datum/Uhrzeit und Zeitstempel in MySQL

1. Wie wird die aktuelle Uhrzeit in MySQL dargest...