import axios from 'axios';
|
import md5 from 'md5';
|
import { ElMessage } from 'element-plus';
|
|
let IP = 'http://101.230.224.80:8082/';
|
|
const $jingan = axios.create({
|
baseURL: IP,
|
timeout: 20000
|
});
|
|
const TOKEN = 'e6dc8bb9e1ff0ce973fb92b4af2e4c3f';
|
// 统一时间戳请求头
|
const headTimeStamp = function () {
|
const date = new Date();
|
const nowS = parseInt(date.getTime() / 1000);
|
const now = nowS - 200;
|
// const now = 1722234092;
|
const key = `${now}${TOKEN}`;
|
const sign = md5(key);
|
return [
|
{ key: 'JA-TIMESTAMP', value: now },
|
{ key: 'JA-SIGN', value: sign },
|
{ key: 'JA-TOKEN', value: TOKEN }
|
];
|
};
|
|
//添加拦截器
|
[$jingan].forEach((i) => {
|
// 添加请求拦截器
|
i.interceptors.request.use(
|
function (config) {
|
// 在发送请求之前做些什么
|
console.log('==>请求开始');
|
console.log(`${config.baseURL}${config.url}`);
|
if (config.data) {
|
console.log('==>请求数据', config.data);
|
}
|
const heads = headTimeStamp();
|
heads.forEach((h) => {
|
config.headers[h.key] = h.value;
|
});
|
return config;
|
},
|
function (error) {
|
// 对请求错误做些什么
|
console.log('==>请求开始');
|
console.log(error);
|
ElMessage({
|
message: error,
|
type: 'error'
|
});
|
return Promise.reject(error);
|
}
|
);
|
|
// 添加响应拦截器
|
i.interceptors.response.use(
|
function (response) {
|
// 2xx 范围内的状态码都会触发该函数。
|
// 对响应数据做点什么
|
console.log(response);
|
console.log('==>请求结束');
|
if (response.status == 200) {
|
if (response.data.code != undefined && response.data.code != null) {
|
if (response.data.code == 20000) {
|
return response;
|
} else {
|
ElMessage({
|
message: response.data.message,
|
type: 'error'
|
});
|
return Promise.reject(response.data.message);
|
}
|
} else {
|
return response;
|
}
|
} else {
|
return Promise.reject(response);
|
}
|
},
|
function (error) {
|
// 超出 2xx 范围的状态码都会触发该函数。
|
// 对响应错误做点什么
|
console.log(error);
|
console.log('==>请求结束');
|
ElMessage({
|
message: error,
|
type: 'error'
|
});
|
return Promise.reject(error);
|
}
|
);
|
});
|
|
export { $jingan };
|