123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { axiosFactory } from './setup'
- import { Message } from 'bill/index'
- import { showLoad, hideLoad } from '@/utils'
- import * as URL from './constant'
- import { ResCode, ResCodeDesc } from './constant'
- import { baseURL, params } from '@/env'
- const instance = axiosFactory()
- export const {
- axios,
- addUnsetTokenURLS,
- delUnsetTokenURLS,
- addReqErrorHandler,
- addResErrorHandler,
- delReqErrorHandler,
- delResErrorHandler,
- getToken,
- setToken,
- delToken,
- setDefaultURI,
- addHook,
- delHook,
- setHook
- } = instance
- const gotoLogin = () => {
- const loginHref = import.meta.env.DEV ? 'http://localhost:3000' : '/'
- location.href = loginHref + '?redirect=' + escape(location.href) + '#/login'
- }
- addReqErrorHandler(err => {
- // Message.error(err.message)
- hideLoad()
- gotoLogin()
- })
- addResErrorHandler(
- (response, data) => {
- if (response && response.status !== 200) {
- Message.error(response.statusText)
- } else if (data) {
- const msg = data.code && ResCodeDesc[data.code] ? ResCodeDesc[data.code] : (data?.message || data?.msg)
- if (data.code === ResCode.TOKEN_INVALID) {
- gotoLogin()
- } else {
- Message.error(msg)
- }
- }
- }
- )
- addHook({
- before: (config) => {
- if (config.url !== URL.RECORD_STATUS) {
- showLoad()
- }
- },
- after: (config) => {
- if (!config || config.url !== URL.RECORD_STATUS) {
- hideLoad()
- }
- }
- })
- setDefaultURI(baseURL)
- params.token && setToken(params.token)
- export default axios
|