From c7566bba45e6f90594d36ec4b80ac4ff89f577ee Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 08 十月 2026 14:19:36 +0800
Subject: [PATCH] 项目重构
---
src/utils/request.js | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/utils/request.js b/src/utils/request.js
index 26fe001..f93bf2e 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -16,8 +16,8 @@
const service = axios.create({
// axios涓姹傞厤缃湁baseURL閫夐」锛岃〃绀鸿姹俇RL鍏叡閮ㄥ垎
baseURL: import.meta.env.VITE_APP_BASE_API,
- // 瓒呮椂
- timeout: 10000
+ // 瓒呮椂锛堜笟鍔″畾鍒讹細閮ㄥ垎鎶ヨ〃/瀵煎嚭鎺ュ彛鑰楁椂杈冮暱锛屾斁瀹藉埌 60s锛�
+ timeout: 10000 * 60
})
// request鎷︽埅鍣�
@@ -28,6 +28,8 @@
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
// 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦
const interval = (config.headers || {}).interval || 1000
+ // 涓氬姟瀹氬埗锛氳鎺ュ彛鍏佽杩炵偣閲嶅鎻愪氦
+ const repeatSubmitWhitelist = ['/insOrderPlan/saveInsContext']
if (getToken() && !isToken) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀�
}
@@ -37,6 +39,8 @@
url = url.slice(0, -1)
config.params = {}
config.url = url
+ // 涓氬姟瀹氬埗锛氶�忎紶 responseType锛堥儴鍒� get 涓嬭浇鎺ュ彛闇�瑕侊級
+ config.headers['responseType'] = config.headers['responseType'] ? config.headers['responseType'] : ''
}
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
const requestObj = {
@@ -44,7 +48,8 @@
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
time: new Date().getTime()
}
- const requestSize = Object.keys(JSON.stringify(requestObj)).length // 璇锋眰鏁版嵁澶у皬
+ // 璇锋眰鏁版嵁澶у皬锛堟寜 UTF-8 瀛楄妭鏁拌绠楋紝涓枃鍦烘櫙涓嬫瘮 String.length 鍑嗙‘锛�
+ const requestSize = new TextEncoder().encode(JSON.stringify(requestObj)).byteLength
const limitSize = 5 * 1024 * 1024 // 闄愬埗瀛樻斁鏁版嵁5M
if (requestSize >= limitSize) {
console.warn(`[${config.url}]: ` + '璇锋眰鏁版嵁澶у皬瓒呭嚭鍏佽鐨�5M闄愬埗锛屾棤娉曡繘琛岄槻閲嶅鎻愪氦楠岃瘉銆�')
@@ -57,7 +62,8 @@
const s_url = sessionObj.url // 璇锋眰鍦板潃
const s_data = sessionObj.data // 璇锋眰鏁版嵁
const s_time = sessionObj.time // 璇锋眰鏃堕棿
- if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
+ if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url
+ && !repeatSubmitWhitelist.includes(s_url)) {
const message = '鏁版嵁姝e湪澶勭悊锛岃鍕块噸澶嶆彁浜�'
console.warn(`[${s_url}]: ` + message)
return Promise.reject(new Error(message))
--
Gitblit v1.9.3