微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

微信小程序网络封装(简单高效)

废话引言

小程序虽然出世很久了,但一直没怎么接触到小程序开发。吉他兴趣班老师想弄一个小程序发布课程信息和打卡功能,作为IT一员就自愿加入了这个小程序开发小组中。虽然小程序面向的是前端工程师,但作为移动端程序猿感觉甚是友好,加上有点前端基础就更是觉得入手很easy啦。

微信小程序的网络请求很便捷,直接调用就可以了。但最好还是根据需求,处理一些参数回调信息,进行二次封装,为整个小程序应用直接提供调方法接口岂不是更好?

利用网络请求的一贯思维,分三个回调:onStart:开始请求,onSuccess:请求成功回调,onFailed:请求失败回调,意思就是字面意思~

netUtil.js 网络请求工具封装

在utils目录下创建一个netUtil.js文件

rush:js;"> /** * 供外部post请求调用 */ function post(url,params,onStart,onSuccess,onFailed) { request(url,"POST",onFailed); }

/**

  • 供外部get请求调用
    */
    function get(url,"GET",onFailed);
    }

/**

  • function: 封装网络请求
  • @url URL地址
  • @params 请求参数
  • @method 请求方式:GET/POST
  • @onStart 开始请求,初始加载loading等处理
  • @onSuccess 成功回调
  • @onFailed 失败回调
    */
    function request(url,method,onFailed) {
    onStart(); //request start
    wx.request({
    url: url,data: dealParams(params),method: method,header: { 'content-type': 'application/json' },success: function (res) {
    if (res.data) {
    /* start 根据需求 接口的返回状态码进行处理 /
    if (res.data.error_code == 0) {
    onSuccess(res.data); //request success
    } else {
    onFailed(res.data.msg); //request Failed
    }
    /* end 处理结束/
    }
    },fail: function (error) {
    onFailed(""); //failure for other reasons
    }
    })
    }

/**

  • function: 根据需求处理请求参数:添加固定参数配置等
  • @params 请求参数
    */
    function dealParams(params) {
    return params;
    }

module.exports = {
postRequest: post,getRequest: get,}

小案例使用说明:笑话大全接口

简要描述:用户注册接口 请求URL:http://v.juhe.cn/joke/content/list.PHP

请求方式:GET

参数:

参数名 必选 类型 说明 默认1默认每页加载20条数据

返回示例

rush:js;"> { "error_code": 0,"reason": "Success","result": { "data": [ { "content": "某先生是地方上的要人。一天,他像往常一样在书房里例览当日报纸,突然对妻子大声喊道:喂,安娜,你看到今天早报上的流言蜚语了吗?真可笑!他们说,你收拾行装出走了。你听见了吗?安娜、你在哪儿?安娜?啊!","hashId": "90B182FC7F74865B40B1E5807CFEBF41","unixtime": 1418745227,"updatetime": "2014-12-16 23:53:47" },{ "content": "有一天我看着报纸,小声嘟囔着一篇文章的题目鸟儿也有外语,丈夫听了对了一句:鸟儿当然也有‘外遇'。原来丈夫听错了,我笑得前仰后合。","hashId": "206F5C52FD2ED94772CBC66C8AC61F2A","updatetime": "2014-12-16 23:53:47" } ] } }

小程序页面js文件中引入netUtil

rush:js;"> var netUtil = require("../../utils/network.js"); //require引入 Page({ data: { jokeList: {} },onLoad: function (options) { var url = "http://v.juhe.cn/joke/content/list.PHP"; var params = { sort: "",page: 1,pagesize: 5,time: "1418816972",key: "746dfdb4cd8445d30a8f915fd2b5f76b",}

netUtil.getRequest(url,this.onStart,this.onSuccess,this.onFailed); //调用get方法情就是户数
},onStart: function () { //onStart回调
wx.showLoading({
title: '正在加载',})
},onSuccess: function (res) { //onSuccess回调
wx.hideLoading();
this.setData({
jokeList: res.result.data //请求结果数据
})
},onFailed: function (msg) { //onFailed回调
wx.hideLoading();
if (msg) {
wx.showToast({
title: msg,})
}
},})

在wxml文件中绑定请求的笑话大全列表:jokeList

rush:js;"> {{item.content}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。