【微信小程序】本地缓存

【微信小程序】本地缓存,第1张

本地缓存官方讲解:

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出提示框.

先暂时这些


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11523685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存