|
@@ -6,6 +6,7 @@ import { formatBackendJson, isFunction } from '@vben/utils';
|
|
|
|
|
|
|
|
import axios from 'axios';
|
|
import axios from 'axios';
|
|
|
|
|
|
|
|
|
|
+// 默认拦截器
|
|
|
export const defaultResponseInterceptor = ({
|
|
export const defaultResponseInterceptor = ({
|
|
|
codeField = 'code',
|
|
codeField = 'code',
|
|
|
dataField = 'data',
|
|
dataField = 'data',
|
|
@@ -20,6 +21,8 @@ export const defaultResponseInterceptor = ({
|
|
|
}): ResponseInterceptorConfig => {
|
|
}): ResponseInterceptorConfig => {
|
|
|
return {
|
|
return {
|
|
|
fulfilled: (response) => {
|
|
fulfilled: (response) => {
|
|
|
|
|
+ // eslint-disable-next-line no-console
|
|
|
|
|
+ console.log('1-defaultResponseInterceptor response:', response);
|
|
|
const { config, data: responseData, status, headers } = response;
|
|
const { config, data: responseData, status, headers } = response;
|
|
|
|
|
|
|
|
// 格式化请求数据
|
|
// 格式化请求数据
|
|
@@ -61,6 +64,7 @@ export const defaultResponseInterceptor = ({
|
|
|
};
|
|
};
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+// 认证拦截器
|
|
|
export const authenticateResponseInterceptor = ({
|
|
export const authenticateResponseInterceptor = ({
|
|
|
client,
|
|
client,
|
|
|
doReAuthenticate,
|
|
doReAuthenticate,
|
|
@@ -76,9 +80,11 @@ export const authenticateResponseInterceptor = ({
|
|
|
}): ResponseInterceptorConfig => {
|
|
}): ResponseInterceptorConfig => {
|
|
|
return {
|
|
return {
|
|
|
rejected: async (error) => {
|
|
rejected: async (error) => {
|
|
|
|
|
+ // eslint-disable-next-line no-console
|
|
|
|
|
+ console.log('2-authenticateResponseInterceptor error:', error);
|
|
|
const { config, response } = error;
|
|
const { config, response } = error;
|
|
|
// 如果不是 401 错误,直接抛出异常
|
|
// 如果不是 401 错误,直接抛出异常
|
|
|
- if (response?.status !== 401) {
|
|
|
|
|
|
|
+ if (response?.data?.Status !== -2) {
|
|
|
throw error;
|
|
throw error;
|
|
|
}
|
|
}
|
|
|
// 判断是否启用了 refreshToken 功能
|
|
// 判断是否启用了 refreshToken 功能
|
|
@@ -126,11 +132,14 @@ export const authenticateResponseInterceptor = ({
|
|
|
};
|
|
};
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+// 错误信息拦截器
|
|
|
export const errorMessageResponseInterceptor = (
|
|
export const errorMessageResponseInterceptor = (
|
|
|
makeErrorMessage?: MakeErrorMessageFn,
|
|
makeErrorMessage?: MakeErrorMessageFn,
|
|
|
): ResponseInterceptorConfig => {
|
|
): ResponseInterceptorConfig => {
|
|
|
return {
|
|
return {
|
|
|
rejected: (error: any) => {
|
|
rejected: (error: any) => {
|
|
|
|
|
+ // eslint-disable-next-line no-console
|
|
|
|
|
+ console.log('3-errorMessageResponseInterceptor error:', error);
|
|
|
if (axios.isCancel(error)) {
|
|
if (axios.isCancel(error)) {
|
|
|
return Promise.reject(error);
|
|
return Promise.reject(error);
|
|
|
}
|
|
}
|
|
@@ -148,27 +157,37 @@ export const errorMessageResponseInterceptor = (
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
let errorMessage = '';
|
|
let errorMessage = '';
|
|
|
- const status = error?.response?.status;
|
|
|
|
|
|
|
+ const status = error?.response?.data?.Status;
|
|
|
|
|
+
|
|
|
|
|
+ // switch (status) {
|
|
|
|
|
+ // case 400: {
|
|
|
|
|
+ // errorMessage = $t('ui.fallback.http.badRequest');
|
|
|
|
|
+ // break;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // case 401: {
|
|
|
|
|
+ // errorMessage = $t('ui.fallback.http.unauthorized');
|
|
|
|
|
+ // break;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // case 403: {
|
|
|
|
|
+ // errorMessage = $t('ui.fallback.http.forbidden');
|
|
|
|
|
+ // break;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // case 404: {
|
|
|
|
|
+ // errorMessage = $t('ui.fallback.http.notFound');
|
|
|
|
|
+ // break;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // case 408: {
|
|
|
|
|
+ // errorMessage = $t('ui.fallback.http.requestTimeout');
|
|
|
|
|
+ // break;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // default: {
|
|
|
|
|
+ // errorMessage = $t('ui.fallback.http.internalServerError');
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
|
|
|
switch (status) {
|
|
switch (status) {
|
|
|
- case 400: {
|
|
|
|
|
- errorMessage = $t('ui.fallback.http.badRequest');
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- case 401: {
|
|
|
|
|
- errorMessage = $t('ui.fallback.http.unauthorized');
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- case 403: {
|
|
|
|
|
- errorMessage = $t('ui.fallback.http.forbidden');
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- case 404: {
|
|
|
|
|
- errorMessage = $t('ui.fallback.http.notFound');
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- case 408: {
|
|
|
|
|
- errorMessage = $t('ui.fallback.http.requestTimeout');
|
|
|
|
|
|
|
+ case -1: {
|
|
|
|
|
+ errorMessage = error?.response?.data?.Message;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
default: {
|
|
default: {
|