首页 >> 大全

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

2024-01-07 大全 42 作者:考证青年

一、引言

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

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

二、.js 网络请求工具封装 在utils目录下创建一个.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(); //request startwx.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:

请求方式:GET

返回示例

{"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文件中引入

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, params, 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文件中绑定请求的笑话大全列表:

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

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了