Kaynağa Gözat

401跳转到登录代码优化

ming 3 yıl önce
ebeveyn
işleme
885472de67
2 değiştirilmiş dosya ile 11 ekleme ve 16 silme
  1. 11 14
      src/utils/request.js
  2. 0 2
      src/vab/plugins/permissions.js

+ 11 - 14
src/utils/request.js

@@ -17,6 +17,8 @@ import { message } from 'ant-design-vue'
 
 let loadingInstance
 
+var tag = true
+
 /**
  * @author chuzhixin 1204505056@qq.com
  * @description 处理code异常
@@ -24,21 +26,18 @@ let loadingInstance
  * @param {*} msg
  */
 const handleCode = (code, msg) => {
+
     switch (code) {
         case '401':
-            // var flag = true;
-            // if (flag) {
-            //     flag = false
-            //     message.error(msg + '  ,请重新登录...' || '登录失效')
-            // }
-
-            // message.error(msg || '登录失效')
-            // message.error(msg + '  ,请重新登录...' || '登录失效')
-            // setTimeout(() => {
-            //     router.replace({ path: "/login" });
-            // }, 3000)
-            router.replace({ path: "/login" });
+            if (tag) {
+                message.error('登录状态已过期,请重新登陆!')
+                tag = false
+            }
             store.dispatch('user/resetAll').catch(() => {})
+            store.dispatch('user/logout').catch(() => {})
+            router.replace({ path: "/login" });
+
+
             break
         case '403':
             router.push({ path: '/401' }).catch(() => {})
@@ -94,8 +93,6 @@ instance.interceptors.request.use(
 instance.interceptors.response.use(
     (response) => {
         if (loadingInstance) loadingInstance.close()
-
-
         const { data, config } = response
         const { code, msg } = data
         // 操作正常Code数组

+ 0 - 2
src/vab/plugins/permissions.js

@@ -18,7 +18,6 @@ router.beforeEach(async(to, from, next) => {
     let hasToken = store.getters['user/accessToken']
 
     if (!loginInterception) hasToken = true
-
     if (hasToken) {
         if (to.path === '/login') {
             next({ path: '/' })
@@ -69,7 +68,6 @@ router.beforeEach(async(to, from, next) => {
 
         routesWhiteList
         // next({ path: '/login', replace: true })
-
         if (routesWhiteList.indexOf(to.path) !== -1) {
             next()
         } else {