|
@@ -87,6 +87,8 @@ router.beforeEach(async (to, from, next) => {
|
|
|
if(userInfo.code == 400){
|
|
|
console.log("用户没有访问权限,将跳转到无权限页面!")
|
|
|
if (to.path !== '/no-permission') {
|
|
|
+ //到达此页面后直接清理token,避免出现用户直接从url返回login导致无限循环
|
|
|
+ removeToken()
|
|
|
//避免重复跳转
|
|
|
next({path:'/no-permission'})
|
|
|
} else {
|
|
@@ -98,6 +100,15 @@ router.beforeEach(async (to, from, next) => {
|
|
|
setUseType(userInfo.data.type_id, 86400)
|
|
|
setWebSiteId(userInfo.data.website_id, 86400)
|
|
|
console.log("用户有访问权限,访问继续!")
|
|
|
+
|
|
|
+ //稳定性待测试
|
|
|
+ if(router.options.routes.length < 2){
|
|
|
+ console.log("用户路由出现异常,重新获取路由菜单!")
|
|
|
+ const { roles } = await store.dispatch('user/getInfo')
|
|
|
+ const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
|
|
|
+ router.addRoutes(accessRoutes)
|
|
|
+ console.log("添加路由成功!")
|
|
|
+ }
|
|
|
next()
|
|
|
}
|
|
|
} else {
|
|
@@ -107,6 +118,7 @@ router.beforeEach(async (to, from, next) => {
|
|
|
const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
|
|
|
router.addRoutes(accessRoutes)
|
|
|
next({ ...to, replace: true })
|
|
|
+ console.log("添加路由成功!")
|
|
|
} catch (error) {
|
|
|
await store.dispatch('user/resetToken')
|
|
|
Message.error(error || 'Has Error')
|