小程序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)
            })
        }
    })  

  

  

  

原文地址:https://www.cnblogs.com/muzimumu/p/11881065.html