wanghousheng 1 year ago
parent d8098aadf8
commit 716b0ac3f7
  1. 88
      src/utils/request.js

@ -16,11 +16,11 @@ const service = axios.create({
// 服务端api地址
// baseURL: process.env.NODE_ENV === 'production' ? publicConfig.BASE_API : process.env.VUE_APP_API_BASE_URL,
baseURL: publicConfig.BASE_API,
timeout: 60 * 1000 // 请求超时时间,60秒, 如果上传大文件需要更长
timeout: 60 * 1000, // 请求超时时间,60秒, 如果上传大文件需要更长
})
// 接口请求拦截
service.interceptors.request.use(config => {
service.interceptors.request.use((config) => {
// 设置每个请求的Content-Type
// config.headers['Content-Type'] = 'application/json;charset=utf-8'
@ -36,54 +36,54 @@ service.interceptors.request.use(config => {
let notLoggedMessage = false
// 接口响应拦截
service.interceptors.response.use((response) => {
const result = response.data
if (!isObject(result)) {
const error = { message: '服务端api返回的数据格式不正确' }
return Promise.reject(error)
}
// result.status [ 200正常 500有错误 401未登录 403没有权限访问 ]
// api报错信息
if (result.status === 500) {
message.error(result.message, 1.8)
return Promise.reject(result)
}
// 鉴权失败: 未登录
if (result.status === 401) {
if (!notLoggedMessage) {
notLoggedMessage = true
store.dispatch('Logout').then(() => {
notification.error({
key: 'notLoggedMessage',
message: '错误',
description: result.message,
duration: 3
service.interceptors.response.use(
(response) => {
const result = response.data
if (!isObject(result)) {
const error = { message: '服务端api返回的数据格式不正确' }
return Promise.reject(error)
}
// result.status [ 200正常 500有错误 401未登录 403没有权限访问 ]
// api报错信息
if (result.status === 500) {
message.error(result.message, 1.8)
return Promise.reject(result)
}
// 鉴权失败: 未登录
if (result.status === 401) {
if (!notLoggedMessage) {
notLoggedMessage = true
store.dispatch('Logout').then(() => {
notification.error({
key: 'notLoggedMessage',
message: '错误',
description: result.message,
duration: 3,
})
setTimeout(() => window.location.reload(), 1500)
})
setTimeout(() => window.location.reload(), 1500)
})
}
return Promise.reject(result)
}
return Promise.reject(result)
return result
},
(error) => {
// 网络请求出错
const errMsg = ((error.response || {}).data || {}).message || '请求出现错误,请稍后再试'
notification.error({
message: '网络请求出错',
description: errMsg,
duration: 3,
})
return Promise.reject(error)
}
return result
}, (error) => {
// 网络请求出错
const errMsg = ((error.response || {}).data || {}).message || '请求出现错误,请稍后再试'
notification.error({
message: '网络请求出错',
description: errMsg,
duration: 3
})
return Promise.reject(error)
})
)
const installer = {
vm: {},
install (Vue) {
install(Vue) {
Vue.use(VueAxios, service)
}
},
}
export {
installer as VueAxios,
service as axios
}
export { installer as VueAxios, service as axios }

Loading…
Cancel
Save