先言:

简单来说,就是利用缓存,进行有效期的保存,以此前端加以判断,在如登录状态过期,操作过期等场景使用,扩展性还蛮多的。
官方文档

实现:

原理:就是先设置一个缓存,这个缓存值为当前时间加上有效期的时间。缓存会一直存在在本地。当到有效期后,执行判断,对比当前时间和缓存时间,如果现在时间大于缓存的值,证明过期了。

  1. 比如我设置一个缓存有效期是一天,过期后控制台输出‘有效期已过’。1秒等于1000毫秒,86400000毫秒是一天
    let applyTime = wx.getStorageSync("time"); // 获取时间缓存// 先判断存不存在此缓存,如果存在if(applyTime){// 当前时间大于有效期if (new Date().getTime() > applyTime) {// 设置一天有效期新缓存wx.setStorageSync("time", new Date().getTime() + 86400000);//有效期已过,在这执行某些操作console.log('有效期已过') }}else{// 如果不存在,直接设置一天有效期新缓存wx.setStorageSync("time", new Date().getTime() + 604800000);}
  1. 也可以简单封装成给每个缓存的值都加个有效时间,有 存储方法和读取方法:
/*** 设置时效缓存* key    存储的key值* value  存储的value值 (不填则默认为1)* time   有效时间,(单位:毫秒,不填则默认一天)*/
function setStorageSyncSecond(key, value, time) {value = value ? value : 1wx.setStorageSync(key, value)let t = time ? time : 86400000if (t > 0) { wx.setStorageSync(key + 'dtime', t + new Date().getTime())} else {wx.removeStorageSync(key)}
}/*** 读取时效缓存*  key  存储的key值* return 返回有值则有效期未过,返回false或者undefined证明有效期过了、或者该值已不存在*/
function getStorageSyncTime(key){var deadtime = wx.getStorageSync(key + 'dtime')if (deadtime) {if (deadtime < new Date().getTime() ) {wx.removeStorageSync(key)wx.removeStorageSync(key + 'dtime')return false}else{return wx.getStorageSync(key)}}else{return false}
}

小知识:体验版和正式版小程序缓存数据共享。

结语:

上面的代码我也没验证过,我在文档上直接写的,仅供参考,主要是思路,如果出错还望指正。

最近在玩巫师3,虽然是15年的游戏了,但可玩性还是不错的~

我的哔哩哔哩空间
Gitee仓库地址:全部特效源码
其它文章:
~关注我看更多简单创意特效:
文字烟雾效果 html+css+js
环绕倒影加载特效 html+css
气泡浮动背景特效 html+css
简约时钟特效 html+css+js
赛博朋克风格按钮 html+css
仿网易云官网轮播图 html+css+js
水波加载动画 html+css
导航栏滚动渐变效果 html+css+js
书本翻页 html+css
3D立体相册 html+css
霓虹灯绘画板效果 html+css+js
记一些css属性总结(一)
Sass总结笔记
…等等
进我主页看更多~

