|
@@ -0,0 +1,129 @@
|
|
|
+import axios from 'axios';
|
|
|
+import Vue from 'vue';
|
|
|
+import context from '../main';
|
|
|
+let loading;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+// axios.defaults.timeout = 3000000;
|
|
|
+
|
|
|
+// let loadinginstace;
|
|
|
+
|
|
|
+axios.interceptors.request.use(
|
|
|
+ config => {
|
|
|
+ config.headers = {
|
|
|
+ "Content-Type": "application/json"
|
|
|
+ }
|
|
|
+ return config;
|
|
|
+ }, error => {
|
|
|
+ loading.close();
|
|
|
+ if (error) {
|
|
|
+ context.$alert('网络错误,请稍后再试!','提示',{
|
|
|
+ confirmButtonText: '确定'
|
|
|
+ });
|
|
|
+ return Promise.reject(error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+axios.interceptors.response.use(
|
|
|
+ res => {
|
|
|
+ loading.close();
|
|
|
+ if (res.data.code == 0) {
|
|
|
+ return res.data;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ context.$alert(res.data.msg,'提示',{
|
|
|
+ confirmButtonText: '确定'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ err => {
|
|
|
+ loading.close();
|
|
|
+ if (err.message.includes('timeout')) {
|
|
|
+ err.message = '请求超时';
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (err && err.response) {
|
|
|
+ switch (err.response.status) {
|
|
|
+ case 400: err.message = '请求错误(400)'; break;
|
|
|
+ case 401: err.message = '未授权,请重新登录(401)'; break;
|
|
|
+ case 403: err.message = '拒绝访问(403)'; break;
|
|
|
+ case 404: err.message = '请求出错(404)'; break;
|
|
|
+ case 408: err.message = '请求超时(408)'; break;
|
|
|
+ case 500: err.message = '服务器错误(500)'; break;
|
|
|
+ case 501: err.message = '服务未实现(501)'; break;
|
|
|
+ case 502: err.message = '网络错误(502)'; break;
|
|
|
+ case 503: err.message = '服务不可用(503)'; break;
|
|
|
+ case 504: err.message = '网络超时(504)'; break;
|
|
|
+ case 505: err.message = 'HTTP版本不受支持(505)'; break;
|
|
|
+ default: err.message = `连接出错(${err.response.status})!`;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ err.message = '连接服务器失败!'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ context.$alert(err.message,'提示',{
|
|
|
+ confirmButtonText: '确定'
|
|
|
+ });
|
|
|
+ return Promise.reject(err);
|
|
|
+ });
|
|
|
+
|
|
|
+Vue.prototype.$axios = axios;
|
|
|
+
|
|
|
+
|
|
|
+let requestLoading = (url, method, params, showLoading = true) => {
|
|
|
+ if (showLoading) {
|
|
|
+ loading = context.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '加载中...',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return axios({
|
|
|
+ method: method,
|
|
|
+ url: url,
|
|
|
+ withCredentials: true,
|
|
|
+ data: params,
|
|
|
+ timeout: 120000
|
|
|
+ })
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+const Prefix = process.env.NODE_ENV == 'production' ? 'http://39.97.239.116:8080' : '/api';
|
|
|
+
|
|
|
+
|
|
|
+//测试请求
|
|
|
+export const testRequest = () => {
|
|
|
+ return requestLoading(`${Prefix}/index.php?index/index/index`, 'get', {})
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|