mpvue使用axios发送请求

重写axios的请求方式

/**
 * 小程序的请求方式
 * @param url 
 * @param type
 * @param data
 * @returns {Promise}
 */
const Http = (config) => {
    let local = wx.getStorageSync('at_token') 
    // 开启菊花图
    wx.showLoading({
        title: '加载中',
    })
    return new Promise((resolve, reject) => {
        let data = config.method == 'get' ? config.params : config.data
        wx.request({
            url: axios.defaults.baseURL + config.url,
            method: config.method,
            data: data,
            header: {
                'token': local
            },
            success: (res) => {
                resolve(res)
            },
            fail: (err) => {
                reject(err)
            },
            complete: (res) => {
                wx.hideLoading()
            }
        })
    })
}

//重写axios的请求方式  小程序不支持xmlHttp请求方式
axios.defaults.adapter = Http;


// 请求挂载到vue上 get请求
Vue.prototype.$HttpGet = (url, params) =>
    axios({
        method: 'get',
        url: url,
        params: params
    })


// 请求挂载到vue上 post请求
Vue.prototype.$HttpPost = (url, data = {}) =>
    axios({
        method: 'post',
        url: url,
        data: data
    })

你可能感兴趣的:(小程序,mpvue)