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') + } + } + } +})