唯品秀博客
首页 > 前端开发 > Js前端框架 > 【已解决】微信小程序缓存时间有效期设置

【已解决】微信小程序缓存时间有效期设置

2018年07月13日 唯品秀 2986次浏览

大家做小程序开发时间是不是遇到很蛋疼一个问题就是没有cookie可用,只能用getStorageSync那套东西,这就意味着你不好处理缓存的有效时间问题,最近我困扰了许久,最后整理出个思路,一起来看看吧。

思路说明

通过利用时间戳方式,在设置缓存key的时候,值直接给到它有效时间对应的时间戳,比如今天是2018/7/13/9:48,那么设置有效时间三天,那就是2018/7/16/9:48,如下代码

1
2
3
4
5
6
7
module.exports = {
  set: function(k, v, time) {
    var effTime = parseInt(Date.parse(new Date())) + 86400000 * time; //有效时期时间戳
    wx.setStorageSync(k, v ? v : effTime);
  }
};
//86400000 就是一天等于多少毫秒

然后在使用时候判断当前时间戳是不是小于缓存的时间戳,这样就知道当前key这个变量是不是有效的,当然,更多功能想法你还可以自己扩展,思路就是这样,没毛病

1
2
3
4
 // 点击推送通知按钮设置7天有效时间缓存
  openNotice: function() {
    Storage.set('oldStorTime', '', 7);
  }
1
2
3
4
5
6
7
8
onLoad:function(){
     var currentTime = Date.parse(new Date()); //当前时间戳
     if (currentTime < wx.getStorageSync('oldStorTime')) {
       //console.log("缓存时间有效")
     } else {
      //console.log("缓存时间已过期")
     }
}

提示:这个时间获取的当然就是你手机的本地时间。很显然,你不应该仅仅依靠前端的缓存时间做活动倒计时,又或者签到打卡等等功能,尤其涉及金钱类(在此不得不吐槽我们公司后端人员,把前端本地存储功能当半个数据库,很多变量依靠前端直接存储在用户客户端,他们就不进行校验)。所以你在开发调试时候只需要改变你手机的本地时间即可进行真机测试。

「两年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞( 7 ) 打赏

谢谢你请我吃鸡腿*^_^*

支付宝
微信
7

谢谢你请我吃鸡腿*^_^*

支付宝
微信

上一篇:

下一篇:

共有 0 条评论 - 【已解决】微信小程序缓存时间有效期设置

博客简介

唯品秀博客: weipxiu.com,一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,愿景:成为宇宙中最具有代表性的前端博客,期待您的参与 

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!

站点统计

  • 文章总数: 190 篇
  • 草稿数目: 2 篇
  • 分类数目: 13 个
  • 页面总数: 21 个
  • 评论总数: 878 条
  • 链接总数: 13 个
  • 标签总数: 371 个
  • 建站时间: 886 天
  • 注册用户: 690 人
  • 访问总量: 8673530 次
  • 最近更新: 2019年5月17日
服务热线:
 173xxxx7240

 QQ在线交流

 旺旺在线