Browse Source

修改登录bug

修改登录bug
dangyunlong 1 month ago
parent
commit
61337fc201
1 changed files with 12 additions and 0 deletions
  1. 12 0
      src/permission.js

+ 12 - 0
src/permission.js

@@ -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')