import Axios from 'axios'; import Qs from 'qs'; import Vue from 'vue'; import { ConfirmPlugin,ToastPlugin } from 'vux' Vue.use(ConfirmPlugin) let vm = new Vue() window.d = vm; const config = { baseURL: '', timeout: 300000, withCredentials: true, //是否允许跨域 headers: {'Content-Type': 'application/json;charset=UTF-8', 'X-Requested-With': 'XMLHttpRequest'}, //返回数据类型 responseType: 'json' }; const AsInst = Axios.create(config); // AsInst.defaults.timeout = 300000; //请求拦截器 AsInst.interceptors.request.use((config) => { //若是有做鉴权token , 就给头部带上token // if (window.localStorage.getItem('loginToken')) { // config.headers.Authorization = `${window.localStorage.getItem('loginToken')}`; // } return config; }, (err) => { return Promise.reject(err); }); //响应拦截器 AsInst.interceptors.response.use(response => { //检查数据是否返回NULL // if (response.data === null) { // return Promise.reject(response); // } // //检查是否有错误 // if(response.data.code!=0){ // return Promise.reject(response); // } return response; }, (error) => { if(error.response.data&&error.response.data.hasOwnProperty('error_data')){ vm.$vux.confirm.show({ title:"提示", content:error.response.data.error_title, showCancelButton:false, }) } // 下面是接口回调的status ,因为我做了一些错误页面,所以都会指向对应的报错页面 if (error.response.status === 404) { Vue.prototype.$toast('请求接口不存在!',2000) // Message.error('后端服务请求404错误'); } //请求错误时做些事 return Promise.reject(error); }); export default AsInst;