diff --git a/src/utils/request.ts b/src/utils/request.ts index de538cd7f2b0c2c5bab607398a7620637ec15501..ded350c771c73d075d6d13726a641e1f39394267 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -1,4 +1,4 @@ -import Axios, { AxiosRequestConfig, AxiosResponse } from 'axios' +import Axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios' import { message } from 'ant-design-vue' // import router from '@/router' // import qs from 'qs' @@ -6,6 +6,13 @@ import store from '@/store' import { setToken, getToken, removeToken } from '@/utils/auth' import { refreshToken } from '@/api/system/user' import NProgress from 'nprogress' +const RESPONSE_STATUS = { + OK: 200, + NOT_LOGIN: 401, + NO_PERMISSON: 403, + NOT_FOUND: 404, + SERVER_ERROR: 500, +} interface CustomAxiosRequestConfig extends AxiosRequestConfig { hideLoading?: boolean @@ -74,11 +81,22 @@ service.interceptors.response.use( return Promise.resolve(data) }, - (error: { message: string }) => { + (error: AxiosError) => { NProgress.done() - message.destroy() - message.error('网络异常') + const response = Object.assign({}, error.response) + if (response) { + switch (response.status) { + case RESPONSE_STATUS.NOT_FOUND: + message.error('没找到接口信息') + break + case RESPONSE_STATUS.SERVER_ERROR: + message.error('系统异常') + break + default: + message.error(`连接错误-${response.status}`) + } + } return Promise.reject(error) }, )