From 3cd173d1b19aa42fbe438ed78c1fed5237f543b2 Mon Sep 17 00:00:00 2001 From: zy_zr <985512818@qq.com> Date: Tue, 15 Apr 2025 14:49:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 80 +++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/src/permission.js b/src/permission.js index 68c58e2..a60d175 100644 --- a/src/permission.js +++ b/src/permission.js @@ -13,43 +13,43 @@ const whiteList = ['/login','/', '/FourColorWarning','/oatuh_login','/editPasswo * from 来自哪 * next 往下走 */ -// let onRun = true; -// router.beforeEach(async (to, from, next) => { -// // 存在 token ,进入主页 -// // if (store.state.user.token) { -// // 快捷访问 -// if (store.getters.token) { -// // 判断用户资料是否获取 -// // 若不存在用户信息,则需要获取用户信息 -// // 触发获取用户信息的 action,并获取用户当前权限 -// await store.commit('permission/setRouteReady', true) -// // 添加完动态路由之后,需要在进行一次主动跳转 -// const afterMenuList = await getItem('menusPermission'); -// // 处理用户权限,筛选出需要添加的权限 -// if (store.state.permission.routes == 0) { -// const filterRoutes = await store.dispatch('permission/filterRoutes', afterMenuList) -// filterRoutes.forEach(item => { -// router.addRoute(item) -// }) -// next({ -// ...to, -// replace: true -// }) -// } else { -// next() -// } -// // 利用 addRoute 循环添加 -// } else { -// const isOatuh = getItem('isOatuh') -// // 没有token的情况下,可以进入白名单 -// if (whiteList.indexOf(to.path) > -1) { -// next() -// } else { -// if (isOatuh) { -// next('/oatuh_login') -// } else { -// next('/login') -// } -// } -// } -// }) +let onRun = true; +router.beforeEach(async (to, from, next) => { + // 存在 token ,进入主页 + // if (store.state.user.token) { + // 快捷访问 + if (store.getters.token) { + // 判断用户资料是否获取 + // 若不存在用户信息,则需要获取用户信息 + // 触发获取用户信息的 action,并获取用户当前权限 + await store.commit('permission/setRouteReady', true) + // 添加完动态路由之后,需要在进行一次主动跳转 + const afterMenuList = await getItem('menusPermission'); + // 处理用户权限,筛选出需要添加的权限 + if (store.state.permission.routes == 0) { + const filterRoutes = await store.dispatch('permission/filterRoutes', afterMenuList) + filterRoutes.forEach(item => { + router.addRoute(item) + }) + next({ + ...to, + replace: true + }) + } else { + next() + } + // 利用 addRoute 循环添加 + } else { + const isOatuh = getItem('isOatuh') + // 没有token的情况下,可以进入白名单 + if (whiteList.indexOf(to.path) > -1) { + next() + } else { + if (isOatuh) { + next('/oatuh_login') + } else { + next('/login') + } + } + } +})