import axios from 'axios' import { Message } from 'element-ui' const api = axios.create({ baseURL: '/api', timeout: 15000 }) api.interceptors.request.use(config => { const token = sessionStorage.getItem('token') if (token) config.headers.Authorization = 'Bearer ' + token return config }) api.interceptors.response.use( response => response.data, error => { if (error.response && error.response.status === 401) { sessionStorage.removeItem('token') window.location.href = '/login' return Promise.reject(error) } if (error.code === 'ECONNABORTED') { error._toast = true Message.error('请求超时:服务器繁忙或无响应,请稍后重试') } else if (!error.response) { error._toast = true Message.error('网络异常:无法连接服务器,请检查网络后重试') } return Promise.reject(error) } ) export default api