封装的request的代码
/*** @desc    API请求接口类封装*/
/*** POST请求API* @param  {String}   url         接口地址* @param  {Object}   params      请求的参数* @param  {Object}   sourceObj   来源对象* @param  {Function} successFun  接口调用成功返回的回调函数* @param  {Function} failFun     接口调用失败的回调函数* @param  {Function} completeFun 接口调用结束的回调函数(调用成功、失败都会执行)*/
function requestPostApi(url, params, sourceObj, successFun, failFun, completeFun) {requestApi(url, params, 'POST', sourceObj, successFun, failFun, completeFun)
}
/*** GET请求API* @param  {String}   url         接口地址* @param  {Object}   params      请求的参数* @param  {Object}   sourceObj   来源对象* @param  {Function} successFun  接口调用成功返回的回调函数* @param  {Function} failFun     接口调用失败的回调函数* @param  {Function} completeFun 接口调用结束的回调函数(调用成功、失败都会执行)*/
function requestGetApi(url, params, sourceObj, successFun, failFun, completeFun) {requestApi(url, params, 'GET', sourceObj, successFun, failFun, completeFun)
}
/*** 请求API* @param  {String}   url         接口地址* @param  {Object}   params      请求的参数* @param  {String}   method      请求类型* @param  {Object}   sourceObj   来源对象* @param  {Function} successFun  接口调用成功返回的回调函数* @param  {Function} failFun     接口调用失败的回调函数* @param  {Function} completeFun 接口调用结束的回调函数(调用成功、失败都会执行)*/
function requestApi(url, params, method, sourceObj, successFun, failFun, completeFun) {if (method == 'POST') {var contentType = 'application/x-www-form-urlencoded'} else {var contentType = 'application/json'}wx.request({url:    url,method: method,data:   params,header: {'Content-Type': contentType},success: function (res) {typeof successFun  == 'function' && successFun(res.data, sourceObj)},fail: function (res) {typeof failFun     == 'function' && failFun(res.data, sourceObj)},complete: function (res) {typeof completeFun == 'function' && completeFun(res.data, sourceObj)}})
}
module.exports = { requestPostApi,requestGetApi
}

使用第一步

在app.js中引入封装的文件const request = require(‘./utils/request.js’) ,然后定义接口域名apiUrl: ‘https://www.geekxz.com‘,

