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
Blanks Blog: http://www.planabc.net/ Die Verwendu...
Sich gut zu ernähren und ausreichend zu schlafen,...
Der vollständige Name von NC lautet Netcat (Netwo...
Inhaltsverzeichnis Vorwort Einführung in SessionS...
Verwenden Sie den folgenden Befehl, um zu überprü...
Hintergrund Heute habe ich CodePen durchsucht und...
Inhaltsverzeichnis Gängige Komprimierungsformate:...
1. Übersicht über TCP-Wrapper TCP Wrapper „verpac...
Aktivieren Sie den Remotezugriff auf MySQL MySQL-...
Definition Calcite kann SQL vereinheitlichen, ind...
Manchmal benötigen unsere Seiten Eingabeaufforder...
Folgende Funktionen sind implementiert: 1. Benutz...
1. Hintergrund Die Projekte des Unternehmens wurd...
Ähnliche Strukturen: Code kopieren Der Code laute...
Nach der erfolgreichen Installation von CentOS 7 ...