ccj 3 years ago
parent
commit
a0286eec0c
3 changed files with 17 additions and 3 deletions
  1. 6 1
      src/router/index.js
  2. 9 2
      src/store/modules/permission.js
  3. 2 0
      src/views/home/service.js

+ 6 - 1
src/router/index.js

@@ -4,7 +4,7 @@ import page from '@/config/page'
 import store from '@/vendors/vuex'
 import { renewalHead } from '@/model/indexRx'
 
-
+import { clearStorage } from '../utils/auth'
 Vue.use(Router)
 
 // 组件实验室
@@ -217,6 +217,11 @@ router.beforeEach(async (to, from, next) => {
     renewalHead(data).toPromise().then(() => {
       next()
     })
+    .catch((err) => {
+      clearStorage()
+      resetRouter()
+      next(`/login?redirect=${to.path}`);
+    })
   } else {
     next()
   }

+ 9 - 2
src/store/modules/permission.js

@@ -1,11 +1,12 @@
 import {
   asyncRoutes,
-  constantRoutes
+  constantRoutes,
+  resetRouter
 } from '@/router';
 import {
   getRoule
 } from '@/model/indexRx'
-
+import { clearStorage } from '../../utils/auth'
 /**
  * 递归过滤异步路由表,返回符合用户角色权限的路由表
  * @param routes asyncRoutes
@@ -123,6 +124,12 @@ const actions = {
   }) {
     return new Promise(async resolve => {
       const data = await getRoule().toPromise()
+      .catch((err) => {
+        clearStorage()
+        resetRouter()
+        window.location.href="https://www.eliangeyun.com"
+      })
+        
       const roles = [];
       handleRoles(data, roles, '');
       // console.log(roles)

+ 2 - 0
src/views/home/service.js

@@ -602,6 +602,8 @@ export default {
         isTask: isTask ? 1 : 0
       }
       getRoule().toPromise().then(response => {
+        
+        debugger
         let list = []
         response.forEach(item => {
           if (item.name === 'crewManagement') {