import axios from 'axios' const api = axios.create({ baseURL: '/api', timeout: 60000 }) api.interceptors.request.use(config => { const token = localStorage.getItem('token') if (token) { config.headers.Authorization = `Bearer ${token}` } return config }) api.interceptors.response.use( res => res, err => { if (axios.isCancel(err)) { return Promise.reject(err) } const message = err.response?.data?.message || '请求失败' if (err.response?.status === 401) { localStorage.removeItem('token') if (!window.location.pathname.includes('/login')) { window.location.href = '/login' } } const wrapped = new Error(message) wrapped.code = err.code return Promise.reject(wrapped) } ) export default api