import axios, { AxiosInstance } from "axios"; import { layer } from "@layui/layui-vue"; const BASEURL = import.meta.env.VITE_API_BASE_URL; const checkStatus = (response: any) => { if (response.status >= 200 && response.status < 300) { if (response.data.code === 200 || !response.data.code) { return response.data; } else { layer.msg(`${response.data.msg}`, { time: 1000, icon: 2 }); return response.data; } } }; class HttpRequest { // 请求拦截 interceptors(instance: AxiosInstance) { instance.interceptors.request.use( (config) => { console.log(config); // 添加全局的loading.. // 请求头携带token return config; }, (error: any) => { return Promise.reject(error); } ); //响应拦截 instance.interceptors.response.use( (res) => { //返回数据 const { data } = res; console.log("返回数据处理", res); return data; }, (error: any) => { console.log("error==>", error); return Promise.reject(error); } ); } request(url: string, method: string, data: any, responseType?: any) { // const token = window.sessionStorage.getItem("_4L_TOKEN") || ""; switch (method) { case "get": data = { params: data }; break; default: data = { data }; } const instance = axios.create({ headers: { Accept: "application/json", "Content-Type": "application/json;charset=UTF-8", auth: "43626546liangjiang", }, timeout: 50000, baseURL: BASEURL, responseType: responseType, }); return instance({ url, method, ...data }) .then(checkStatus) .then((data) => data) .catch((err) => { console.log(err); }); } } const http = new HttpRequest(); export default http;