/*** @desc    简单API请求示例*/
const request = require('./utils/request.js')
App({request: request,getUserInfo:function(cb){var that = thisif(this.globalData.userInfo){typeof cb == "function" && cb(this.globalData.userInfo)}else{//调用登录接口wx.login({success: function () {wx.getUserInfo({success: function (res) {that.globalData.userInfo = res.userInfotypeof cb == "function" && cb(that.globalData.userInfo)}})}})}},/*** 定义的接口域名*/apiUrl: 'https://www.geekxz.com',globalData:{userInfo:null}
})

调用封装好的方法
var app = getApp()
Page({/*** 存储页面数据*/data: {expressData : {},},/*** 接口调用成功处理*/successFun: function(res, selfObj) {selfObj.setData({expressData : res,})},/*** 接口调用失败处理*/failFun: function(res, selfObj) {console.log('failFun', res)},/*** 页面加载时初始化数据*/onLoad: function() {var url     = app.apiUrl+'/query'var params  = {type   : 'zhongtong',postid : '424621263550',}//@todo 网络请求API数据app.request.requestGetApi(url, params, this, this.successFun, this.failFun)}
})

.

微信小程序 之 请求函数封装相关推荐

  1. 微信小程序request请求封装;微信小程序封装request请求;uni-app小程序封装request请求;

    本片封装了微信小程序request请求:为别是post get put请求,重点在request.js文件 1.新增四个文件 2.根目录下的utils下的request.js封装uni.request ...

  2. 封装微信小程序api请求地址

    封装微信小程序api请求地址 const API_BASE_URL = 'http://localhost:8080/test/api/'; module.exports = {IndexUrlNew ...

  3. 微信小程序判断服务器返回值,让微信小程序内置函数返回promise的方法

    Promise API const promisic = function (func) { return function (params = {}) { return new Promise((r ...

  4. 微信小程序使用云函数进行mysql操作

    微信小程序使用云函数进行mysql操作 其他操纵数据库方式的一些问题 准备工作 云函数代码 调用云函数时候的代码 最后还需要注意的一些小事情: 其他操纵数据库方式的一些问题 现在使用小程序,对数据库的 ...

  5. 微信小程序设置请求超时wx.request等,简单易懂!

    微信小程序设置请求超时wx.request等 一.用到的方法: 个人理解,比较粗糙 看不懂可以百度一下具体用法 new Promise:new了一个函数或者方法,可以被Promise.race等方法调 ...

  6. mpvue微信小程序http请求-fly.js

    mpvue微信小程序http请求-fly.js fly.js是什么? 一个支持所有JavaScript运行环境的基于Promise的.支持请求转发.强大的http请求库.可以让您在多个端上尽可能大限度 ...

  7. 微信小程序 wx.request 的封装

    自学转行到前端也已近两年,也算是简书和掘金的忠实粉丝,但是以前一直惜字如金(实在是胆子小,水平又低),现在我决定视金钱如粪土(就只是脸皮厚了,水平就那样),好了废话不多说,切入主题,最近自己尝试了一下 ...

  8. 微信小程序 解决请求服务器手机预览请求不到数据的方法

    微信小程序 解决请求服务器手机预览请求不到数据的方法 微信小程序的文档中明确说明了所有的请求是必须使用https的,以没用过https,由于小程序,不得不接触到https,研究了好长时间把tomcat ...

  9. 微信小程序-配置请求合法域名的问题以及豆瓣api问题

    微信小程序-配置请求合法域名的问题以及豆瓣api问题 https://www.jianshu.com/p/b71200e0b9b9

最新文章

  1. Hadoop系列七:Hadoop之sqoop篇
  2. main函数执行前执行一个函数的写法
  3. Shiro的authc过滤器的执行流程
  4. win8 必须重新启动计算机才能关闭用户账户控制,windows8中怎么关闭用户账户控制(UAC)仅针对单个用户...
  5. 2020年国内电影总票房突破100亿元
  6. WiFi 空口抓包工具 --- OmniPeek
  7. html星星连线特效代码,js实现飞入星星特效代码
  8. STM32 复位电路设计
  9. win10计算机管理员权限删除,win10删除需管理员权限的文件最佳解决方法
  10. 解决Win10下安装Winpcap失败
  11. 数据库相关类型(日期、复合、bit、布尔)
  12. 台式计算机摄像头插哪,台式电脑摄像头怎么调试
  13. php开发俄罗斯方块,HTML5+JS实现俄罗斯方块原理及具体步骤_html5教程技巧
  14. maglev hash算法
  15. 精读4:一个和钱打交道的数据分析行业
  16. 什么是IP Routing
  17. c语言综合程序设计省市邮政编码,《C语言程序设计课程设计报告》_课程教学大纲...
  18. 迪士尼贺新春,推出猪年限定产品
  19. python 制作中文汉字雨(已验证)
  20. win10环境变量设置(win10系统环境变量怎么设置)

热门文章

  1. SpringCloud-使用路由网关统一访问接口(附代码下载)
  2. DevExpress的图形按钮菜单栏控件WindowsUIButtonPanel的布局、使用和设置按钮的点击事件
  3. Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象
  4. SQL中关联表并使用子表的COUNT和SUM函数作为扩展字段
  5. oracle表空间最大30G?如果一张表超过30G怎么办
  6. 【LeetCode】617. 合并二叉树
  7. php自定义中文分词方法,PHPAnalysis中文分词类详解
  8. ebs 供应商地点信息_实探荣耀办公地:与高通接近达成合作,加快供应商整合脚步...
  9. 1 个闭环 + 1 个案例,为你解读实现数据驱动的秘诀
  10. js 小数点 精准算法