import axios from 'axios' import { Message } from 'element-ui' const service = axios.create({ baseURL: process.env.VUE_APP_BASE_URL, withCredentials: false, timeout: 30000 }) // 请求拦截 service.interceptors.request.use( config => { const token = sessionStorage.getItem('token') if (token) { config.headers.Authorization = token } return config }, error => { return Promise.reject(error) } ) // 响应拦截 service.interceptors.response.use( response => { if (!response) { return } const res = response if (res.data.code === 200 || res.data.status === 'OK') { if (!res.data.data) { return Promise.resolve(res.data) } return Promise.resolve(res.data.data) } else { if (res.data.code === 401) { sessionStorage.clear() window.location.replace('/') } if (res.data.code === 500) { return Promise.reject(res.data.msg || '服务器错误') } Message({ message: res.data.msg || '服务器错误', type: 'error', duration: 2000 }) return Promise.reject(res.data.data) } }, error => { Message({ message: error.message, type: 'error', duration: 5000 }) return Promise.reject(error) } ) export default service