2024-05-11 14:30:29 +08:00
|
|
|
|
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) {
|
2024-05-20 11:06:31 +08:00
|
|
|
|
config.headers['x-token'] = token
|
2024-05-11 14:30:29 +08:00
|
|
|
|
}
|
|
|
|
|
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?return_url=' + 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;
|