Просмотр исходного кода

优化-删除菜单大数据两缓存,更改为store存储,相关获取和处理方式更改

liyanyan 1 неделя назад
Родитель
Сommit
0d303a1c85

+ 0 - 1
src/axios/index.js

@@ -90,7 +90,6 @@ service.interceptors.response.use(
         });
         setToken('');
         // 清除缓存的权限菜单
-        sessionStorage.removeItem("route");
         //跳转登录页面
         router.push({path:`/login`})
         return

+ 0 - 1
src/axios/index2.js

@@ -90,7 +90,6 @@ service2.interceptors.response.use(
         });
         setToken('');
         // 清除缓存的权限菜单
-        sessionStorage.removeItem("route");
         //跳转登录页面
         router.push({path:`/login`})
         return

+ 0 - 1
src/axios/index3.js

@@ -89,7 +89,6 @@ service3.interceptors.response.use(
         });
         setToken('');
         // 清除缓存的权限菜单
-        sessionStorage.removeItem("route");
         //跳转登录页面
         router.push({path:`/login`})
         return

+ 0 - 1
src/axios/index4.js

@@ -89,7 +89,6 @@ service3.interceptors.response.use(
         });
         setToken('');
         // 清除缓存的权限菜单
-        sessionStorage.removeItem("route");
         //跳转登录页面
         router.push({path:`/login`})
         return

+ 0 - 1
src/axios/index_new.js

@@ -90,7 +90,6 @@ service.interceptors.response.use(
         });
         setToken('');
         // 清除缓存的权限菜单
-        sessionStorage.removeItem("route");
         //跳转登录页面
         router.push({path:`/login`})
         return

+ 0 - 2
src/layout/components/AppMain.vue

@@ -60,7 +60,6 @@ export default {
       window.addEventListener('message',function(e){
         if (e.data == 12312312) {
           setToken('');
-          sessionStorage.removeItem("route")
           this.$router.push(`/login`);
         }
       },false)
@@ -81,7 +80,6 @@ export default {
         })
         if (bSwitch) {
           sessionStorage.removeItem("jingmiao_token")
-          sessionStorage.removeItem("route")
           this.$router.push(`/login`);
         }
       }

+ 0 - 1
src/menu/menu.js

@@ -15,7 +15,6 @@ export default {
         // 添加菜单
         this.addMenu(result)
         //缓存用户菜单,我这里使用的是sessionStorage,用localStorage也可以
-        sessionStorage.setItem("route", JSON.stringify(res.data))
         // 输出成功
         resolve()
       }).catch(err =>{

+ 10 - 10
src/router/index.js

@@ -1018,26 +1018,26 @@ router.beforeEach(async (to,
     if (!store.state.user.menu.length) {
       // 判断当前用户是否已拉取完权限菜单信息
       // 如果本地不存在权限菜单,则获取权限菜单,生成菜单列表
-      if (!sessionStorage.getItem("route")) {
+      // if (!sessionStorage.getItem("route")) {
         //获取路由菜单
         menu.getMenu().then(response => {
           //保险起见,组装一次数据
-          menu.parseRoute(JSON.parse(sessionStorage.getItem("route")), []).then(res => {
+          // menu.parseRoute(JSON.parse(sessionStorage.getItem("route")), []).then(res => {
             //添加路由并进行跳转
             menu.addMenu(res).then(e => {
               next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
             })
-          })
+          // })
         }).catch(err => {//失败则直接跳转登录页面
           next(`/login`);
         })
-      } else {//从缓存中读取用户权限列表,并添加菜单到侧边栏和路由元
-        menu.parseRoute(JSON.parse(sessionStorage.getItem("route")), []).then(res => {
-          menu.addMenu(res).then(e => {
-            next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
-          })
-        })
-      }
+      // } else {//从缓存中读取用户权限列表,并添加菜单到侧边栏和路由元
+      //   menu.parseRoute(JSON.parse(sessionStorage.getItem("route")), []).then(res => {
+      //     menu.addMenu(res).then(e => {
+      //       next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
+      //     })
+      //   })
+      // }
     } else {
       // 有路由表直接放行
       next();

+ 0 - 2
src/store/modules/user.js

@@ -89,7 +89,6 @@ const actions = {
     return new Promise((resolve, reject) => {
       logout(state.token)
         .then(() => {
-          sessionStorage.removeItem("route")
           removeToken()
           resolve()
         })
@@ -103,7 +102,6 @@ const actions = {
   resetToken({ commit }) {
     return new Promise(resolve => {
       // 清除缓存的权限菜单
-      sessionStorage.removeItem("route")
       removeToken(); // must remove  token  first
       commit('RESET_STATE');
       resolve();

+ 2 - 1
src/views/login/index.vue

@@ -138,7 +138,8 @@ export default {
               this.loading = false;
               //获取权限菜单
               menu.getMenu().then( () =>{
-                const routes = JSON.parse(sessionStorage.getItem('route'))
+                // const routes = JSON.parse(sessionStorage.getItem('route'))
+                const routes = this.$store.state.user.menu
                 let bSwitch = []
                 for(let i=0; i<routes.length; i++) {
                   if(routes[i].path === '/embedIndex') {