小程序展示的内容主要是从服务器后台拉取的,所以新建项目后的第一件事就是搭建网络通信框架,对网络操作进行封装,简化后期开发中服务器访问的逻辑。
封装网络库的好处:
- 简化访问网络的大量重复代码
- 统一处理网络访问中出现的各种异常
- 统一管理网络访问的其他操作,比如:token过期,失败重试机制,缓存机制等
- 统一处理网络访问中的UI效果
本系列文章是以如下的网络框架进行设计封装的(仅供参考,不同的项目框架可能会不同):
1. 所有的网络访问必须携带header, header中需要包含 userId,token
2. 服务器返回的结果有统一的JSON外壳
{
"data":{}, //真正的业务数据
"msg": "success", //错误的信息
"retCode": 0 //该响应的结果的错误码,0代表成功
}
3. 没有对接口进行安全校验以及加密(后台比较菜 ),直接用 https 了事
所以,搭建框架的时候,必须要做3件事:传header、判断操作是否成功、取出真正的业务数据。
wx提供了网络访问的api,所以我们不需要考虑选用哪个网络库,直接在API的基础上进行封装。wx网络api的使用方式如下:网址
const requestTask = wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json'
},
success: function(res) {
console.log(res.data)
}
})
requestTask.abort() // 取消请求任务
接下进行网络封装第一步:简单封装
gitHub源码
网友评论