request.js
2.36 KB
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
86
87
88
89
90
91
92
93
94
95
96
97
import axios from 'axios'
// MessageBox
import { Message } from 'element-ui'
import store from '@/store'
import { getToken, removeToken } from '@/utils/auth'
import router from '@/router'
// create an axios instance
const service = axios.create({
// baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
withCredentials: false // send cookies when cross-domain requests
// timeout: 10000 // request timeout
})
// request interceptor
service.interceptors.request.use(
config => {
// do something before request is sent
if (store.state.token) {
// let each request carry token --['X-Token'] as a custom key.
// please modify it according to the actual situation.
config.headers['X-Source'] = 'web'
config.headers['x-auth-token'] = getToken()
}
return config
},
error => {
// do something with request error
console.log(error) // for debug
return Promise.reject(error)
}
)
// response interceptor
service.interceptors.response.use(
/**
* If you want to get information such as headers or status
* Please return response => response
*/
/**
* Determine the request status by custom code
* Here is just an example
* You can also judge the status by HTTP Status Code.
*/
response => {
const res = response.data
if (response.config.url.includes('download')) {
return res
}
if (response.config.url.includes('recognize')) {
return res
}
if (response.config.url.includes('verify')) {
return res
}
// 3703图片未识别 3730报表无数据
if (
(res && res.code === 0) ||
res.code === 2926 ||
res.code === 4001 ||
res.code === 3703 ||
res.code === 3730
) {
return res
} else if (res && res.code === 2909) {
// 2909 登录超时
// cookie失效
Message({
message: res.msg || 'error',
type: 'error',
duration: 5 * 1000
})
removeToken()
router.push('/login')
} else if (res && res.code) {
Message({
message: res.msg || 'error',
type: 'error',
duration: 5 * 1000
})
}
return res
},
error => {
Message({
message: '网络连接异常',
type: 'error',
duration: 5 * 1000
})
console.log('err' + error) // for debug
return Promise.reject(error)
}
)
export default service