133 lines
4.0 KiB
JavaScript
133 lines
4.0 KiB
JavaScript
import axios from 'axios';
|
||
import { ElMessage } from 'element-plus'
|
||
import tools from '@/utils/tools'
|
||
import router from '../router';
|
||
// axios.defaults.baseURL = '/api'
|
||
axios.defaults.timeout = 120000
|
||
|
||
|
||
// HTTP request 拦截器
|
||
axios.interceptors.request.use(
|
||
(config) => {
|
||
let token = tools.data.get('token');
|
||
if (token) {
|
||
config.headers['x-token'] = token
|
||
}
|
||
return config;
|
||
},
|
||
(error) => {
|
||
return Promise.reject(error);
|
||
}
|
||
);
|
||
|
||
// HTTP response 拦截器
|
||
axios.interceptors.response.use(
|
||
(response) => {
|
||
return response;
|
||
},
|
||
(error) => {
|
||
if (error.response) {
|
||
if (error.response.status == 401) {
|
||
ElMessage.error("请重新登录!");
|
||
// window.location.href = '/#/login?returnURL=' + window.location.href
|
||
window.location.href =
|
||
'http://220.191.238.50:996/api/login?returnURL=' +
|
||
window.location.href
|
||
} else if (error.response.status == 404) {
|
||
ElMessage.error("Status:404,正在请求不存在的服务器记录!");
|
||
} else if (error.response.status == 500) {
|
||
ElMessage.error({
|
||
title: '请求错误',
|
||
message: "Status:500,服务器发生错误!"
|
||
});
|
||
} else {
|
||
ElMessage.error(`Status:${error.response.status},未知错误!`);
|
||
}
|
||
} else {
|
||
ElMessage.error("请求服务器无响应!");
|
||
}
|
||
return Promise.reject(error.response);
|
||
}
|
||
);
|
||
|
||
var http = {
|
||
|
||
/** get 请求
|
||
* @param {接口地址} url
|
||
* @param {请求参数} params
|
||
*/
|
||
get: function (url, params) {
|
||
return new Promise((resolve, reject) => {
|
||
axios.get(url, {
|
||
params: params
|
||
})
|
||
.then((response) => {
|
||
if (response.data.code == 400 && response.data.msg) {
|
||
ElMessage.error(response.data.msg);
|
||
}
|
||
resolve(response.data);
|
||
})
|
||
.catch((error) => {
|
||
reject(error);
|
||
});
|
||
})
|
||
},
|
||
|
||
/** post 请求
|
||
* @param {接口地址} url
|
||
* @param {请求参数} params
|
||
*/
|
||
post: function (url, params) {
|
||
return new Promise((resolve, reject) => {
|
||
axios.post(url, params)
|
||
.then((response) => {
|
||
if (response.data.code == 400 && response.data.msg) {
|
||
ElMessage.error(response.data.msg);
|
||
}
|
||
resolve(response.data);
|
||
})
|
||
.catch((error) => {
|
||
reject(error);
|
||
});
|
||
})
|
||
},
|
||
|
||
put: function (url, params) {
|
||
return new Promise((resolve, reject) => {
|
||
axios.put(url, params)
|
||
.then((response) => {
|
||
if (response.data.code == 400 && response.data.msg) {
|
||
ElMessage.error(response.data.msg);
|
||
}
|
||
resolve(response.data);
|
||
})
|
||
.catch((error) => {
|
||
reject(error);
|
||
});
|
||
})
|
||
},
|
||
|
||
delete: function (url, params) {
|
||
return new Promise((resolve, reject) => {
|
||
axios.delete(url, params)
|
||
.then((response) => {
|
||
if (response.data.code == 400 && response.data.msg) {
|
||
ElMessage.error(response.data.msg);
|
||
}
|
||
resolve(response.data);
|
||
})
|
||
.catch((error) => {
|
||
reject(error);
|
||
});
|
||
})
|
||
},
|
||
download: function (url) {
|
||
let user = tools.data.get('user');
|
||
let token = "x-token=" + user.token;
|
||
url = url + (url.indexOf("?") > 0 ? "&" : "?") + token;
|
||
window.open(url);
|
||
}
|
||
}
|
||
|
||
export default http;
|