小程序二次封装request请求

不管做什么项目,一般会对ajax请求做个二次封装,小程序也不例外。

小程序开发中都会调用API,小程序的开发文档提供了相对实用的api wx.request(),把它进行二次封装成自己喜欢的写法
 
我们在全局app.js 中定义 接口服务地址
// 后端接口服务地址
var serverUrl = ‘https://*************‘;

 封装方法

  request(url, method, data) {
    let header = {
      ‘token‘: wx.getStorageSync("token"),
      ‘sessionKey‘: wx.getStorageSync("sessionkey")
    }
      let userurl = serverUrl +url
    }
    return new Promise((resolve, reject) => {
      wx.request({
        url: userurl,
        method: method,
        data: data,
        header: header,
        success: function(res) {
          if (res.statusCode == 200) {
            if (res.data.code !== ‘20000‘ ) {
              wx.hideLoading();
              wx.showToast({
                icon: ‘none‘,
                title: res.data.msg,
              })
            } else if (res.data.code == ‘401‘){
              wx.redirectTo({
                url: ‘/pages/login/login‘,
              })
            }
            resolve(res);
          } else {
            if (res.statusCode == 500) {
              that.globalData.islogin = true
            }
            reject(res.data);
          }
        },
        fail: (res => {
          console.log(res)
          wx.hideLoading();
          wx.showToast({
            title: ‘网络差,请稍后再试!‘,
            icon: ‘none‘,
            duration: 1500
          })
          reject(‘网络差,请稍后再试!‘);
        })
      })
    })
  },

  在需要的地方引入

const app = getApp()
Page({
   app.request(url,method,params).then(res=>{
           console.log(res)
  })
})

  



小程序二次封装request请求

上一篇:微信团队分享:微信支付代码重构带来的移动端软件架构上的思考


下一篇:微信小程序组件生命周期