https://developers.weixin.qq.com/miniprogram/dev/api/data.html#wxsetstorageobject
演示视屏可以关注公微信订阅号查看(Rabbit_svip)。
样式随便写,主要留意功能。
页面结构
【app.json】
【login.wxml】
【login.js】
【index.wxml】
【index.js】
先看看【app.json】,在pages里面,要把login放在第一,这样在小程序打开的时候,就会先打开login.wxml这个页面。
【login.wxml】页面,第二行的<form>标签里,要加bindsubmit。
这是微信官方文档上写明的事件。在<form>表单提交时,会携带<form>中的数据出发submit事件。
在使用bindsubmit时,记得在input元素上面写明“name”属性。
可以试试,查看一下控制台输出的值。
【login.js】
在点击登录提交表单后,如果登录成功,用wx.setStorage(),把用户名临时存储起来。
存储完渗数成后,跳转页面。胡厅用到 wx.redirectTo
用 wx.redirectTo 进行跳转,是没有返回上一层的路径的。
在login.js这个页面中,用到 onLoad 这个函数(第107行)。作用是监听页面加载。
onLoad里面,用到 wx.getStorage 这个API。作用是检测本地缓存,看看是否有对应的key指定的值。如果有,则调用 success 这个回调丛做首函数。
【index.js】
这个页面设置了一个清除本地缓存的button。
用到 wx.removeStorage 这个API。
这里只要指定key值就行。这样就可以删除掉对应的缓存。
删除成功后,执行 success 回调函数。
用表单form的bindsubmit事件提交表单。
需要满足:1输入表单中需要有"name",没有"name"值后台打印为空。仔如顷
2点击的button按钮,念陆橡槐需要设置:form-type="submit"。
index.wxml
index.js
1,只能bindtap点丛仿击事件或者发起支付回调后才能触发,bindsubmit发送表单不行,不过现在的订阅消息已经不需要formid,所以改起来挺容易的.
2,wx.requestSubscribeMessage里的success(res){} fail(res){} 并不是分别点击确定取消触发的回调,而是wx.requestSubscribeMessage调用成功和滑颂失败的回调,一般在fail里可以打印下错误msg,还有个complete(res){}是调用成功失败后都会触发的回调
3,只支持基础库2.8.2以上,所以如果你有事件是放在success或者complete回调里调用,需要向下兼容,判断用户的基础库版本,注意,这个错误不会走调用失败fail的回调 而是编译渗让纤器直接报错no function
wx.getSystemInfo({
success: function (res) {
var version = res.SDKVersion
version = version.replace(/\./g, "")
console.log(version)
if (parseInt(version) >= 282){
wx.requestSubscribeMessage({
success(res){
do something
}
})
}
else{
do something
}
4,点击下方"总保持以上选择,不再询问"后 貌似清了缓存也再也不出来提示框?貌似是这样 但是success fail complete回调里的事件还会触发.只是不再d出提示框.
先暂时这些
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)