【微信小程序】缓存过期时间的相关设置

微信小程序缓存机制介绍

  每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)wx.getStorage(wx.getStorageSync)wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。

  但是微信默认设置了缓存是无限长的过期时限,这对于我们的小程序开发,是非常不好的。

哪些是一定需要过期的缓存

  我正在开发的项目中,用户通过第三方登录拿到一个token,每次请求都必须带上token,但是token的时限是30分钟。

  所以token就属于有必要当成缓存,但是又必须设置缓存时限的数据。

写法

  在用户登录成功后,把过期时间、token一起存入缓存:

// 设置token缓存
wx.setStorageSync('token', res.data.token);
// 当前时间
var timestamp = Date.parse(new Date());
// 加上过期期限
var expiration = timestamp + 1200000; //缓存20分钟
// 存入缓存
wx.setStorageSync('data_expiration', expiration);

  在app.js入口文件里,监测是否超时:

// 缓存是否过期
  _isExpiration() {
  	// 当前时间
    var timestamp = Date.parse(new Date());
    // 缓存中的过期时间
    var data_expiration = wx.getStorageSync("data_expiration");
    // 如果缓存中没有data_expiration,说明也没有token,还未登录
    if (data_expiration) {
      // 如果超时了,清除缓存,重新登录
      if (timestamp > data_expiration) {
        wx.clearStorageSync();
        return true;
      }else{
        return false;
      }
    }
    return true;
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

征途黯然.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值