diff --git a/src/permission.js b/src/permission.js index 7125eeaa..339490e6 100644 --- a/src/permission.js +++ b/src/permission.js @@ -25,9 +25,9 @@ router.beforeEach((to, from, next) => { // 获取字典数据 add by 芋艿 store.dispatch('dict/loadDictDatas') // 判断当前用户是否已拉取完 user_info 信息 - store.dispatch('GetInfo').then(() => { + store.dispatch('GetInfo').then(userInfo => { isRelogin.show = false - store.dispatch('GenerateRoutes').then(accessRoutes => { + store.dispatch('GenerateRoutes', userInfo.menus).then(accessRoutes => { // 根据 roles 权限生成可访问的路由表 router.addRoutes(accessRoutes) // 动态添加可访问路由表 next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 2da339e2..ed610955 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -1,5 +1,4 @@ import {constantRoutes} from '@/router' -import {getRouters} from '@/api/menu' import Layout from '@/layout/index' import ParentView from '@/components/ParentView'; import {toCamelCase} from "@/utils"; @@ -27,22 +26,25 @@ const permission = { }, }, actions: { - // 生成路由 - GenerateRoutes({commit}) { + /** + * 生成路由 + * + * @param commit commit 函数 + * @param menus 路由参数 + */ + GenerateRoutes({commit}, menus) { return new Promise(resolve => { - // 向后端请求路由数据(菜单) - getRouters().then(res => { - const sdata = JSON.parse(JSON.stringify(res.data)) // 【重要】用于菜单中的数据 - const rdata = JSON.parse(JSON.stringify(res.data)) // 用于最后添加到 Router 中的数据 - const sidebarRoutes = filterAsyncRouter(sdata) - const rewriteRoutes = filterAsyncRouter(rdata, false, true) - rewriteRoutes.push({path: '*', redirect: '/404', hidden: true}) - commit('SET_ROUTES', rewriteRoutes) - commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes)) - commit('SET_DEFAULT_ROUTES', sidebarRoutes) - commit('SET_TOPBAR_ROUTES', sidebarRoutes) - resolve(rewriteRoutes) - }) + // 将 menus 菜单,转换为 route 路由数组 + const sdata = JSON.parse(JSON.stringify(menus)) // 【重要】用于菜单中的数据 + const rdata = JSON.parse(JSON.stringify(menus)) // 用于最后添加到 Router 中的数据 + const sidebarRoutes = filterAsyncRouter(sdata) + const rewriteRoutes = filterAsyncRouter(rdata, false, true) + rewriteRoutes.push({path: '*', redirect: '/404', hidden: true}) + commit('SET_ROUTES', rewriteRoutes) + commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes)) + commit('SET_DEFAULT_ROUTES', sidebarRoutes) + commit('SET_TOPBAR_ROUTES', sidebarRoutes) + resolve(rewriteRoutes) }) } } diff --git a/src/views/login.vue b/src/views/login.vue index 051df9a2..c412f3c1 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -44,7 +44,7 @@ border-radius: 100%; background: #26b9de; "> - 智能监控分析系统 + 上上电缆