柿霖不是林 发表于 2017-3-3 14:54:33

微信小程序学习用demo:小程序请求API接口,网络请求封装

utils/request.js: 核心的API请求接口类封装pages/index/index.js: 网络请求控制页面的逻辑pages/index/index.wxml: 页面的布局文件pages/index/index.wxss: 页面的样式文件







/**
* @desc    API请求接口类封装
* @authorshangheguang@yeah.net
* @date    2017-01-20
*/

/**
* 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
}




**** Hidden Message *****

折纸 发表于 2017-5-23 19:31:40

确实是难得好帖啊,顶先

长风大侠 发表于 2017-5-24 09:16:44

啥也不说了,感谢楼主分享哇!

張揚 发表于 2017-7-7 11:54:53

确实是难得好帖啊,顶先

Geeker 发表于 2017-7-17 20:50:46

hahahahahahahha

O斗地主O 发表于 2017-7-18 10:05:37

玷辱在干枯二若干

冷眼不对 发表于 2017-7-30 23:00:44

可以的老哥666

萌叔哥 发表于 2017-8-1 13:09:40

优秀的dome要支持------------

Ywenli 发表于 2017-8-7 12:39:16

感谢楼主分享

Ywenli 发表于 2017-8-7 12:43:32

感谢楼主分享
页: [1] 2
查看完整版本: 微信小程序学习用demo:小程序请求API接口,网络请求封装