From 3c8cb20cdc69c16239df5e5616fe5452ff0e8c67 Mon Sep 17 00:00:00 2001 From: Hooray <304327508@qq.com> Date: Fri, 8 Aug 2025 17:45:08 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=8B=A6=E6=88=AA=E5=99=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/index.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/api/index.ts b/src/api/index.ts index 36a3257d..1bca1f9f 100755 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -70,42 +70,41 @@ api.interceptors.response.use( * 规则是当 status 为 1 时表示请求成功,为 0 时表示接口需要登录或者登录状态失效,需要重新登录 * 请求出错时 error 会返回错误信息 */ - if (response.data.status === 1) { - if (response.data.error !== '') { - toast.warning('Warning', { - description: response.data.error, - }) - return Promise.reject(response.data) + if (typeof response.data === 'object') { + if (response.data.status === 1) { + if (response.data.error !== '') { + toast.warning('Warning', { + description: response.data.error, + }) + return Promise.reject(response.data) + } } + else { + useUserStore().requestLogout() + } + return Promise.resolve(response.data) } else { - useUserStore().requestLogout() + return Promise.reject(response.data) } - return Promise.resolve(response.data) }, async (error) => { // 获取请求配置 const config = error.config - // 如果配置不存在或未启用重试,则直接处理错误 if (!config || !config.retry) { return handleError(error) } - // 设置重试次数 config.retryCount = config.retryCount || 0 - // 判断是否超过重试次数 if (config.retryCount >= MAX_RETRY_COUNT) { return handleError(error) } - // 重试次数自增 config.retryCount += 1 - // 延迟重试 await new Promise(resolve => setTimeout(resolve, RETRY_DELAY)) - // 重新发起请求 return api(config) },