From 56eeb2671661ac45fc8d3129951dad96a5bd1f9b Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期日, 19 十月 2025 15:24:16 +0800
Subject: [PATCH] Merge branch 'dev-1.2.0.1' of http://120.26.58.240:8888/r/flexJobAdminBClient into dev-1.2.0.1
---
src/utils/request/index.ts | 45 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/src/utils/request/index.ts b/src/utils/request/index.ts
index eaabecb..d5c39ef 100644
--- a/src/utils/request/index.ts
+++ b/src/utils/request/index.ts
@@ -7,6 +7,7 @@
import { ElLoading as Loading, ElNotification } from 'element-plus';
import { router } from '@/router';
import { Message, tokenIsExpired } from '@/utils';
+import { httpLoggerRecord } from '../LoggerRecord';
// 鍔犺浇鐜鍙橀噺 VITE_PROXY_DOMAIN锛堝紑鍙戠幆澧冿級 VITE_PROXY_DOMAIN_REAL锛堟墦鍖呭悗鐨勭嚎涓婄幆澧冿級
const { VITE_PROXY_DOMAIN, VITE_PROXY_DOMAIN_REAL, DEV } = loadEnv();
@@ -67,6 +68,7 @@
*/
msg?: string;
showType?: ErrorShowType;
+ traceId?: string;
}
interface ErrorResponse {
@@ -107,6 +109,19 @@
// 閿欒鎺ユ敹鍙婂鐞�
errorHandler: (error, opts) => {
console.log('error: ', error);
+
+ const url = opts.url ?? '';
+ httpLoggerRecord.error({
+ message: `[${url}] 璇锋眰閿欒`,
+ httpParams: {
+ url: url,
+ //@ts-ignore
+ traceId: error?.info?.traceId,
+ stackTrace: error.stack,
+ },
+ args: [{ data: opts.data, params: opts.params, headers: opts.headers }],
+ });
+
if (opts?.skipErrorHandler) throw error;
if (opts?.customErrorHandler) {
@@ -120,6 +135,9 @@
const errorInfo: ErrorInfo | undefined = (error as any).info;
if (errorInfo) {
const { errorMessage, errorCode } = errorInfo;
+ if (Number(errorCode) === 401) {
+ handleLogout();
+ }
switch (errorInfo.showType) {
case ErrorShowType.SILENT:
// do nothing
@@ -145,7 +163,7 @@
} else if ((error as AxiosError<ResponseStructure, IRequestOptions>).response) {
// Axios 鐨勯敊璇�
// 璇锋眰鎴愬姛鍙戝嚭涓旀湇鍔″櫒涔熷搷搴斾簡鐘舵�佺爜锛屼絾鐘舵�佷唬鐮佽秴鍑轰簡 2xx 鐨勮寖鍥�
- handleAxiosResponseError(error as AxiosError<ErrorResponse, IRequestOptions>);
+ handleAxiosResponseError(error as AxiosError<ResponseStructure, IRequestOptions>);
// Message.errorMessage(`Response status:${(error as AxiosError).response.status}`);
} else if ((error as AxiosError).request) {
// 璇锋眰宸茬粡鎴愬姛鍙戣捣锛屼絾娌℃湁鏀跺埌鍝嶅簲
@@ -178,6 +196,14 @@
if (config.needNProcess) {
NProgress.start();
}
+
+ httpLoggerRecord.info({
+ message: `[${$config.url}] 璇锋眰寮�濮媊,
+ httpParams: {
+ url: $config.url,
+ },
+ args: [{ data: $config.data, params: $config.params, headers: $config.headers }],
+ });
const userStore = useUserStoreHook();
@@ -220,6 +246,15 @@
[
(response) => {
const $config = response.config as IRequestOptions;
+
+ httpLoggerRecord.info({
+ message: `[${$config.url}] 璇锋眰缁撴潫`,
+ httpParams: {
+ url: $config.url,
+ traceId: response.data?.traceId,
+ },
+ args: [{ data: $config.data, params: $config.params, headers: $config.headers }],
+ });
const { needNProcess, getResponse = false } = $config;
@@ -264,18 +299,18 @@
[505]: 'HTTP鐗堟湰涓嶅彈鏀寔',
};
-function handleAxiosResponseError(error: AxiosError<ErrorResponse, IRequestOptions>) {
+function handleAxiosResponseError(error: AxiosError<ResponseStructure, IRequestOptions>) {
if (error.response.config.url.toLowerCase().includes(RefreshTokenUrl.toLowerCase())) {
handleLogout();
return;
}
if (error && error.response) {
let message = ErrorMessageMap[error.response?.status] ?? '璇锋眰閿欒';
- if (error.response.data?.error?.message) {
- message = error.response.data?.error?.message;
+ if (error.response.data?.msg) {
+ message = error.response.data?.msg;
}
- if (error.response?.status === 401) {
+ if (error.response?.status === 401 || error.response.data.code === 401) {
handleLogout();
}
Message.errorMessage(message);
--
Gitblit v1.9.1