antd pro 服务端响应异常统一处理

针对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],
};

你可能感兴趣的:(antdtypescript)