1. 自定义配置
/** * Created by superman on 17/2/16. * http配置 */ import axios from ‘axios‘ import utils from ‘@/config/cookieUtils‘ // axios 配置 axios.defaults.baseURL = store.state.gateway_url axios.defaults.headers.post[‘Content-Type‘] = ‘application/json‘ // http request 拦截器 axios.interceptors.request.use( config => { config.headers[‘Access-Token‘] = ‘xxxxxxxxxxx‘ return config }, err => { return Promise.reject(err) }) // http response 拦截器 axios.interceptors.response.use( response => { var serverResult = response.data.serverResult if (serverResult && serverResult.resultCode !== ‘200‘ && serverResult.resultCode !== ‘10007‘ && serverResult.resultCode !== ‘10008‘ && serverResult.resultCode !== ‘10010‘) { var msg = serverResult.resultMessage console.log(‘msg = ‘ msg) return Promise.reject(response) } return response }, error => { // console.log(JSON.stringify(error));//console : Error: Request failed with status code 402 if (error.response && error.response.data) { var errorJson = error.response.data if (errorJson.resultCode && errorJson.resultCode === 4210) { ElementUI.Message( { type: ‘error‘, message: ‘您的账号是退出状态,请重新登录!‘, onClose: function () { location.reload() } }) return } } return Promise.reject(error.response.data) }) export default axios
2.引入配置
import axios from ‘@/config/http‘ Vue.prototype.axios = axios /* eslint-disable no-new */ const starter = new Vue({ el: ‘#app‘, i18n, router, store, axios, lodash, render: h => h(App) })