import axios from 'axios';
|
import { ElMessage } from 'element-plus';
|
|
const debug = true;
|
|
let ip1 = 'http://47.100.191.150:9029/';
|
// console.log(import.meta.env);
|
if (import.meta.env.VITE_DATA_MODE == 'jingan') {
|
ip1 = 'http://114.215.109.124:8805/';
|
}
|
|
if (debug) {
|
ip1 = 'http://192.168.1.7:8084/';
|
}
|
|
const $http = axios.create({
|
baseURL: ip1,
|
timeout: 20000
|
});
|
|
//添加拦截器
|
[$http].forEach((i) => {
|
// 添加请求拦截器
|
i.interceptors.request.use(
|
function (config) {
|
// 在发送请求之前做些什么
|
if (import.meta.env.DEV) {
|
console.log('==>请求开始');
|
console.log(`${config.baseURL}${config.url}`);
|
if (config.data) {
|
console.log('==>请求数据', config.data);
|
}
|
}
|
return config;
|
},
|
function (error) {
|
// 对请求错误做些什么
|
if (import.meta.env.DEV) {
|
console.log('==>请求开始');
|
console.log(error);
|
}
|
ElMessage({
|
message: error,
|
type: 'error'
|
});
|
return Promise.reject(error);
|
}
|
);
|
|
// 添加响应拦截器
|
i.interceptors.response.use(
|
function (response) {
|
// 2xx 范围内的状态码都会触发该函数。
|
// 对响应数据做点什么
|
if (import.meta.env.DEV) {
|
console.log(response);
|
console.log('==>请求结束');
|
}
|
if (response.status == 200) {
|
if (
|
response.data.success != undefined &&
|
response.data.success != null
|
) {
|
if (response.data.success == true) {
|
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 范围的状态码都会触发该函数。
|
// 对响应错误做点什么
|
if (import.meta.env.DEV) {
|
console.log(error);
|
console.log('==>请求结束');
|
}
|
ElMessage({
|
message: error,
|
type: 'error'
|
});
|
return Promise.reject(error);
|
}
|
);
|
});
|
|
// const $http = {
|
// get(url) {
|
// const controller = new AbortController();
|
// return {
|
// con: controller,
|
// resp: axiosInstance.get(url, { signal: controller.signal })
|
// };
|
// },
|
// put(url, data) {
|
// const controller = new AbortController();
|
// return {
|
// con: controller,
|
// resp: axiosInstance.put(url, data, { signal: controller.signal })
|
// };
|
// },
|
// post(url, data) {
|
// const controller = new AbortController();
|
// return {
|
// con: controller,
|
// resp: axiosInstance.post(url, data, { signal: controller.signal })
|
// };
|
// },
|
// delete(url) {
|
// const controller = new AbortController();
|
// return {
|
// con: controller,
|
// resp: axiosInstance.delete(url, { signal: controller.signal })
|
// };
|
// }
|
// };
|
|
function resToData(res) {
|
res.resp = res.resp.then((res) => res.data);
|
return res;
|
}
|
|
export { $http, resToData };
|