From a382159b551442a8f420a71de5c812551693fdd6 Mon Sep 17 00:00:00 2001 From: "wuyb@phxg.cn" Date: Fri, 13 May 2022 17:57:19 +0800 Subject: [PATCH] element --- vite-demo/src/permission.js | 22 +++-- vite-demo/src/router/authRouter.js | 1 + vite-demo/src/router/baseRouter.js | 2 +- vite-demo/src/store/modules/permission.js | 1 + vite-demo/src/views/layout/index.vue | 6 +- vite-demo/src/views/layout/sidebar/index.vue | 55 +++++-------- vite-demo/src/views/layout/sidebar/menu.vue | 87 ++++++++++++++++++++ 7 files changed, 128 insertions(+), 46 deletions(-) create mode 100644 vite-demo/src/views/layout/sidebar/menu.vue diff --git a/vite-demo/src/permission.js b/vite-demo/src/permission.js index b6ee611..95fa7f7 100644 --- a/vite-demo/src/permission.js +++ b/vite-demo/src/permission.js @@ -3,10 +3,11 @@ import store from "./store"; import {getToken} from '@/utils/auth' import {message} from 'ant-design-vue' import {accessControl} from './config' + const whiteList = ['/login'] router.beforeEach(async (to, from, next) => { - console.log('11111111111111111111',to, from); + console.log('11111111111111111111', to, from); const hasToken = getToken() if (hasToken) { if (to.path === 'login') { @@ -15,11 +16,16 @@ router.beforeEach(async (to, from, next) => { const hasRoles = store.getters.roles && store.getters.roles.length > 0 if (hasRoles) { console.log('哟权限'); - try { - next() - }catch (e) { - console.log('ddddds',e); - } + try { + // if (to.matched.length === 0) { //如果未匹配到路由 + // from.name ? next({name: from.name}) : next('/'); //如果上级也未匹配到路由则跳转登录页面,如果上级能匹配到则转上级路由 + // } else { + // next(); //如果匹配到正确跳转 + // } + next(); //如果匹配到正确跳转 + } catch (e) { + console.log('ddddds', e); + } } else { try { // 获取用信息 @@ -27,9 +33,9 @@ router.beforeEach(async (to, from, next) => { console.log('getUserInfo', roles); // 获取用户权限路由 let accessRoutes = [] - if(accessControl.source==='front'){ + if (accessControl.source === 'front') { accessRoutes = await store.dispatch('getFrontRoutes', roles) - }else { + } else { accessRoutes = await store.dispatch('getBackRouter', hasToken) } diff --git a/vite-demo/src/router/authRouter.js b/vite-demo/src/router/authRouter.js index 5ac67f8..f3d474f 100644 --- a/vite-demo/src/router/authRouter.js +++ b/vite-demo/src/router/authRouter.js @@ -1,5 +1,6 @@ import Layout from "@/views/layout/index.vue"; + export default [ { path: '/auth', diff --git a/vite-demo/src/router/baseRouter.js b/vite-demo/src/router/baseRouter.js index 28831e1..b9c8097 100644 --- a/vite-demo/src/router/baseRouter.js +++ b/vite-demo/src/router/baseRouter.js @@ -28,5 +28,5 @@ export default [ } ] }, - // {path: '/:pathToRegexp(.*)', hidden: true, redirect: '/'} //当用户输入页面链接错误或者没有该页面时,显示该路径页面 + {path: '/:pathMatch(.*)', hidden: true, redirect: '/'} //当用户输入页面链接错误或者没有该页面时,显示该路径页面 ] \ No newline at end of file diff --git a/vite-demo/src/store/modules/permission.js b/vite-demo/src/store/modules/permission.js index c01a612..a6284b3 100644 --- a/vite-demo/src/store/modules/permission.js +++ b/vite-demo/src/store/modules/permission.js @@ -25,6 +25,7 @@ const comp = import.meta.glob(`/src/views/**/*/*.vue`); // const comp = comp1.concat(comp2) import Layout from "@/views/layout/index.vue"; + console.log('component', comp); export function filterAsyncRoutes(routes, roles) { diff --git a/vite-demo/src/views/layout/index.vue b/vite-demo/src/views/layout/index.vue index 1931aa9..d04081b 100644 --- a/vite-demo/src/views/layout/index.vue +++ b/vite-demo/src/views/layout/index.vue @@ -13,15 +13,16 @@ + + \ No newline at end of file -- GitLab