/
axios.js
72 lines (67 loc) · 1.97 KB
/
axios.js
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
import axios from "axios";
import router from "../router";
import { Notification, Message } from 'element-ui';
axios.interceptors.request.use(
config => {
config.headers["X-Requested-With"] = "XMLHttpRequest";
return config;
},
error => {
Promise.reject(error);
}
);
axios.interceptors.response.use(
({ data }) => {
// 对响应数据做点什么
switch (data.code) {
case 400:
Message.error({
message: data.message
});
break;
case 301:
try {
data.message &&
Message[data.data.type]({
message: data.message
});
if (data.data.isVueRoute) {
router.replace(data.data.url);
} else {
window.location.href = data.data.url;
}
} catch (error) {
console.error("请返回 Admin::responseRedirect()");
}
break;
case 200:
data.message &&
Message.success({
message: data.message
});
break;
}
return data;
},
({ response }) => {
//console.log(response.status);
// 对响应错误做点什么
switch (response.status) {
case 404:
Notification.error({
title: "请求页面不存在",
desc: response.data.message
});
router.replace('/404')
break;
default:
Notification.error({
title: "请求错误",
desc: response.data.message
});
break;
}
return Promise.reject(response);
}
);
export default axios;