【小程序】退出微信后仍可保留状态setStorageSync

本文目的

一、讲解setStorageSync&getStorageSync 接口的使用

二、setStorageSync和setStorage的区别

三、🌰实现数据的本地存储,退出微信再次登陆时,保留数据。

一、讲解setStorageSync&getStorageSync 接口的使用

在做小程序时遇到了这个需求,要求在微信退出,再次进入的时候,仍然记得扫过码的状态。那么这个需求微信小程序开发是提供了实现办法的……

官方文档链接👉微信小程序官方文档

这种需求我们需要借助微信小程序给的API接口👉setStorageSync&getStorageSync。文档中已经写明,setStorageSync用来存储,getStorageSync用来获取。

try {
  wx.setStorageSync('key', 'value')
} catch (e) { }
try {
  var value = wx.getStorageSync('key')
  if (value) {
    // Do something with return value
  }
} catch (e) {
  // Do something when catch error
}

我们下面的代码测试一下,可以帮助我们更好的了解。将下面的代码放在onShow的方法下。 用一个已知的数据Date.now() 。加上以后,打开小程序的时候就会记录数据了,将数据存储起来。

    try {
      var value = wx.getStorageSync('hello')
      if (value) {
        // Do something with return value
        console.log('获取到了本地缓存',value)
      }
      else{
        console.log('没有获取到本地缓存',1)
        wx.setStorageSync('hello', Date.now())
      }
    } catch (e) {
      // Do something when catch error
      console.log('没有获取到本地缓存',2)
      wx.setStorageSync('hello', Date.now())
    }

 二、setStorageSync和setStorage的区别

setStorageSync指的是同步缓存,setStorage指的是异步缓存。

不同点:

1⃣️异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。
异步是不管保存成功与否,程序都会继续往下执行。同步是等保存成功了,才会执行下面的代码。

2⃣️setStorageSync只支持原生类型、Date、及能够通过JSON.stringify序列化的对象,不能直接传入对象。

否则报错:

setStorage:fail parameter error: parameter should be String instead of Object;

相同点:

它们都是将数据存储在本地缓存指定的key中,单个key最大数据长度为 1MB,所有数据存储上限为 10MB。(已经蛮大的了...)

使用异步,性能会更好。而使用同步,数据会更安全。

 

 三、🌰实现数据的本地存储,退出微信再次登陆时,保留数据。

下面我们可以利用这个api保留我们想要的数据了,存储senceInfo。然后在需要展示的onShow的页面get出来。具体逻辑大家就按项目需求吧

就酱

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值