小程序api的promise封装

Posted 木子沐沐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序api的promise封装相关的知识,希望对你有一定的参考价值。

    微信小程序和支付宝小程序的api封装方法是一样的,都是外部新建一个js,使用module.exports导出,要注意的是,最好使用post请求,虽然get请求没什么不好,主要是好修改。这里使用的MD5进行了token加密,最好还是把md5.js单独写下来(MD5函数js

var app = getApp(); // 引入app.js里初始化数据
var MD5 = require(\'./md5.js\') 
function ApiFun (url,params) {
  var param = {}
  let timeStamp = Number(new Date()) // 时间戳
  let Token = "*******"
  return new Promise((resolve, reject,next) => {
    my.request({ // 支付宝小程序是my,微信小程序是wx
      url: app.globalData.baseUrl + url, // 域名+接口名称
      method: "POST",
      data: params, // 参数
      success: resolve,  // 成功结果
      headers: {
        "Content-Type": "application/x-www-form-urlencoded"
      }, // post请求头
      fail: reject, // 失败结果
      complete: next // 成功或者失败都会调用的结果
    })
  })
}
module.exports = {
  ajaxApi: function (url, params) { // 导出
    return ApiFun(url, params).then(res => res.data)
  }
}

  使用方法在page页面的js中

    var app = getApp();
    var api =require(\'/pages/utils/api.js\')
    Page({
        onShow() {
            api.ajaxApi(\'/**/list\',{
                page:1,
                prePage:100
            }).then(res => {
                 console.log(res)
            })
        }
    })  

  

  

  

以上是关于小程序api的promise封装的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序使用promise封装异步请求

微信小程序前端promise封装

小程序 3 封装 (wx.request)

微信小程序开发——使用promise封装异步请求

小程序request封装

封装APIaxios