Befolgen Sie die nachstehenden Schritte 1. Inhalt 2. 3. 4. Datei Vuex Warehouse-Konfiguration
5. Schnittstellenkapselung Inhaltsverzeichnis request.js-Inhalt Konfiguration // HTTP-Anforderungs-Interceptor, wenn ein Token-Wert vorhanden ist, konfigurieren Sie den Token-Wert. Importieren Sie Axios von „Axios“. Promise von 'promise' importieren importiere util aus „./utils“; Store aus „./../store/index“ importieren; const service = axios.create({ Timeout: 60000, // Anforderungs-Timeout-Header: { // Autorisierung: Autorisierung, „Inhaltstyp“: „Anwendung/json;Zeichensatz=UTF-8“ } }); // HTTP-Anforderungs-Interceptor service.interceptors.request.use( Konfiguration => { Verwenden Sie stattdessen tokenExist. wenn (TokenExist) { // bus.$emit('toggleloading', true) //Anzeige wird geladen //Wenn das Token vorhanden ist, config.headers['Authorization'] = `Bearer ${util.getToken()}`; } // Toast.laden({ // Nachricht: „Wird geladen …“, // Dauer: 0, // forbidClick: true // }); Konfiguration zurückgeben; }, Fehler => { Versprechen.Ablehnen(Fehler); } ) // HTTP-Antwortserver-Antwort-Interceptor, //Fangen Sie hier 401-Fehler ab und springen Sie zurück zur Anmeldeseite, um das Token erneut abzurufen. Dienst.Interceptors.Antwort.Verwendung( Antwort => { wenn (Antwort.Status === 200) { //Kommunikation erfolgreich// Toast.clear(); /**************** * response.data.status === 0 Fehler* response.data.status === 100 Erfolg* response.data.status === 401 Token abgelaufen* * *************/ // bus.$emit('toggleloading', false) // Laden ausblenden wenn (Antwort.Daten.Status === 401) { //Wenn das Token abgelaufen ist, springe zum Login. Message.error("Login ist abgelaufen, bitte erneut anmelden!"); store.commit('SET_TOKEN', ''); util.goLogin(); } sonst wenn (Antwort.Daten.Zustand === 0) { // Nachricht.Fehler(Antwort.Daten.Nachricht); Antwortdaten zurückgeben; } anders { Antwortdaten zurückgeben; } } }, Fehler => { //Anfrage fehlgeschlagen//; const Antwort = Fehler.Antwort; wenn (Antwort.Status === 401) { // Toast.fail(Antwort.Daten.Nachricht); Message.error("Login ist abgelaufen, bitte erneut anmelden!"); util.goLogin(); } sonst wenn (Antwort.status === 403) { $router.push({ Name: '403' }); } anders { // Toast.fail(response.data.message ? response.data.message : 'Systemfehler, bitte kontaktieren Sie den Administrator'); // Nachricht.Fehler({ //Meldung: „Kein Dienst, bitte kontaktieren Sie den Administrator“ // }); } returniere Promise.reject(Fehler); } ); Standarddienst exportieren; http.js-Inhalt Datenanforderungsmethode Anfrage aus „./request“ importieren; // Store aus „./../store/index“ importieren; const http = { Anfrage(Konfiguration) { Anfrage(Konfiguration); }, post(URL, Daten) { // wenn (Dateninstanz des Objekts) { // }anders{ // Daten = { // ...Daten // }; // } Rückgabeanforderung({ URL (URL = URL = URL), Methode: 'post', Daten }); }, postFile(url, daten, inhaltstyp) { Rückgabeanforderung({ URL (URL = URL = URL), Methode: 'post', Daten, Inhaltstyp }); }, get(url, params) { Rückgabeanforderung({ URL (URL = URL = URL), Methode: 'get', Parameter }); }, setze(URL, Daten) { Rückgabeanforderung({ URL (URL = URL ... Methode: 'put', Daten }); }, löschen(URL) { Rückgabeanforderung({ URL (URL = URL = URL), Methode: 'löschen' }); }, herunterladen(URL, Parameter) { Rückgabeanforderung({ URL (URL = URL = URL), Methode: 'get', Parameter, Antworttyp: „Blob“ }); }, downloadPost(url, daten) { Rückgabeanforderung({ URL (URL = URL = URL), Methode: 'post', Daten, Antworttyp: „Blob“ }); } }; Standard-HTTP exportieren; utils.js-Inhalt Holen Sie sich das Token und bestimmen Sie, ob das Token vorhanden ist Store aus „../store/index“ importieren; lass util = { //Token abrufen getToken() { gibt store.getters.token zurück; }, //Beurteilen, ob das Token existiert tokenExist() { lass Flagge; sei Token = store.getters.token; wenn (Token && Token !== '') { Flagge = wahr; } anders { Flagge = falsch; } Token zurückgeben; }, } Standard-Dienstprogramm exportieren Vuex Warehouse-Konfiguration
index.js-Inhalt Vue von „vue“ importieren Vuex von „vuex“ importieren importiere VuexPersistence von „vuex-persist“; importiere db aus './db' Vue.Verwenden(Vuex) //Vuex-Statuspersistenz const vuexLocal = new VuexPersistence({ Speicher:window.localStorage }) const store = neuer Vuex.Store({ Zustand:{}, Mutationen:{}, Aktionen:{}, Module: { db }, Plugins: [vuexLocal.plugin] }) Standardspeicher exportieren db.js-Inhalt Konstante db = { Zustand: { Token: '', }, Getter: { token:status => status.token }, Mutationen: //Token speichern setToken: (Status, Wert) => { Status.Token = Wert } }, Aktionen: {} } Standard-DB exportieren Schnittstellenkapselung importiere http von "../common/http" /***********Anmelden und registrieren*************/ //Schnittstellenfunktion testen text(params){ gibt http.get("api/Test/GetList", Parameter) zurück } //Anmelden Funktion Login(params) { gibt http.post("api/Login/Login", Parameter) zurück } // Hol dir den grafischen Verifizierungscode function GetValidateCode(params) { gibt http.post zurück("api/Login/GetValidateCode", Parameter) } // Holen Sie sich den Telefonbestätigungscode. Hinweis: Sie müssen die Mensch-Maschine-Verifizierung im Voraus überprüfen, sonst besteht die Gefahr, dass Sie böswillig per SMS gestohlen werden. Funktion GetPhoneCode (Params) { gibt http.post("api/Login/GetPhoneCode", Parameter) zurück } //Informationen zur Registrierungsüberprüfung Funktion RegisterUserVerify(params) { return http.post("api/Login/RegisterUserVerify", Parameter) } // Registrieren, Passwort festlegen und Benutzerinformationen registrieren Funktion RegisterUserInfo(params) { gibt http.post("api/Login/RegisterUserInfo", Parameter) zurück } // Kennwort vergessen - Bestätigungsname und Telefonnummer - Funktion ResetPasswordVerify(params) { return http.post("api/Login/ResetPasswordVerify", Parameter) } // Passwort vergessen Passwort-Update-Funktion ResetPassWord(params) { gibt http.post zurück("api/Login/ResetPassWord", Parameter) } exportieren { Login, Text, GetPhoneCode, RegisterUserVerify, GetValidateCode, Passwort zurücksetzenVerify, Passwort zurücksetzen, RegisterUserInfo } ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: Sieben verschiedene Farbschemata für das Website-Design-Erlebnis
>>: Zusammenfassung der MySQL-Verbundindizes
Nachdem Vmvare die Festplattengröße der virtuelle...
Als ich kürzlich in einem Projekt eine Auswahlabf...
Inhaltsverzeichnis brauchen Problemumgehung 1. To...
Heutzutage ist es für Websites Standard, SSL zu a...
Inhaltsverzeichnis 1. Einleitung 2. Installation ...
So verwenden Sie CSS-Variablen in JS Verwenden Si...
Vorne geschrieben Es gibt zwei Möglichkeiten, MyS...
Vorwort Bootstrap, das beliebteste Front-End-Entw...
1. Installation und Konfiguration von Apache 2.4....
Tar-Backup-System sudo tar cvpzf backup.tgz --exc...
Einführung Wenn ich zurückblicke, sagte der Lehre...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Nach der Installation von MySQL und Navic...
MySQL ist ein relationales Datenbankverwaltungssy...
Bei kommerziellen Datenbanken hat die Datenbankak...