import axios from 'axios'; import { useUserStore } from '@/store'; const request = axios.create({ baseURL: import.meta.env.PUBLIC_BASE_URL, timeout: 10000, }); // 请求拦截器:自动附加 token request.interceptors.request.use( (config) => { const token = useUserStore.getState().userInfo?.token; if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }, (error) => { return Promise.reject(error); }, ); // 响应拦截器 request.interceptors.response.use( (response) => { // TODO: 统一处理业务错误码 return response; }, (error) => { // TODO: 统一处理网络错误 return Promise.reject(error); }, ); export const get = (url: string, params?: object) => request.get>(url, { params }).then((res) => res.data); export const post = (url: string, data?: object) => request.post>(url, data).then((res) => res.data); export default request;