残缺代码
import axios from 'axios'
import QS from 'qs'
import store from '../store'
import router from '../router'
import { Message } from 'element-ui'

// 申请域名
axios.defaults.baseURL = process.env.VUE_APP_API_URL;
// 申请超时工夫
axios.defaults.timeout = 10000;
// post申请头
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';

// 申请拦截器
axios.interceptors.request.use(

config => {    // 每次发送申请之前判断是否存在token,如果存在,则对立在http申请的header都加上token,不必每次申请都手动增加了    // 即便本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断    const token = store.state.token;            token && (config.headers[store.state.tokenName] = token);            return config;    },    error => {            return Promise.error(error);    })

// 响应拦截器
axios.interceptors.response.use(

response => {       if (response.status === 200) {                    return Promise.resolve(response);            } else {                    return Promise.reject(response);            }    },// 服务器状态码不是200的状况    error => {            if (error.response.status) {               switch (error.response.status) {                           // 404申请不存在                            case 404:                             Message({                    showClose: true,                    message: '网络申请不存在',                    type: 'error'                })                                     break;                            case 500:                        Message({                    showClose: true,                    message: error.response.data.message ? error.response.data.message : '服务端谬误',                    type: 'error'                })                                     break;                           // 其余谬误,间接抛出谬误提醒                            default:                                    Message({                    showClose: true,                    message: response.data.msg,                    type: 'error'                })                  }                    return Promise.reject(error.response);            }       }

);

/**

  • get办法,对应get申请
  • @param {String} url [申请的url地址]
  • @param {Object} params [申请时携带的参数]

*/
// 申请,并对申请办法进行判断
export default function request(api, params = {}) {

/*     这里应用api的method辨别申请形式    api写法如下,可自行调整    Login: {        url: '/login',        methods: 'post'    }*/if(api.methods == 'post') {    return new Promise((resolve, reject) => {                 axios.post(api.url, QS.stringify(params))            .then(res => {                       if(!res.data.success) {                Message({                    showClose: true,                    message: res.data.msg,                    type: 'error'                })              } else {                resolve(res.data);                }        })                .catch(err => {                        reject(err.data)                })        });} else if(api.methods == 'get') {    return new Promise((resolve, reject) =>{                axios.get(api.url, {                        params: params                })                .then(res => {                if(!res.data.success) {                Message({                    showClose: true,                    message: res.data.msg,                    type: 'error'                })              } else {                resolve(res.data);            }              })                .catch(err => {                     reject(err.data)            })        });}

}