From 8217c63d1610a9d89419c69947beb4fb3bb7c7e4 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 20 五月 2026 17:03:05 +0800
Subject: [PATCH] style(frontend): 格式化代码缩进并增强API调用安全性

---
 src/utils/request.js |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/utils/request.js b/src/utils/request.js
index 9cfcf5b..672bed8 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -21,11 +21,12 @@
 })
 
 // request鎷︽埅鍣�
-service.interceptors.request.use(config => {
+service.interceptors.request.use(config => {
+  config.headers = config.headers || {}
   // 鏄惁闇�瑕佽缃� token
-  const isToken = (config.headers || {}).isToken === false
+  const isToken = config.headers.isToken === false
   // 鏄惁闇�瑕侀槻姝㈡暟鎹噸澶嶆彁浜�
-  const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
+  const isRepeatSubmit = config.headers.repeatSubmit === false
   if (getToken() && !isToken) {
     config.headers['Authorization'] = 'Bearer ' + getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀�
   }
@@ -66,23 +67,27 @@
     }
   }
   return config
-}, error => {
-    console.log(error)
-    Promise.reject(error)
-})
+}, error => {
+    console.log(error)
+    return Promise.reject(error)
+})
 
 // 鍝嶅簲鎷︽埅鍣�
 service.interceptors.response.use(res => {
     // 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬�
-    const code = res.data.code || 200
+    const code = res.data.code || 200
+    const handleAuthError = (res.config && res.config.headers && res.config.headers.handleAuthError) !== false
     // 鑾峰彇閿欒淇℃伅
     const msg = errorCode[code] || res.data.msg || errorCode['default']
     // 浜岃繘鍒舵暟鎹垯鐩存帴杩斿洖
     if (res.request.responseType ===  'blob' || res.request.responseType ===  'arraybuffer') {
       return res.data
     }
-    if (code === 401) {
-      if (!isRelogin.show) {
+    if (code === 401) {
+      if (!handleAuthError) {
+        return Promise.reject(new Error(msg))
+      }
+      if (!isRelogin.show) {
         isRelogin.show = true
         ElMessageBox.confirm('鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', '绯荤粺鎻愮ず', { confirmButtonText: '閲嶆柊鐧诲綍', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => {
           isRelogin.show = false

--
Gitblit v1.9.3