mpvue用promise封装小程序请求(同样使用于vue的项目)



import qs from 'qs'
let api = {
  //域名配置
  webUrl: "默认ip",
  post:function(vueObj,options){//post请求
    wx.showLoading({
      title: '加载中' // 数据请求前loading
    })
    var ipName='';
    !options.newUrl?ipName=this.webUrl:ipName=options.newUrl;
    return new Promise(function(resolve, reject) {
      wx.request({
        url:ipName+options.url, // 仅为示例,并非真实的接口地址
        data:qs.stringify(options.arg),
        method:'POST',
        header: {
          'content-type': !options.contentType?'application/json':options.contentType // 默认值
        },
        success: function (res) {
          wx.hideLoading()
          resolve(res.data)
        },
        fail: function (err) {
          wx.hideLoading()
           reject(err)
        },
        complete: function () {
          wx.hideLoading()
        }
      })
    })

  }
 
}
export default api

上面写法同样使用于vue项目,将wx.request改axios请求就好

post:function(vueObj,options){//post请求
     var ipName='';
     !options.newUrl?ipName=gob.webUrl:ipName=options.newUrl;

     return new Promise(function(resolve, reject) {
       axios.post(ipName+options.url,qs.stringify(options.arg))
          .then(function (response) {
            resolve(response.data);
          })
          .catch(function (error) {
            reject(error);
          });
    })
   },

 

你可能感兴趣的:(mpvue,小程序,webpack配置,vue笔记)