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
import axios from "axios";
import { message } from "ant-design-vue";
import { getToken } from "./token";
// 创建axios实例
const instance = axios.create({
baseURL: process.env.VUE_APP_MODE,
// 设置相应的时间
timeout: 10000,
headers: {
Accept: "application/json",
"Content-Type": "application/json",
},
});
const token:String = getToken();
// 请求拦截器
instance.interceptors.request.use(
function (config: any) {
// 这里判断localStorage里面是否存在token,如果有则在请求头里面设置
if (token) {
config.headers.Authorization = token;
config.headers['token'] = token;
}
return config;
},
function (error) {
return Promise.reject(error);
}
);
// 响应式拦截器
instance.interceptors.response.use(
function (response) {
if (response.status === 200 ) {
return response.data
} else {
message.error(response.data.message);
}
},
function (error) {
return Promise.reject(error);
}
);
export default instance;