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

时间: 2024-11-06 07:48:52

小程序api的promise封装的相关文章

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

前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object object). 如果直接使用官方提供的个Api,那么每次在进行网络请求调用时,我们都要按官方文档上说的那样传递需要设置的请求参数,然后对不同的请求相应结果做不同的处理.但是前端同服务器端的接口请求中有大部分的请求参数以及响应结果处理都是很类似的,也就没有必要对所有请求代码都重新敲敲一遍,那么对原

小程序api请求层封装(Loading全局配置)

前言 小程序开发,没有vue中的axios那么好使,请求层的封装需要自己来搞. 当然请求层的配置少不了loading,这里索性也就将loading做一个配置,避免以后重复造轮子 请求封装 小程序中有封装好的请求方法:wx.request(url,method,header,success,fail,complete);方法类似于原生的ajax, 这里我们大的方面分两种,一种普通请求,一种是文件上传 普通请求又分为get请求,post请求,post请求又分为JSON格式和BODY格式因此 我们需要

微信小程序api拦截器

微信小程序api拦截器 完美兼容原生小程序项目 完美兼用小程序api的原本调用方式,无痛迁移 小程序api全Promise化 和axios一样的请求方式 小程序api自定义拦截调用参数和返回结果 强大的async拦截 快速开始 安装 npm install wxapp-api-interceptors --save 详情 https://blog.csdn.net/rolan1993/article/details/80480341 原文地址:https://www.cnblogs.com/to

微信小程序API接口

微信小程序API接口 wx.request(OBJECT)   wx.request发起的是 HTTPS 请求. OBJECT参数说明: url->开发者服务器接口地址->String; data->请求的参数->Object.String; header->设置请求的 header , header 中不能设置 Referer->Object; method->默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE,

微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理

前言: 小程序开发中诸如获取用户手机号码.调起微信支付.领取卡券等api都是会有一定的延迟的.也就是说通过点击按钮调用这些api的时候,从点击按钮调用api,到支付页面或者领取卡券界面展示出来是需要一定时间的,连续点击按钮,还是有可能会重复调用的. 虽然这种情况有点极端,正常用户是不会这么连续快速的点击按钮的,但是也不能排除有用户手抖,连续点了两下.如果重复调用的话,不仅体验不好,单击事件中涉及到后端接口操作的也可能引起其他异常.所以这个问题还是要处理下的. 刚开始想到的是使用loading开启

微信小程序request(promise)方法封装

var Promise = require('es6-promise'); var app = getApp(); function wxPromisify(fn) { return function (obj = {}) { return new Promise((resolve, reject) => { obj.success = function (res) { //成功 resolve(res) } obj.fail = function (res) { //失败 reject(res

微信小程序开发之Http封装

公司突然要开放微信小程序,持续蒙蔽的我还不知道小程序是个什么玩意. 于是上网查了一下,就开始着手开发..... 首先开发客户端的东西,都有个共同点,那就是  数据请求! 看了下小程序的请求方式大概和ajax请求差不多,所以先打好基础 从封装http请求开始 好了废话不多说了,上代码 首先....当然是建立配置文件,用来配置请求根路径 config.js export default { basePath: 'http://192.168.6.2:9002/api', fileBasePath:

小程序wx.navigateTo简单封装和运用

刚接触小程序,页面跳转一般是最先遇到的一种需求之一. 对于小程序中的跳转,官方文档给出了几种 api 来根据不同场景,实现业务需求. 这是针对 wx.navigateTo 来写的一片文章. 微信小程序官方api文档给出的wx.navigateTo方法是通过拼接url的方式进行参数传递.造成参数传递很不方便(个人感觉不习惯). wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. 参数 类型 必填 说明 url  s

微信小程序“一劳永逸”的接口封装

前言 最近都在研究小程序了,我可以的! 需求 之前都是用vue来开发项目的,接口模块我特意封装了一下.感觉也可以记录一下 小程序的接口虽说简单,但是重复调用那么多,显得不专业(一本正经的胡说八道) 还有一篇,小程序遇到了的那些坑和小技巧)待续 一.小程序接口请求流程 简单的画了一个流程图 二.域名配置 一定要配置https,小程序上配置的域名必须是域名备案的,还有一定服务器要TLS1.2以上 三.打开微信开发者工具,打开你的项目,点开详情.确认一下域名是否一一匹对.不然会编译失败的哦 四.在你的