import axios from 'axios' import { Message } from 'element-ui' const api = axios.create({ baseURL: '/api', timeout: 20000 }) api.interceptors.request.use(config => { const token = sessionStorage.getItem('token') if (token) config.headers.Authorization = 'Bearer ' + token return config }) api.interceptors.response.use( response => { const payload = response.data if (payload && payload.code && payload.code !== 200) { Message.error(payload.message || '请求失败') return Promise.reject(new Error(payload.message || '请求失败')) } return payload }, error => { if (error.response && error.response.status === 401) { sessionStorage.clear() window.location.href = '/login' } else { Message.error(error.response && error.response.data && error.response.data.message ? error.response.data.message : '网络异常,请稍后重试') } return Promise.reject(error) } ) export default api