diff --git a/frontend/api/axios/client.js b/frontend/api/axios/client.js index eed197a60b..73c903bf86 100644 --- a/frontend/api/axios/client.js +++ b/frontend/api/axios/client.js @@ -105,21 +105,23 @@ export function createClientAxios(options = {}) { if (data.code === 0 || data.code === 200) { return data } - - // 处理 401 - if (data.code === 401 && typeof on401 === 'function') { - on401() - } - - // 处理 403(业务状态码) - if (data.code === 403 && typeof on403 === 'function') { - on403() - } - - // 抛出业务错误 + + // 创建业务错误对象 const error = new Error(data?.message || data?.msg || '请求失败') error.code = data?.code error.data = data + + // 处理 401 + if (data.code === 401 && typeof on401 === 'function') { + on401(error) + } + + // 处理 403(业务状态码) + if (data.code === 403 && typeof on403 === 'function') { + on403(error) + } + + // 抛出业务错误 return Promise.reject(error) } @@ -128,14 +130,14 @@ export function createClientAxios(options = {}) { (error) => { // 处理 HTTP 401 if (error.response?.status === 401 && typeof on401 === 'function') { - on401() + on401(error) } - + // 处理 HTTP 403 if (error.response?.status === 403 && typeof on403 === 'function') { - on403() + on403(error) } - + return Promise.reject(error) } )