微信小程序网络封装

阅读: 评论:0

微信小程序网络封装

微信小程序网络封装

废话引言

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

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

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

netUtil.js 网络请求工具封装

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


/*** 供外部post请求调用*/
function post(url, params, onStart, onSuccess, onFailed) {request(url, params, "POST", onStart, onSuccess, onFailed);
}/*** 供外部get请求调用*/
function get(url, params, onStart, onSuccess, onFailed) {request(url, params, "GET", onStart, onSuccess, onFailed);
}/*** function: 封装网络请求* @url URL地址* @params 请求参数* @method 请求方式:GET/POST* @onStart 开始请求,初始加载loading等处理* @onSuccess 成功回调* @onFailed  失败回调*/
function request(url, params, method, onStart, onSuccess, onFailed) {onStart(); //quest({url: url,data: dealParams(params),method: method,header: { 'content-type': 'application/json' },success: function (res) {if (res.data) {/** start 根据需求 接口的返回状态码进行处理 */if (_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;
}ports = {postRequest: post,getRequest: get,
}

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

简要描述:

  • 用户注册接口

请求URL:

  • .php

请求方式:

  • GET

参数:

参数名必选类型说明
sortstring降序“des”,升序“asc”
pageint页数,默认1
pageSizeint默认每页加载20条数据
timestring时间戳10位
keystringappkey

返回示例

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

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

var netUtil = require("../../utils/network.js"); //require引入
Page({data: {jokeList: {}},onLoad: function (options) {var url = ".php";var params = {sort: "",page: 1,pagesize: 5,time: "1418816972",key: "746dfdb4cd8445d30a8f915fd2b5f76b",}Request(url, params, Start, Success, Failed); //调用get方法情就是户数},onStart: function () { //onStart回调wx.showLoading({title: '正在加载',})},onSuccess: function (res) { //onSuccess回调wx.hideLoading();this.setData({jokeList: sult.data //请求结果数据})},onFailed: function (msg) { //onFailed回调wx.hideLoading();if (msg) {wx.showToast({title: msg,})}},
})

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

<view><block wx:for="{{jokeList}}" wx:for-item="item" wx:key="idx"><view class='joke_container'><text>{{t}}</text></view></block>
</view>

转载于:.html

本文发布于:2024-01-30 22:26:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170662482123271.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   网络   微信小
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23