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 };