首次提交
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
import axios from 'axios'
|
||||
import { message, Modal, notification } from 'ant-design-vue'
|
||||
|
||||
const service = axios.create({
|
||||
baseURL: import.meta.env.VITE_APP_BASE_API || '/',
|
||||
timeout: 30000,
|
||||
})
|
||||
|
||||
service.interceptors.request.use(
|
||||
(config) => {
|
||||
const token = localStorage.getItem('token')
|
||||
if (token) {
|
||||
config.headers['Authorization'] = 'Bearer ' + token
|
||||
}
|
||||
return config
|
||||
},
|
||||
(error) => Promise.reject(error),
|
||||
)
|
||||
|
||||
service.interceptors.response.use(
|
||||
(res) => {
|
||||
if (
|
||||
res.request.responseType === 'blob' ||
|
||||
res.request.responseType === 'arraybuffer'
|
||||
) {
|
||||
return res.data
|
||||
}
|
||||
const code = res.data?.code
|
||||
const normalizedCode =
|
||||
code === undefined || code === null ? undefined : String(code)
|
||||
const msg = res.data?.message || res.data?.msg || '系统错误'
|
||||
|
||||
if (normalizedCode === '401') {
|
||||
Modal.confirm({
|
||||
title: '系统提示',
|
||||
content: '登录状态已过期,请重新登录',
|
||||
okText: '重新登录',
|
||||
cancelText: '取消',
|
||||
onOk: () => {
|
||||
localStorage.removeItem('token')
|
||||
location.reload()
|
||||
},
|
||||
})
|
||||
return Promise.reject('无效的会话,或者会话已过期。')
|
||||
} else if (normalizedCode === '500') {
|
||||
message.error(msg)
|
||||
return Promise.reject(new Error(msg))
|
||||
} else if (
|
||||
normalizedCode !== undefined &&
|
||||
normalizedCode !== '200' &&
|
||||
normalizedCode !== '0000'
|
||||
) {
|
||||
notification.error({ message: '提示', description: msg })
|
||||
return Promise.reject('error')
|
||||
}
|
||||
return Promise.resolve(res.data)
|
||||
},
|
||||
(error) => {
|
||||
let msg = error.message
|
||||
if (msg === 'Network Error') {
|
||||
msg = '后端接口连接异常'
|
||||
} else if (msg.includes('timeout')) {
|
||||
msg = '系统接口请求超时'
|
||||
} else if (msg.includes('Request failed with status code')) {
|
||||
msg = '系统接口' + msg.substr(msg.length - 3) + '异常'
|
||||
}
|
||||
message.error(msg)
|
||||
return Promise.reject(error)
|
||||
},
|
||||
)
|
||||
|
||||
export default service
|
||||
Reference in New Issue
Block a user