1. request封装
import axios from "axios";
import qs from "qs";
import { userStore } from "../store/user";
const request = (url: string, method = "get", data = {}, config = {}) => {
if (import.meta.env.DEV) {
axios.defaults.baseURL = "http://127.0.0.1:7001";
} else if (import.meta.env.PROD) {
axios.defaults.baseURL = "http://33.33.33.33:8888";
}
return axiosRequest(url, method, data, config);
};
function axiosRequest(url: string, method: string, data: any, config: any) {
if (method.toLocaleLowerCase() === "post") {
data = qs.stringify(data, { indices: false });
console.log("axios请求参数=========", qs.parse(data));
}
let axiosConfig: any = {
url: url,
method: method.toLocaleLowerCase(),
data: data,
timeout: 300000,
};
if (config instanceof Object) {
for (let key in config) {
axiosConfig[key] = config[key];
}
}
return axios(axiosConfig).then((res) => res.data);
}
axios.interceptors.request.use(
(res: any) => {
res.headers.post["Content-Type"] =
"application/x-www-form-urlencoded; charset=UTF-8";
const store = userStore();
if (store.user.token) {
res.headers.Authorization = `Bearer ${store.user.token}`;
}
return res;
},
(error) => {
return Promise.reject(error);
}
);
axios.interceptors.response.use(
(res) => {
return res;
},
(error) => {
return Promise.reject(error);
}
);
export default request;