소스 검색

bug 修复

lilei 4 년 전
부모
커밋
bda2d80285
1개의 변경된 파일42개의 추가작업 그리고 41개의 파일을 삭제
  1. 42 41
      src/permission.js

+ 42 - 41
src/permission.js

@@ -28,53 +28,54 @@ router.beforeEach((to, from, next) => {
     } else {
       const userInfo = Vue.ls.get('userName')
       // console.log(userInfo)
-      if (userInfo) {
+      if (userInfo && token != 'null') {
         store.dispatch('SetInfo', userInfo)
-      } else {
-        store.dispatch('Logout').then(() => {
-          next({ path: '/user/login', query: { redirect: to.fullPath } })
-        })
-      }
-      // console.log(store.getters.roles)
-      if (store.getters.roles.permissionList.length === 0) {
-        store
-          .dispatch('GetInfo', token)
-          .then(res => {
-            const roles = res
-            // console.log(roles, 'roles')
-            if (roles.permissionList.length == 0 || !roles) {
-              store.dispatch('Logout').then(() => {
-                store.dispatch('ResetRoutes').then(() => {
-                  next({ path: '/user/login', query: { redirect: to.fullPath } })
+        // console.log(token == 'null')
+        if (store.getters.roles.permissionList.length === 0) {
+          store
+            .dispatch('GetInfo', token)
+            .then(res => {
+              const roles = res
+              // console.log(roles, 'roles')
+              if (roles.permissionList.length == 0 || !roles) {
+                store.dispatch('Logout').then(() => {
+                  store.dispatch('ResetRoutes').then(() => {
+                    next({ path: '/user/login', query: { redirect: to.fullPath } })
+                  })
+                })
+              } else {
+                store.dispatch('GenerateRoutes', { roles }).then(() => {
+                  // 根据roles权限生成可访问的路由表
+                  // 动态添加可访问路由表
+                  // router.addRoutes(store.getters.addRouters)
+                  const redirect = decodeURIComponent(from.query.redirect || to.path)
+                  if (to.path === redirect) {
+                    // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
+                    next({ ...to, replace: true })
+                  } else {
+                    // 跳转到目的路由
+                    next({ path: redirect })
+                  }
                 })
+              }
+            })
+            .catch(() => {
+              notification.error({
+                message: '错误',
+                description: '请求用户信息失败,请重试'
               })
-            } else {
-              store.dispatch('GenerateRoutes', { roles }).then(() => {
-                // 根据roles权限生成可访问的路由表
-                // 动态添加可访问路由表
-                // router.addRoutes(store.getters.addRouters)
-                const redirect = decodeURIComponent(from.query.redirect || to.path)
-                if (to.path === redirect) {
-                  // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
-                  next({ ...to, replace: true })
-                } else {
-                  // 跳转到目的路由
-                  next({ path: redirect })
-                }
+              store.dispatch('Logout').then(() => {
+                next({ path: '/user/login', query: { redirect: to.fullPath } })
               })
-            }
-          })
-          .catch(() => {
-            notification.error({
-              message: '错误',
-              description: '请求用户信息失败,请重试'
-            })
-            store.dispatch('Logout').then(() => {
-              next({ path: '/user/login', query: { redirect: to.fullPath } })
             })
-          })
+        } else {
+          next()
+        }
       } else {
-        next()
+        console.log('logout')
+        store.dispatch('Logout').then(() => {
+          next({ path: '/user/login', query: { redirect: to.fullPath } })
+        })
       }
     }
   } else {