import axios from 'axios' // const root = '/apis' const root = 'http://139.159.225.37:85/' // 配置请求域名 axios.defaults.baseURL = root const configure = (Vue, router, { Message }) => { axios.interceptors.request.use(function (config) { // config.data = qs.stringify(config.data) return config }, function (error) { // 对请求错误做些什么 return Promise.reject(error) }) // 配置response拦截器 axios.interceptors.response.use( response => { let data = response.data let code = Number(data) if (data.code !== 200) { Message({ type: 'error', message: data.msg }) return Promise.reject(data) } switch (code) { case -100: break case -10: Message({ type: 'error', message: '登陆状态失效,请重新登陆' }) router.replace({ name: 'login' }) break case -101: Message({ type: 'error', message: '服务器异常,请稍后再试!' }) break case -102: Message({ type: 'error', message: '缺少必要参数!' }) break } return data }, error => { if (error.response) { switch (error.response.status) { case 500: Message({ customClass: 'system-err', type: 'error', message: '服务器错误!' }) break } } return Promise.reject(error.response.data) } ) Vue.prototype.$http = axios } export default axios export { configure, root }