1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import axios from 'axios'
import { Notification, MessageBox, Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
let protocol = window.location.protocol
// 创建axios实例
const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL: protocol + process.env.VUE_APP_BASE_API,
// 超时
timeout: 6000000
})
// request拦截器
service.interceptors.request.use(
config => {
if (getToken()) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
return config
},
error => {
console.log(error)
Promise.reject(error)
}
)
// 响应拦截器
service.interceptors.response.use(res => {
if (res.config.responseType === 'arraybuffer') { // 二进制流下载
}
const code = res.data.code
if (code == undefined) {
return res;
}
// if (code === 401) {
// // MessageBox.confirm(
// // '登录状态已过期,您可以继续留在该页面,或者重新登录',
// // '系统提示',
// // {
// // confirmButtonText: '重新登录',
// // cancelButtonText: '取消',
// // type: 'warning'
// // }
// // ).then(() => {
// // store.dispatch('LogOut').then(() => {
// // location.reload() // 为了重新实例化vue-router对象 避免bug
// // })
// // })
// } else if (code !== 200) {
// if(res.data.data=='拒绝此用户角色访问'){
// // alert(1)
// // console.log(this.$router)
// window.location.href= window.location.protocol+"//"+window.location.host+"/404"
// window.location.reload;
// // location.reload()
// // this.$router.push({ path: "/404" });
// // this.$router.push('/404')
// }else{
// Notification.error({
// title: res.data.data
// })
// return Promise.reject('error')
// }
// } else {
// return res.data
// }
return res.data
},
error => {
console.log('err' + error)
// Message({
// message: error.message,
// type: 'error',
// duration: 5 * 1000
// })
return Promise.reject(error)
}
)
export default service