diff --git a/src/api/index.ts b/src/api/index.ts index a69c189..4db0a07 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -78,6 +78,7 @@ service.interceptors.request.use(requestInterceptor, requestErrorInterceptor) const responseInterceptor = (response: AxiosResponse>) => { //关闭loading(无论成功失败都要关) hideLoading() + const config = response.config if (response.headers['new_token'] !== undefined) { setStorage('token', response.headers['new_token'] as string) } @@ -86,13 +87,14 @@ const responseInterceptor = (response: AxiosResponse console.log('响应数据data', data); // 判断业务状态码 if (data.code == 200 || data.code == 0) { - // 仅当业务成功时,才弹成功提示 - ElNotification({ - message: data.msg || '操作成功!', - type: 'success', - duration: 2000, - customClass: 'global-notification' - }) + if (config.showMessage !== false) { + ElNotification({ + message: data.msg || '操作成功!', + type: 'success', + duration: 2000, + customClass: 'global-notification' + }) + } return data.data } else { if (data.code === 1) { @@ -155,12 +157,14 @@ const responseErrorInterceptor = (error: AxiosError) => { errMsg = error.message || '服务器错误' } - ElNotification({ - message: errMsg, - type: 'error', - duration: 2000, - customClass: 'global-notification' - }) + if (error.config?.showMessage !== false) { + ElNotification({ + message: errMsg, + type: 'error', + duration: 2000, + customClass: 'global-notification' + }) + } return Promise.reject(error) } @@ -169,12 +173,12 @@ service.interceptors.response.use(responseInterceptor, responseErrorInterceptor) // 5. 封装通用请求方法 export const request = { get(url: string, params?: unknown, config?: InternalAxiosRequestConfig): Promise { - return service.get>(url, { params, ...config }).then((res) => { + return service.get>(url, { params, ...config,showMessage:false }).then((res) => { return res as T; }); }, post(url: string, data?: unknown, config?: InternalAxiosRequestConfig): Promise { - return service.post>(url, data, config).then((res) => { + return service.post>(url, data, {config,showMessage: true,}).then((res) => { return res as T; }); },