diff --git a/src/router/index.js b/src/router/index.js index dd1e369..27de5ed 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -61,20 +61,32 @@ router.beforeEach(async (to, from, next) => { } //加载动态/静态路由 if (!isGetRouter) { - let permissions = tool.data.get("PERMISSIONS") || [];//账号页面权限 - let userMenu = userRoutes;//静态路由 - userMenu = treeFilter(userRoutes, node => { - return node.meta.perms ? node.meta.perms.filter(item => permissions.indexOf(item) > -1).length > 0 : true - }); - var menuRouter = filterAsyncRouter(userMenu); - menuRouter = flatAsyncRoutes(menuRouter); - menuRouter.forEach(item => { - router.addRoute("layout", item) - }); - if (to.matched.length == 0) { - router.push(to.fullPath); + let userMenu = []; + if(tool.data.get('BASE_INFO').base.base_menucate=='dynamic'){ + userMenu = tool.data.get("MENU") || []; + }else{ + let permissions = tool.data.get("PERMISSIONS") || [];//账号页面权限 + // console.log("permissions",permissions); + userMenu = userRoutes;//静态路由 + userMenu = treeFilter(userRoutes, node => { + return node.meta.perms ? node.meta.perms.filter(item => permissions.indexOf(item) > -1).length > 0 : true + }); } - isGetRouter = true; + try { + var menuRouter = filterAsyncRouter(userMenu); + menuRouter = flatAsyncRoutes(menuRouter); + menuRouter.forEach(item => { + router.addRoute("layout", item) + }); + routes_404_r = router.addRoute(routes_404); + if (to.matched.length == 0) { + router.push(to.fullPath); + } + isGetRouter = true; + }catch (e) { + + } + } beforeEach(to, from) next(); @@ -95,14 +107,17 @@ router.onError((error) => { //入侵追加自定义方法、对象 router.sc_getMenu = () => { - // var apiMenu = tool.data.get("MENU") || [] - let permissions = tool.data.get("PERMISSIONS") || []; - let userMenu = userRoutes; - userMenu = treeFilter(userRoutes, node => { - return node.meta.perms ? node.meta.perms.filter(item => permissions.indexOf(item) > -1).length > 0 : true - }); - let menus = checkRoute(userMenu, permissions) - return menus + if(tool.data.get('BASE_INFO').base.base_menucate=='dynamic'){ + return tool.data.get("MENU") || [] + } + else{ + let permissions = tool.data.get("PERMISSIONS") || []; + let userMenu = treeFilter(userRoutes, node => { + return node.meta.perms ? node.meta.perms.filter(item => permissions.indexOf(item) > -1).length > 0 : true + }); + userMenu = checkRoute(userMenu, permissions) + return userMenu + } } //转换 @@ -118,8 +133,8 @@ function filterAsyncRouter(routerMap) { //MAP转路由对象 var route = { path: item.path, - name: item.name, - meta: item.meta, + name: item.name?item.name:'', + meta: item.meta?item.meta:{}, redirect: item.redirect, children: item.children ? filterAsyncRouter(item.children) : null, component: loadComponent(item.component) diff --git a/src/views/login/components/passwordForm.vue b/src/views/login/components/passwordForm.vue index 25aefb3..48c06ba 100644 --- a/src/views/login/components/passwordForm.vue +++ b/src/views/login/components/passwordForm.vue @@ -118,9 +118,20 @@ export default { if (base_dashboard == null || base_dashboard == undefined || base_dashboard == '') { base_dashboard = '/dashboard' } - this.$router.replace({ - path: base_dashboard, - }); + if(this.$TOOL.data.get('BASE_INFO').base.base_menucate=='dynamic'){ + try{ + var res = await that.$API.system.user.routers.req({}) + this.$TOOL.data.set("MENU",res) + console.log(res) + } catch (err) { + } + } + + that.$router.replace({ + path: base_dashboard, + }); + + } catch (err) { that.islogin = false; }