import Request from "./request/index.js"; import useToast from "@/hooks/toast/useToast.js"; const { showMessage } = useToast(); const request = new Request({ baseURL: import.meta.env.VITE_API_URL, timeout: 1000 * 60 * 5, interceptors: { //实例的请求拦截器 requestInterceptors: (config) => { config.headers["Content-Type"] = config.method === "get" ? "application/x-www-form-urlencoded" : "application/json"; const token = uni.getStorageSync("token") || ""; if (config.isFormData) { config.headers["Content-Type"] = "multipart/form-data"; config.headers["Authorization"] = token; } else { config.headers["Authorization"] = token; } return config; }, //实例的响应拦截器 responseInterceptors: async (response) => { if (response.data.status === 1) { showMessage({ type: "error", message: response.data.msg }); } // if(response.data.status === 0){ // uni.setStorageSync("token", response.data.data.Token); // uni.setStorageSync("userInfo", response.data.data.AccountInfo); // response.config.headers["Authorization"] = response.data.data.Token; // } if (response.data.code === 401) { uni.navigateTo({ url: "/pages/login/index", }); } if ([200, 201, 204].includes(response.status)) { return response.config.responseType === "blob" ? response : response; } else { // showMessage({ type: "error", message: response.data.msg }); return Promise.reject( new Error(response.data.msg || "An error occurred.") ); } }, }, }); const fontRequest = (config) => { console.log(import.meta); if (["get", "GET"].includes(config.method)) { config.params = config.data; } return request.request(config); }; export default fontRequest;