import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, } from "axios"; import { ElMessage } from "element-plus"; const VITE_REDIRECT_URI = import.meta.env.VITE_REDIRECT_URI; const service: AxiosInstance = axios.create({ timeout: 5000, }); service.interceptors.request.use( (config: AxiosRequestConfig) => { const headerToken = localStorage.getItem("token"); if (headerToken) { // @ts-ignore config.headers["Authorization"] = "Bearer " + headerToken; } return config; }, (error: AxiosError) => { console.log(error); return Promise.reject(); } ); service.interceptors.response.use( (response: AxiosResponse) => { if (response.status === 200) { return response; } else { Promise.reject(); } }, (error: AxiosError) => { console.log(error); try { // @ts-ignore window.android.setError(error.response?.data?.message || "请求异常"); } catch (error) { console.log(error); } if ( error.response?.status === 401 && window.location.href.indexOf("quCode") === -1 ) { localStorage.removeItem("token"); window.location.href = VITE_REDIRECT_URI; // router.push({ // path: "/login", // query: { // ...router.currentRoute.value.query, // redirectUrl: VITE_REDIRECT_URI, // }, // }); } // @ts-ignore ElMessage.error(error.response?.data?.message); return Promise.reject(); } ); export default service;