From d8b570430066fae42d6884671cef541fc820de1c Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 15 十一月 2024 14:42:44 +0800 Subject: [PATCH] 动态路由 --- src/store/modules/permission.js | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 958fe63..e21ed5e 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -16,7 +16,8 @@ addRoutes: [], defaultRoutes: [], topbarRouters: [], - sidebarRouters: [] + sidebarRouters: [], + indexPage: '' }), actions: { setRoutes(routes) { @@ -32,6 +33,9 @@ setSidebarRouters(routes) { this.sidebarRouters = routes }, + setIndexPages(routes) { + this.indexPage = routes + }, generateRoutes(roles) { return new Promise(resolve => { // 向后端请求路由数据 @@ -39,15 +43,24 @@ const sdata = JSON.parse(JSON.stringify(res.data)) const rdata = JSON.parse(JSON.stringify(res.data)) const defaultData = JSON.parse(JSON.stringify(res.data)) + let firstPage = '' + //通过权限返回菜单去避免 如有首页权限 出现//index 情况 + if (res.data[0].path == '/') { + firstPage = res.data[0].path + res.data[0].children[0].path + } else{ + firstPage = res.data[0].path + '/' + res.data[0].children[0].path + } const sidebarRoutes = filterAsyncRouter(sdata) const rewriteRoutes = filterAsyncRouter(rdata, false, true) const defaultRoutes = filterAsyncRouter(defaultData) const asyncRoutes = filterDynamicRoutes(dynamicRoutes) asyncRoutes.forEach(route => { router.addRoute(route) }) - this.setRoutes(rewriteRoutes) + // this.setRoutes(rewriteRoutes) this.setSidebarRouters(constantRoutes.concat(sidebarRoutes)) + // this.setSidebarRouters(sidebarRoutes) this.setDefaultRoutes(sidebarRoutes) this.setTopbarRoutes(defaultRoutes) + this.setIndexPages(firstPage) resolve(rewriteRoutes) }) }) -- Gitblit v1.9.2