针对antd pro 统一处理服务端异常的方法,注意:这里的转化是针对响应转化,后续会针对转化后的success等进行判断,如果success=false 则会触发错误提示,否不会触发。
如下:
export const request: RequestConfig = {
// errorHandler,
errorConfig: {
adaptor: (resData, ctx) => {
//如果响应的结果和前端要求的不一致,需要转化
let success = true, errorMessage = '', errorCode = 0, showType = 0;
if (resData && resData.code !== undefined && resData.code !== 0) {
success = false;
errorMessage = resData.message;
errorCode = resData.code;
} else if (ctx.res.status > 300 || ctx.res.status < 200) {
//对服务端非手动异常时,识别状态码处理
success = false;
errorMessage = ctx.res.statusText;
errorCode = ctx.res.status;
}
if (resData && resData.showType !== undefined) {
showType = resData.showType;
}
return {
...resData,
success: success,
errorMessage: errorMessage,
errorCode: errorCode,
showType: showType,
};
},
},
// 新增自动添加AccessToken的请求前拦截器
//requestInterceptors: [authHeaderInterceptor],
};