import axios from 'axios' import { getToken, removeToken } from '@/utils/auth' import { ElMessage } from 'element-plus' const request = axios.create({ baseURL: '/api/v1', timeout: 10000, }) // 请求拦截器 request.interceptors.request.use( (config) => { const token = getToken() if (token) { config.headers.Authorization = `Bearer ${token}` } return config }, (error) => { return Promise.reject(error) } ) // 响应拦截器 request.interceptors.response.use( (response) => { const { data } = response if (data.code !== 0) { ElMessage.error(data.message || '请求失败') return Promise.reject(new Error(data.message)) } return data }, (error) => { if (error.response?.status === 401) { removeToken() window.location.href = '/login' } ElMessage.error(error.message || '网络错误') return Promise.reject(error) } ) export default request