【微信小程序系列:四】前端利用wx.setStorageSync缓存设置有效时间相关推荐

  1. 微信小程序做问卷——前端部分(生成问卷)

    文章目录 实现效果 界面功能 数据功能 各个组件的实现 右上角的蓝色加号 问卷结构部分 以单选部分举例 每个题型的灰色加号 每个题型的删除按钮 每个选项的删除按钮 每个输入的数据记录 全部代码 que ...

  2. 【微信小程序系列:二】小程序常用功能:跳转地图、扫一扫、人脸识别、拍照、拨打电话、调整屏幕亮度、文字可复制、监听截屏...

    一.先言: (- ̄▽ ̄)-,hello,微信小程序系列第二篇,介绍下小程序里的前端常用功能api,可以快速copy使用~ 二.文字可复制: 小程序页面里的文字默认是没有长按复制功能的,需要套个标签来实 ...

  3. 微信小程序框架(四)-全面详解(学习总结---从入门到深化)

    目录 路由_navigateTo 页面跳转 携带参数 返回上一级页面 路由_redirectTo 页面跳转 路由_reLaunch 页面跳转 路由_switchTab 实现 tabbar 页面跳转 交 ...

  4. 【毕业设计之微信小程序系列】基于APP的微信点餐小程序的设计与实现

    基于APP的微信点餐小程序的设计与实现 摘 要 本文介绍了一种基于APP的微信点餐小程序的设计与实现方法.该系统利用微信公众号作为用户入口,用户可以通过微信扫码进入点餐系统,选择菜品.下单.支付等操作 ...

  5. 【微信小程序系列】微信小程序连接后端数据库(SSM)案例

    [微信小程序系列]微信小程序连接后端数据库(SSM)案例 登录页面 login.wxml <view class="page"><loading hidden=& ...

  6. 微信小程序——个人相册(前端)

    微信小程序--个人相册(前端) 项目效果图 1.项目功能 1)用户管理,信息包括:头像.昵称,功能包括:获取微信用户信息.验证用户是否存在.修改头像.修改昵称 2)上传相片:上传图片 3)照册列表:封 ...

  7. 微信小程序 本地mysql_微信小程序系列之使用缓存在本地模拟服务器数据库

    微信小程序系列之使用缓存在本地模拟服务器数据库 现在将data.js这个文件视作是本地数据库的初始化数据,要做的第一件事就是讲这些初始化数据装进缓存中,以形成数据库的初始化数据 整个应用程序的生命周期 ...

  8. 【微信小程序系列】微信小程序超简单教程,基本语法,获取用户基本数据信息,实现对云数据库的增删改查及小程序外部api的引用示例(附源码)

    [微信小程序系列]微信小程序超简单教程 小程序项目结构 静态页面的构成 HTML:结构 css:样式 js:行为 小程序 页面全部存放在pages, 而且pages目录只能存放页面 页面包括4个文件, ...

  9. [小记] 微信小程序 - 人脸识别前端(一)初体验

    微信小程序 - 人脸识别前端(一)初体验 记录尝试使用拍照模式进行人脸比对的过程-此方式有一定缺陷:调用系统摄像头,会保留照片于系统相册等 功能:人脸识别 + 打卡签到 说明:前端仅做拍照和转码操作等 ...

最新文章

  1. 简单的VC 操作XML 文件的的方法
  2. FAT32文件系统结构分析
  3. java: cannot execute binary file 如果遇到这个错,一般是操作系统位数出问题了。
  4. java override 访问权限_java基础之——访问修饰符(private/default/protected/public)
  5. undefined reference to `dlclose‘问题解决方法
  6. 主要排序算法(Python实现)
  7. mac composer 安装
  8. 多进程和线程的区别【转】
  9. 《LeetCode零基础指南》(第四讲) 一维数组 gyro
  10. 计算机网络名称缓存清理,如何清理电脑网络连接缓存
  11. 微服务出现Shutting down DiscoveryClient问题
  12. c++switch语言,C++ switch语句
  13. 在PPT中插入LaTeX公式(不用mathtype的方法,亲测有用!)
  14. 一文解决斐波那契数列求前n项和;和求第n个数是多少的问题;斐波那契数列(Fibonacci)又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
  15. oracle10g闪回恢复数据表
  16. 一个好用的上传图片插件
  17. 使用 Python+request 实现登入淘宝
  18. 技术人应该如何看待和学习区块链
  19. CF400D Dima and Bacteria【并查集】
  20. 【考研英语语法】虚拟语气

热门文章

  1. 2023年南京航空航天大学英语笔译专业考研上岸前辈备考经验
  2. 等保2.0:Windows服务器-记录表
  3. 我们的春节--2019
  4. C语言交换两个数组的内容
  5. C# Word 查找替换操作
  6. 局域网内文件同步工具 goodsync
  7. Google的10大座右铭
  8. 工具篇-旧版火狐浏览器+旧版插件hackbar
  9. 关于8位指针强制转16位隐晦问题
  10. Unity2018接入高德地图