Browse Source

fix:登录失效

DESKTOP-1OI7FFK\WZTX 8 months ago
parent
commit
e7515974b9
1 changed files with 14 additions and 1 deletions
  1. 14 1
      frontend/src/utils/http.ts

+ 14 - 1
frontend/src/utils/http.ts

@@ -1,6 +1,7 @@
 import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios';
 import { ElMessage as Message, ElMessageBox as MessageBox, ElLoading as Loading } from 'element-plus';
 import  tokenInfo  from '@/stores/modules/token';
+import useUserInfo from "@/stores/modules/user";
 
 // 加载动画的并发管理
 const activeRequests = new Set<string>();
@@ -62,6 +63,7 @@ service.interceptors.response.use(
     (response: AxiosResponse) => {
         // 对响应数据做点什么
         const res = response.data;
+        const useUserInfoStore = useUserInfo();
 
         // 如果配置中启用了加载动画,则关闭加载动画
         if (response.config?.loading && response.config.requestId) {
@@ -71,6 +73,14 @@ service.interceptors.response.use(
         // 如果自定义状态码不为0,则判断为错误
         if (res.code !== 0) {
             switch (res.code) {
+                case 401:
+                    Message({
+                        message: '登录状态已失效,请重新登录',
+                        type: 'error',
+                        duration: 3 * 1000,
+                    });
+                    useUserInfoStore.updateLoginShow(true)
+                    break;
                 default:
                     if (response.config.showErrorMessage) {
                         if (res.message?.length > 30 || res.code === 400011) {
@@ -103,11 +113,14 @@ service.interceptors.response.use(
             loadingClose(error.config.requestId as string);
         }
 
+        const useUserInfoStore = useUserInfo();
         try {
             if (error.response) {
                 switch (error.response.status) {
                     case 400: errMessage = '请求错误(400)'; break;
-                    case 401: errMessage = '登录失效'; break;
+                    case 401: errMessage = '登录状态已失效,请重新登录';
+                    useUserInfoStore.updateLoginShow(true)
+                     break;
                     case 403: errMessage = '拒绝访问(403)'; break;
                     case 404: errMessage = '请求出错(404)'; break;
                     case 408: errMessage = '请求超时(408)'; break;