import { AxiosStatic, setSpliceUrl } from "./setup"; import { stylelist, hotlist } from "./url"; import { useParams } from "@/hook/useParams"; import { paramsToStr } from "@/utils"; import { setStaticPrefix } from "@/sdk"; import Interfaces from "./interfaces"; const params = useParams(); params.m = params.m || (window as any).num || "SS-t-4pMXagRDjk"; export const baseURL = import.meta.env.VITE_API_BASE_URL ? `/${import.meta.env.VITE_API_BASE_URL}/${params.m}` : ""; const spliceUrl = "---"; setSpliceUrl(spliceUrl); setStaticPrefix(" "); // setStaticPrefix(baseURL); // baseURL export default (axiosInstance: AxiosStatic) => { axiosInstance.defaults.baseURL = baseURL; axiosInstance.interceptors.request.use((config) => { let url = config.url; let params = (config as any).params; if ("params" in config && params && Object.keys(params).length) { url += `${spliceUrl}${paramsToStr(params).substring(1)}`; params = void 0; } return { ...config, url, params, method: "GET", }; }); axiosInstance.addIntercept({ resHandler(config) { (config as any).list.forEach((item) => { item.icon = baseURL + "/" + item.icon; }); return config; }, urls: [stylelist], }); axiosInstance.addIntercept({ resHandler(config) { (config as any).list.forEach((item) => { if (item.meta && item.type !== "WEB") { item.meta.forEach((m) => { m.name; m.url = baseURL + "/" + m.url; }); } }); return config; }, urls: [hotlist], }); };