1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { axiosFactory } from './setup'
- import { message } from 'ant-design-vue'
- import { showLoading, hideLoading } from '@/components/loading'
- import { ResCode, ResCodeDesc } from './constant'
- import { baseURL, token, mainURL } from '@/env'
- const instance = axiosFactory()
- export const {
- axios,
- addUnsetTokenURLS,
- delUnsetTokenURLS,
- addReqErrorHandler,
- addResErrorHandler,
- delReqErrorHandler,
- delResErrorHandler,
- getToken,
- setToken,
- delToken,
- setDefaultURI,
- addHook,
- delHook,
- setHook
- } = instance
- export const gotoLogin = () => {
- location.replace(
- mainURL + '/?redirect=' + escape(location.href) + '#/login/login'
- )
- }
- const tokenInvalid = () => {
- message.error(ResCodeDesc[ResCode.TOKEN_INVALID])
- setTimeout(gotoLogin, 1000)
- }
- addReqErrorHandler(err => {
- showLoading()
- tokenInvalid()
- })
- addResErrorHandler((response, data) => {
- if (response && response.status !== 200) {
- } else if (data) {
- const msg =
- data.code && ResCodeDesc[data.code]
- ? ResCodeDesc[data.code]
- : data?.message || data?.msg
- if (data.code === ResCode.TOKEN_INVALID) {
- tokenInvalid()
- } else {
- message.error(msg)
- }
- }
- })
- addHook({
- before: () => showLoading(),
- after: config => config && hideLoading()
- })
- console.log(baseURL)
- setDefaultURI(baseURL)
- if (!token) {
- tokenInvalid()
- } else {
- setToken(token)
- }
- export default axios
|