| | |
| | | * isToken是否需要token |
| | | */ |
| | | import axios, { AxiosRequestConfig, AxiosResponse } from 'axios' |
| | | import store from '@/store/user' |
| | | // import store from '@/store/user' |
| | | import { useMyStore } from '@/store' |
| | | import router from '@/router'; |
| | | import { serialize } from '@/utils/common' |
| | | import { getToken } from '@/utils/auth'; |
| | |
| | | if (config.method === 'post' && meta.isSerialize === true) { |
| | | config.data = serialize(config.data) |
| | | } |
| | | // config.headers[ELocalStorageKey.Token] = localStorage.getItem(ELocalStorageKey.Token) |
| | | // config.headers[REQUEST_ID] = uuidv4() |
| | | // config.baseURL = CURRENT_CONFIG.baseURL |
| | | return config |
| | | }, |
| | | (error: any) => { |
| | |
| | | const status = res.data.code || res.status |
| | | const message = res.data.msg || res.data.message || res.data.error_description || '未知错误' |
| | | // 如果是401则跳转到登录页面 |
| | | // const store = useMyStore() |
| | | if (status === 401) { |
| | | store.dispatch('FedLogOut').then(() => router.push({ path: '/login' })) |
| | | // return |
| | | if (status == 401) { |
| | | router.push({ path: '/login' }) |
| | | } |
| | | // 如果请求为非200否者默认统一处理 |
| | | if (status !== 200) { |
| | |
| | | return Promise.reject(new Error(message)) |
| | | } |
| | | if (message === '缺失令牌,鉴权失败') { |
| | | // message({ |
| | | // message: '登录信息已过期,请重新登录', |
| | | // type: 'warning', |
| | | // }) |
| | | ElMessage.warning('登录信息已过期,请重新登录') |
| | | } |
| | | if ( |
| | |
| | | } |
| | | return Promise.reject(new Error(message)) |
| | | } |
| | | // console.info('URL: ' + response.config.baseURL + response.config.url, '\nData: ', response.data, '\nResponse:', response) |
| | | // const whiteList = ['/manage/api/v1/live/streams/stop'] |
| | | // if (whiteList.includes(response.config.url)) { |
| | | // return Promise.reject(response.data) |
| | | // } |
| | | // 处理消息返回 |
| | | // if (response.data.code && !response.data.success) { |
| | | // message.error(response.data.message) |
| | | // } |
| | | // if (response.data.code && response.data.code !== 0) { |
| | | // message.error(response.data.message) |
| | | // } |
| | | return res |
| | | }, |
| | | (err: { |
| | |
| | | if (err.response?.data && err.response.data.result) { |
| | | description = err.response.data.result.message |
| | | } |
| | | // @See: https://github.com/axios/axios/issues/383 |
| | | if (!err.response || !err.response.status) { |
| | | ElMessage.error('网络异常,请检查后端服务后重试') |
| | | return |
| | | } |
| | | if (err.response?.status !== 200) { |
| | | ElMessage.error(`错误码: ${err.response?.status}`) |
| | | if (err.response.data?.msg) { |
| | | ElMessage.error(err.response.data?.msg) |
| | | } else if (err.response.data?.error_description) { |
| | | ElMessage.error(err.response.data?.error_description) |
| | | } else { |
| | | ElMessage.error(`错误码: ${err.response?.status}`) |
| | | } |
| | | } |
| | | // if (err.response?.status === 403) { |
| | | // // window.location.href = '/' |
| | | // } |
| | | if (err.response?.status === 401) { |
| | | console.error(err.response) |
| | | store.dispatch('FedLogOut').then(() => router.push({ path: '/login' })) |
| | | // const flag: number = Number(localStorage.getItem(ELocalStorageKey.Flag)) |
| | | // switch (flag) { |
| | | // case EUserType.Web: |
| | | // router.push(ERouterName.PROJECT_LIST) |
| | | // break |
| | | // case EUserType.Pilot: |
| | | // router.push(ERouterName.PILOT) |
| | | // break |
| | | // } |
| | | if (err.response?.status == 401) { |
| | | router.push({ path: '/login' }) |
| | | } |
| | | return Promise.reject(err) |
| | | }, |