import { axiosFactory } from './setup' import { message } from 'antd' import { LOGIN, ResCodeDesc } from 'constant' import { showLoading, hideLoading } from 'components/loading' const instance = axiosFactory() export const { axios, addUnsetTokenURLS, addReqErrorHandler, addResErrorHandler, delReqErrorHandler, delResErrorHandler, getToken, setToken, delToken, setDefaultURI, addHook, delHook, setHook } = instance addReqErrorHandler(err => { message.error(err.message) }) addResErrorHandler( (response, data) => { if (response.status !== 200) { message.error(response.statusText) } else if (data) { const msg = data.code && ResCodeDesc[data.code] ? ResCodeDesc[data.code] : data?.message message.error(msg) } } ) addHook({ before: showLoading, after: hideLoading }) addUnsetTokenURLS(LOGIN) setDefaultURI('/api') export default axios