import axios from 'axios' import { ElMessage } from 'element-plus' import router from '@/router' const client = axios.create({ baseURL: import.meta.env.VITE_API_BASE_URL ?? '/api', timeout: 15000, }) client.interceptors.request.use((config) => { const token = localStorage.getItem('token') if (token) { config.headers.Authorization = `Bearer ${token}` } return config }) client.interceptors.response.use( (res) => res, (error) => { if (error.response?.status === 401) { localStorage.removeItem('token') router.push('/login') } else { const msg = error.response?.data?.message ?? '请求失败' ElMessage.error(msg) } return Promise.reject(error) }, ) export default client