main.js
3.22 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import Vue from 'vue';
import App from '@/App.vue';
import router from '@/router';
import store from '@/store';
import axios from 'axios';
import ElementUI from 'element-ui';
import EagleWebToolkit from '../packages';
import NProgress from 'nprogress';
import EagleCodeSnippet from "@/components/code-snippet";
import '@/styles/theme/index.css';
import '@/styles/nprogress.scss';
import "highlight.js/styles/color-brewer.css";
import { Notification } from 'element-ui';
const request = axios.create({
baseURL: 'http://47.110.137.80:7101/',
timeout: 1000,
headers: {
'Authorization': 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE2NTE4ODM0MTEsInN1YiI6ImFkbWluIiwiY3JlYXRlZCI6MTU1MTg4MzQxMTk2NX0.rocgsQq_EEbBDV-BcHpJCUS92KGjBH-0Pf47IrW9v3aj6xJCoFIrnKX4vtpPfYscTk1roBhR5s3I1DIvT8B9wg'
}
});
const codeMessage = {
200: '服务器成功返回请求的数据',
201: '新建或修改数据成功。',
202: '一个请求已经进入后台排队(异步任务)',
204: '删除数据成功。',
400: '发出的请求有错误,服务器没有进行新建或修改数据,的操作。',
401: '用户没有权限(令牌、用户名、密码错误)。',
403: '用户得到授权,但是访问是被禁止的。',
404: '发出的请求针对的是不存在的记录,服务器没有进行操作',
406: '请求的格式不可得。',
410: '请求的资源被永久删除,且不会再得到的。',
422: '当创建一个对象时,发生一个验证错误。',
500: '服务器发生错误,请检查服务器',
502: '网关错误',
503: '服务不可用,服务器暂时过载或维护',
504: '网关超时'
};
const checkStatus = (response) => {
if (response.status >= 200 && response.status < 300) {
return response;
}
const errortext = codeMessage[response.status] || response.statusText;
const messageContent = `
${response.request.responseURL}
${errortext}
`;
Notification.error({
title: `请求错误 ${response.status}:`,
message: messageContent,
duration: 3000,
});
const error = new Error(errortext);
error.name = response.status;
error.response = response;
return error;
}
// respone 拦截器
request.interceptors.response.use(
response => {
const { data = {} } = response;
const { businessException, errorCode, message, success } = data;
if (success) {
return data;
} else if (businessException) {
if (errorCode) {
Notification.error({
title: '提示',
message,
duration: 3000,
});
}
return { success: false };
} else {
if (errorCode) {
Notification.error({
title: '提示',
message: codeMessage[errorCode],
duration: 3000,
});
}
return { success: false };
}
},
error => {
const e = checkStatus(error.response);
return { success: false };
});
Vue.prototype.$axios = request;
// 进度条配置
NProgress.configure({ showSpinner: false });
// 注册代码片段组件
Vue.component("eagle-code-snippet", EagleCodeSnippet);
// 注册饿了么UI
Vue.use(ElementUI);
// 注册Eagle组件库
Vue.use(EagleWebToolkit);
Vue.config.productionTip = false;
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')