123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import '@unocss/reset/sanitize/sanitize.css';
- import { message, notification } from 'antd';
- import type { RequestConfig } from 'umi';
- interface ResponseStructure {
- code: number;
- isSuccess: boolean;
- isAuthorized: boolean;
- result: any;
- message: string;
- error: string;
- errorCode: string;
- }
- export const request: RequestConfig = {
- timeout: 10000,
-
- errorConfig: {
- errorThrower(res){
- const { code, error: errorMsg, errorCode, isSuccess } = res;
- if (!isSuccess) {
- const error: any = new Error(errorMsg);
- error.name = 'BizError';
- error.info = { errorCode, errorMessage: errorMsg };
- throw error;
- }
- },
- errorHandler(error: any, opts: any){
- if (opts?.skipErrorHandler) throw error;
-
- if (error.name === 'BizError') {
- const errorInfo: ResponseStructure | undefined = error.info;
- if (errorInfo) {
- const { error: errorMessage } = errorInfo;
- message.error(errorMessage);
- }
- } else if (error.response) {
-
-
- message.error(`Response status:${error.response.status}`);
- } else if (error.request) {
-
-
-
- message.error('请求无响应,请稍后再试!');
- } else {
-
- message.error('请求错误,请稍后再试!');
- }
- },
- },
- requestInterceptors: [
- (url, options) => {
- const baseUrl = process.env.NODE_ENV === 'production' ? '' : '/api'
-
- const enterpriseCode = 'a';
- const token = localStorage.getItem('token_' + enterpriseCode);
-
- if(token) {
- if(!options.headers) {
- options.headers = {}
- }
- options.headers.Authorization = token
- }
- return {
- url: baseUrl + url,
- options
- }
- }
- ],
- responseInterceptors: [
- (response) => {
- const {data = {} as any, config} = response;
- if(data?.error) {
-
- return Promise.reject(data.error);
- }
-
- return response;
- }
- ]
- };
|