浏览代码

优化登录失效的错误提示

Michael Wang 6 年之前
父节点
当前提交
0496386262
共有 1 个文件被更改,包括 18 次插入6 次删除
  1. 18 6
      src/utils/axios.js

+ 18 - 6
src/utils/axios.js

@@ -66,7 +66,23 @@ qmInstance.interceptors.response.use(
     // 这里是返回状态码不为200时候的错误处理
     let status = error.response.status;
 
-    if (status != 200) {
+    // 登录失效 跳转登录页面
+    if (status == 403 || status == 401) {
+      if (
+        window.___lastInvalidDate === undefined ||
+        window.___lastInvalidDate < Date.now() - 300
+      ) {
+        Message.error({
+          content: "登录失效,请重新登录!",
+          duration: 6,
+          closable: true
+        });
+        window.___lastInvalidDate = Date.now();
+      }
+      wk_token = null;
+      router.push("/login/" + localStorage.getItem("domain"));
+      return; // 仅显示登录失效,不显示因登录失效造成的后续错误
+    } else if (status != 200) {
       if (
         wk_token &&
         ![401, 403].includes(status) &&
@@ -100,11 +116,7 @@ qmInstance.interceptors.response.use(
         });
       }
     }
-    // 登录失效 跳转登录页面
-    if (status == 403 || status == 401) {
-      wk_token = null;
-      router.push("/login/" + localStorage.getItem("domain"));
-    }
+
     return Promise.reject(error);
   }
 );