我正在参与掘金创作者训练营第5期,点击了解活动详情
前言
最近在开发一款预约小程序,前端是微信小程序,后端用的C#。好久不写小程序了,遇到好多问题,这次想起来总结一下。
微信小程序设置全局请求URL封装wx.request请求
大家在开发程序的时候,一开始可能体会过改请求路径的痛苦。当时我一个练手的小程序,因为图床绑定的域名不用了图片崩了废了我好大的劲。
后来了解到域名可能会频繁改变,一个一个改请求路径就很不现实了,所以封装请求就很有必要。
wxRequest(method, url, data, callback, errFun) {
wx.request({
url: url,
method: method,
data: data,
header: {
'content-type': 'application/json;charset=UTF-8',
'Accept': 'application/json',
},
dataType: 'json',
success: function (res) {
callback(res);
},
fail: function (err) {
errFun(err);
}
})
}
封装的不是很完善,以后有需求再继续改进。
本地缓存
有的数据需要使用本地缓存,微信小程序很贴心的给上了接口:
wx.setStorage({
key: key,
data: value
})
bindtap传参
微信小程序bindtap是不能在()里传参,但是提供了另一种传参的方式——使用自定义参数data-,可以通过dataset拿到对应的值
例如下面的
<viewbindtap="passName" data-name="{{name}}"></view>
可以通过e.currentTarget.dataset.name拿到data-name里的值。
微信小程序刷新当前页面
当添加数据、删除数据等情况的时候,我们需要在操作结束刷新页面,一遍让用户看到最新的结果。有很多方式完成这个需求:
this.onload()
在函数中调用this.onload()可以刷新页面。但是注意要求是本次操作对页面onLoad函数所携带的各种参数没有影响
this.onReady() 或者 this.onShow()
同样可以在函数中直接调用this.onReady() 或者 this.onShow()即可完成刷新操作,前提是本页面的数据操作需要在页面的onReady()或onShow()函数中完成。