Als ich kürzlich an einem System zur Gesundheitserklärung für Konferenzen arbeitete, musste ich ein Backend erstellen und verwendete die Vorlage vue-element-admin. Ich verwendete PanJianChen (Quellcodeadresse: https://github.com/PanJiaChen/vue-admin-template) Der erste Schritt: Laden Sie den Quellcode herunter, Download-Adresse: https://github.com/PanJiaChen/vue-admin-template Schritt 2: Ändern Sie die Anmeldeseite, die Anmeldeoberfläche (/store/modules/admin.js/login()) und die Benutzerinformationsoberfläche (/store/modules/admin.js/getInfo()) entsprechend der tatsächlichen Situation Schritt 3: Ändern der Berechtigungsweiterleitung 1. Löschen Sie die Konfiguration in der Routing-Datei, exportieren Sie const constantRoutes, um die grundlegenden /login, /404 beizubehalten 2. Dynamisches Routing wird gelöscht, export const asyncRoutes=[] 3. Definieren Sie die generierte Routing-Methode in /store/modules/permission.js /** * Die im Hintergrund abgefragten Menüdaten werden zu Daten im Routingformat zusammengesetzt* @param routes */ Exportfunktion generaMenu(Routen, Daten) { Daten.fürJeden(Element => { let Menü = { Pfad: item.url, Kinder: [], Name: 'menu_' + item.id, Meta: {Titel: Artikelname, ID: Artikel-ID, Symbol: Artikelsymbol} } // Konsole.log(item.url.indexOf('dashboard')) // konsole.log(Element.Kinder) wenn (Element.Kinder) { // Konsole.log(Element.Kinder.Länge) wenn (Element.Kinder.Länge > 0) { menu.redirect = item.kinder[0].url Menükomponente = Layout } anders { // Menü.Komponente = () => import(`@/views${item.url}/index`) Menü.Komponente = () => Promise.resolve(erfordert(`@/views${item.url}`).Standard) } wenn (item.url && item.url.indexOf('dashboard') != -1) { Menü = { Weg: '/', Komponente: Layout, Umleitung: '/dashboard', Kinder: [{ Pfad: 'Dashboard', Name: 'Dashboard', Komponente: () => import('@/views/dashboard/index'), Meta: {Titel: „Dashboard“, Symbol: „Dashboard“} }] } } generaMenu(Menü.Kinder, Element.Kinder) } anders { console.log('keine untergeordneten Elemente') } Routen.push(Menü) }) } Laden Sie dynamisches Routing in Aktionen entsprechend der Hintergrundschnittstelle Aktionen: { Routes generieren({ commit }, data) { gib ein neues Versprechen zurück (Auflösen => { const loadMenuData = [] getAuthMenu().then(res => { let data = res.data console.log('Menü=>', Daten) console.log('asyncRoutes=>>', asyncRoutes) let newRoutes = [] //Hier die vorherigen Routen löschenObject.assign(loadMenuData, data) generaMenu(neueRouten, loadMenuData) newRoutes.push({ Pfad: '*', Umleitung: '/404', versteckt: true }) let accessedRouters = newRoutes || [] console.log('ZugegriffeneRouter', ZugegriffeneRouter) commit('SET_ROUTERS', aufgerufene Router) lösen() }) }) }, Reset_Router ({ Commit }) { gib ein neues Versprechen zurück (Auflösen => { commit('ROUTERS ZURÜCKSETZEN') lösen() }) } } Schritt 4. Dynamisches Routing in /permission.js hinzufügen router.beforeEach(async (zu, von, weiter) => { // Fortschrittsbalken starten NProgress.start() // Seitentitel festlegen Dokumenttitel = getPageTitle(zu.meta.title) // Feststellen, ob der Benutzer sich angemeldet hat const hasToken = getToken() wenn (hatToken) { wenn (zu.Pfad === '/login') { // wenn angemeldet, Weiterleitung zur Startseite weiter({ Pfad: '/' }) NProgress.done() } anders { const hasGetUserInfo = store.getters.name wenn (hasGetUserInfo) { nächste() } anders { versuchen { // Benutzerinformationen abrufen warte auf store.dispatch('admin/getInfo') store.dispatch('GenerateRoutes', {}).then(() => { // Eine zugängliche Routing-Tabelle generieren router.addRoutes(store.getters.addRouters) // Eine zugängliche Routing-Tabelle dynamisch hinzufügen console.log('to=',store.getters.addRouters) next({ ...to, replace: true }) // Hack-Methode, um sicherzustellen, dass addRoutes abgeschlossen ist. Setzen Sie replace: true, damit die Navigation keinen Verlaufsdatensatz hinterlässt. NProgress.done() }) // nächste() } Fehler abfangen { // Token entfernen und zur Anmeldeseite gehen, um sich erneut anzumelden warte auf store.dispatch('admin/resetToken') Message.error(Fehler || 'Hat einen Fehler') weiter(`/login?redirect=${to.path}`) NProgress.done() } } } } anders { /* hat kein Token*/ wenn (whiteList.indexOf(to.path) !== -1) { // in der Whitelist für kostenlose Anmeldungen direkt nächste() } anders { // Andere Seiten ohne Zugriffsberechtigung werden auf die Anmeldeseite umgeleitet. weiter(`/login?redirect=${to.path}`) NProgress.done() } } }) Dann können Sie spielen, wie Sie möchten. Dies ist das Ende dieses Artikels über die Implementierungsschritte von vue-element-admin zum Erstellen eines Backend-Verwaltungssystems. Weitere relevante Informationen zu vue-element-admin zum Erstellen eines Backend-Verwaltungssystems finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Lösen Sie das Problem, dass bei der Set-Operation kein NULL gefunden wird, nicht wie bei MySQL
In diesem Artikel wird der spezifische Code für J...
Insekten Wie in der Abbildung gezeigt, begann ich...
Baidu Cloud-Festplatte: Link: https://pan.baidu.c...
1. Einleitung Wenn die Datenmenge in der Datenban...
Das Verwendungsformat des mysqladmin-Tools ist: m...
1. Geben Sie die Konfigurationsdatei der Yum-Quel...
In diesem Artikel erfahren Sie, wie Sie Nginx so ...
Vorwort Bash verfügt über viele wichtige integrie...
Inhaltsverzeichnis 1. Ursprüngliche Definition 2....
Inhaltsverzeichnis Knoten-Ereignisschleife Ereign...
In diesem Artikel wird der Beispielcode für den C...
Während der Konfiguration des Jenkins+Tomcat-Serv...
In diesem Artikelbeispiel wird der spezifische JS...
Wir alle wissen, dass Jmeter eine native Ergebnis...
In diesem Artikel wird der spezifische Code von V...