From 3ec8d3625e6fb7614e2ec4bb02ed99a3cdf4cdb7 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 12 Feb 2026 11:28:47 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
---
applications/task-work-order/src/axiosXT.js | 35 ++++++++++++++++++++++++++++++++---
1 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/applications/task-work-order/src/axiosXT.js b/applications/task-work-order/src/axiosXT.js
index 6929039..7b7c234 100644
--- a/applications/task-work-order/src/axiosXT.js
+++ b/applications/task-work-order/src/axiosXT.js
@@ -2,15 +2,25 @@
import store from '@/store/'
import { serialize } from '@/utils/util'
import { ElMessage } from 'element-plus'
+let _retry = false
// 全局未授权错误提示状态,只提示一次
-const { VITE_APP_API_XT } = import.meta.env
-
+const { VITE_APP_API_XT, VITE_APP_ENV, VITE_APP_URL_XT } = import.meta.env
const serviceXT = axios.create({
timeout: 600000,
- baseURL: VITE_APP_API_XT,
+ baseURL: VITE_APP_ENV === 'development' ? VITE_APP_API_XT : VITE_APP_URL_XT,
//跨域请求,允许保存cookie
withCredentials: false,
})
+
+function logOutFun () {
+ store.dispatch('FedLogOut').then(() => {
+ const { VITE_APP_PARENT_SYSTEM, VITE_APP_ENV } = import.meta.env
+ const isDev = VITE_APP_ENV === 'development'
+ isDev
+ ? router.push({ path: '/login' })
+ : window.location.replace(`${VITE_APP_PARENT_SYSTEM}/#/login`)
+ })
+}
//http request拦截
serviceXT.interceptors.request.use(
@@ -41,6 +51,25 @@
res => {
const status = res?.data?.code || res?.data?.error_code || res?.status
const message = res?.data?.msg || res?.data?.message || '系统错误'
+
+ // 如果是401并且已经重试过,直接跳转到登录页面
+ if ((status === 500 || status === 401) && !_retry) {
+ // 首次报错时提示
+ if (!isErrorShown) {
+ isErrorShown = true
+ ElMessage({
+ message: '用户令牌过期,请重新登录',
+ type: 'error',
+ })
+ }
+ // 清除token信息
+ removeToken()
+ removeRefreshToken()
+ // 重定向到登录页
+ logOutFun()
+ return Promise.reject(new Error(message))
+ }
+
// 如果请求为非200默认统一处理
if (status !== 200 && status !== 0) {
ElMessage({ message: message, type: 'error', })
--
Gitblit v1.9.3