对小程序wx.request() 进行封装,使其支持公共前置操作和公共响应操作

看了网上大部分的教程,都是用Promise实现的,我这篇文章使用的是比较清奇的方法,可以说,对原格式无污染。

直接上代码:

app.js 里定义一个 request方法。这样,全局就可以直接 app.request调用了。

request(a) {
    // 这里可以进行前置操作
    a.url = baseUrl + a.url                  // 添加api基地址
    a.header = a.header || {}
    a.data = a.data || {}
    a.data.id = 1                            // 这样可以添加全局ID
    a.header.authorization = "authorization" // 添加 authorization

    // success 回调
    let success = a.success
    if (success) {
      a.success = function (res) {
        console.log("这里是成功后的公共回调操作,可以做些事情,下面同理")
        success(res)
      }
    }
    // fail 回调
    let fail = a.fail
    if (fail) {
      a.fail = function (res) { 
        fail(res)
       }
    }
    // complete 回调
    let complete = a.complete
    if (complete) {
      a.complete = function (res) {
        complete(res)
      }
    }
    wx.request(a)
  }

代码很好理解,说白了,就是对wx.request对象参数的重写。这样,直接参照 wx.request 的文档就可以里。

猜你喜欢

转载自www.cnblogs.com/alpiny/p/12632183.html