From 2c9729f0cecffe6dbb7f8f99ebad72f3e85a7ded Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期四, 17 十月 2024 12:06:24 +0800
Subject: [PATCH] 传所有 filter;并更新 filter value

---
 src/utils/request.ts |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/src/utils/request.ts b/src/utils/request.ts
index a8f78b5..c8756bf 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -1,12 +1,13 @@
 import type { AxiosInstance, AxiosRequestConfig } from 'axios';
 import axios from 'axios';
 import { ElMessage } from 'element-plus';
+import { NO_AUTH_API_LIST } from '../api/ai/chat';
+import { LOGIN_URL, TEL_LOGIN_URL } from '../api/ai/user';
 import emitter from './mitt';
-import { debounce } from './util';
+import { debounce, decodeFormData } from './util';
 import { AUTH_URL, MAIN_URL, SECONDARY_URL } from '/@/constants';
 import { Local, LoginInfo, Session } from '/@/utils/storage';
-import { LOGIN_URL } from '../api/ai/user';
-import { NO_AUTH_API_LIST } from '../api/ai/chat';
+import { Logger } from '../model/logger/Logger';
 // import JSONbig from 'json-bigint';
 
 //#region ====================== 鍚庣 res.err_code ======================
@@ -34,7 +35,7 @@
 	return !!accessSession;
 };
 
-const handleNoAuth = debounce(() => {
+export const handleNoAuth = debounce(() => {
 	emitNoAuth();
 });
 const initRequestInterceptor = (request: AxiosInstance) => {
@@ -43,15 +44,14 @@
 		(config) => {
 			// 鑾峰彇鏈湴鐨� token
 			const accessSession = Local.get(accessSessionKey);
+			if (accessSession) {
+				// 灏� token 娣诲姞鍒拌姹傛姤鏂囧ご涓�
+				config.headers['hswatersession'] = accessSession;
+			}
 			if (!NO_AUTH_API_LIST.includes(config.url)) {
-				if (accessSession) {
-					// 灏� token 娣诲姞鍒拌姹傛姤鏂囧ご涓�
-					config.headers['hswatersession'] = accessSession;
-				} else {
-					if (config.url !== LOGIN_URL) {
-						handleNoAuth(config.url);
-						throw '鏉冮檺楠岃瘉澶辫触';
-					}
+				if (!accessSession && config.url !== LOGIN_URL && config.url !== TEL_LOGIN_URL) {
+					handleNoAuth(config.url);
+					throw '鏉冮檺楠岃瘉澶辫触';
 				}
 			}
 
@@ -88,16 +88,17 @@
 			if (!serveData.json_ok) {
 				switch (serveData?.err_code) {
 					case ErrorCode.Auth:
-						if (res.config.url !== LOGIN_URL) {
+						if (res.config.url !== LOGIN_URL && res.config.url !== TEL_LOGIN_URL) {
 							handleNoAuth();
 							throw '鏉冮檺楠岃瘉澶辫触';
 						}
 						break;
 					case ErrorCode.Exception:
+						const param = res.config.data ? `\n    璇锋眰鍙傛暟锛�${JSON.stringify(decodeFormData(res.config.data))}\n` : '';
 						ElMessage.error('鍐呴儴閿欒锛�');
-						throw '鍐呴儴閿欒';
+						Logger.error(`${res.config.url} 鍝嶅簲澶辫触${param}`, serveData?.json_msg && new Error(serveData?.json_msg));
+						return res.data;
 				}
-				
 			}
 			return res.data;
 		},

--
Gitblit v1.9.3