| | |
| | | import { Session } from '@/utils/storage' |
| | | |
| | | let controllers: AbortController[] = [] |
| | | const BASE_URL = import.meta.env.VITE_BASIC_API |
| | | |
| | | const BASE_URL = 'https://hemobs.icoldchain.cn' |
| | | // const BASE_URL = 'https://hemobs.icoldchain.cn' |
| | | // const BASE_URL='http://testbs.ihemodialysis.com' |
| | | const TIME_OUT = 10 * 1000 |
| | | |
| | | interface IResponseError { |
| | |
| | | /** |
| | | * 错误处理函数 |
| | | */ |
| | | const errorMsgHandler = (code, data): string | undefined => { |
| | | const errorMsgHandler = (code:any, data:any): string | undefined => { |
| | | const { message } = data |
| | | const msgMap = { |
| | | 400: message || '400 error 请求无效', |
| | | 401: '401 error 登录失效,请重新登录!', |
| | | 403: '403 error 对不起,你没有访问权限!', |
| | | 404: '404 Not Found', |
| | | 500: message || '500 error 后台错误,请联系管理员', |
| | | 502: '502 error 平台环境异常' |
| | | } |
| | | return msgMap[code] |
| | | return message+'请求错误' |
| | | } |
| | | |
| | | const errorHandle = (error): IResponseError => { |
| | | const errorHandle = (error:any): IResponseError => { |
| | | const { data, status, statusText } = error.response |
| | | const msg = errorMsgHandler(status, data) || `${status} error ${data ? data.message : statusText}` |
| | | alert(msg) |
| | |
| | | |
| | | // 前置拦截器(发起请求之前的拦截) |
| | | instance.interceptors.request.use((config: AxiosRequestConfig) => { |
| | | console.log('sss',config) |
| | | config.headers && (config.headers['Authorization'] = getToken()) |
| | | const controller = new AbortController() |
| | | config.signal = controller.signal |
| | |
| | | instance.interceptors.response.use( |
| | | (response: AxiosResponse) => { |
| | | const { data, status } = response |
| | | console.log('返回结果',data) |
| | | const { message } = data |
| | | console.log(status) |
| | | const { message,code } = data |
| | | // 请求正常时,仅返回需要用到的 data 信息即可 |
| | | if (message==='SUCCESS') return data.data |
| | | if (code===200) return data.data |
| | | // 1、对于一些请求正常,但后台处理失败的内容进行拦截,返回对应错误信息 |
| | | alert(message || '请求异常,请刷新重试') |
| | | return { |
| | | code: status, |
| | | message: message || '请求异常,请刷新重试', |
| | | result: data |
| | | } |
| | | return Promise.reject(data.data) |
| | | |
| | | }, |
| | | (error: AxiosError) => { |
| | | return error.response ? errorHandle(error) : Promise.reject(error) |
| | |
| | | ajaxPatch |
| | | } |
| | | |
| | | // export default instance |