微信小程序提供的本地缓存api是个好东西,但是没有明确指定缓存有效期,对于某些应用来说,需要改造一下,方法思路很简单,也很常见通用的一个封装函数方法!

实现
新建wxCache.js

/*** 本地缓存* @param key 缓存参数* @param value 缓存值* @param time 缓存时间(小时为单位,传1,就意味缓存1个小时) 非必传
* */
export default class wxCache {//ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。 constructor() {this.now = new Date().getTime();// 获取当前时间}// 获取getCache(key) {this.now = new Date().getTime();// 获取当前时间let time = wx.getStorageSync(key).time || false;// 获取缓存时间if(time) {if (parseInt(time) >= this.now ) {// console.log('还没过期')return wx.getStorageSync(key).value}else {// console.log('过期啦')this.removeCache(key);// 删除字段inforeturn false}}else {// 没有设置时间处理返回return wx.getStorageSync(key)}};
/*** 设置缓存* @param key 缓存参数* @param value 缓存值* @param time 缓存时间(小时为单位,传1,就意味缓存1个小时) 非必传
* */setCache(key,value,time) {let data;if(time) {let timefrom = parseInt(Number(time)*60*60*1000); // 小时转化毫秒data = {value: value,time: timefrom + this.now}}else {data = value;}wx.setStorageSync(key, data);};// 移除removeCache(key) {console.log('删除')wx.removeStorageSync(key);};// 清空所有clearallCache() {wx.clearStorageSync();}}

app.js 全局导入

import wxCache from './common/wxCache.js'// 导入wxCache.js
App({data:{},wxCache:new wxCache(),// 全局导入
})

使用


// 设置key为huancun,value为 '123',时间缓存时间为1小时
app.wxCache.setCache('huancun','123',1);
// 获取key为huancun的value
app.wxCache.getCache('huancun');
// 移除key为huancun的缓存
app.clearallCache('huancun');
// 清空所有缓存
app.clearallCache();

封装一个可以设置微信小程序的本地缓存接口过期时间的方法!相关推荐

  1. 【微信小程序】本地缓存保持登录状态之 wx.setStorageSync() 使用技巧

    简介 微信小程序提供了一个如同浏览器 cookie 本地缓存方法,就是 wx.setStorageSync() . 注意,该方法是同步请求,还有个异步请求的方法是 wx.setStorage(),参考 ...

  2. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  3. 微信小程序标题栏和导航栏的设置 —— 微信小程序教程系列(7)

    设置标题栏 标题栏window 在app.json文件里面,通过window对象里面的属性进行设置 示例: app.json: 运行: 设置导航栏 导航栏TabBar 如果我们的小程序是一个多 tab ...

  4. 微信小程序篇_01 微信小程序与Java后端接口交互

    微信小程序与Java后端接口交互 准备 创建后端项目 创建小程序项目 本文主要介绍小程序前后端数据的交互,实践演示. 准备 创建后端项目 我这里就创建一个SpringBoot项目作为演示. 在创建项目 ...

  5. 微信小程序view动态长度_微信小程序实现动态获取元素宽高的方法分析

    本文实例讲述了微信小程序实现动态获取元素宽高的方法.分享给大家供大家参考,具体如下: 我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuer ...

  6. 怎么搭建微信小程序的本地测试服务器

    Windows环境下 手把手教你搭建Windows环境微信小程序的本地测试服务器 问题的提出 Mac环境 方便快捷地搭建小程序的测试服务器 小程序对于网络请求的URL的特殊要求 不能出现端口号 不能用 ...

  7. 微信小程序购物车模块(缓存相关知识点)

    微信小程序购物车模块(缓存相关知识点) 1.前言: 本购物车模块不使用数据库来实现,将以小程序内置的本地存储模拟实现 2.wxml: 先在加入购物车模块增加点击事件 <view class=&q ...

  8. 微信小程序开发数据缓存基础知识辨析以及运用实例

    微信小程序开发数据缓存基础知识辨析以及运用实例 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的 ...

  9. 微信小程序input框中加入小图标的实现方法

    最近入坑小程序,要求在小程序的输入框中展示一个小图标,页面如下: 然后按照,html页面中的做法,在input框中添加了background-image属性,出乎意料的事,小程序报了下边这样一个错误: ...

最新文章

  1. 一文详尽系列之K-means算法
  2. unity3d 数学的数学基础和辅助类
  3. nodejs安装和卸载
  4. Rancher Docker容器管理CPU/内存/网络/IO监控面板
  5. Javascript闭包——懂不懂由你,反正我是懂了
  6. Mysql数据库简单使用(二)
  7. 什么样的代码是好代码_什么是好代码?
  8. Shiro缓存(十三)
  9. java中的几个“区别”总结
  10. (转)JavaScript导出Word后对Word分页的处理
  11. android渐变布局,关于Android的径向渐变高级编程的实现
  12. Android的JNI【实战教程】5⃣️---Android Studio 2.2 以上 NDK开发
  13. mysql 用户授权授权_mysql的用户权限如何授权
  14. 计算机考试表格函数应用题,2017年职称计算机考试Excel练习题2
  15. Could not find a version that satisfies the requirement pytz (from django)
  16. 记一次mykings暗云挖矿木马的排查与解决
  17. 雷军,扎克伯格,乔布斯等巨佬的办公桌
  18. Codeforces1389 E. Calendar Ambiguity(数论)
  19. linux用shell脚本写游戏,shell脚本实现猜数游戏
  20. 计算机专业毕设评阅人评语,毕业论文指导教师评语与评阅人评语写法

热门文章

  1. jpa blob mysql_Spring让BLOB 和Clob数据操作变得简单易行
  2. oracle v session表,Oracle技术之V$SESSION_LONGOPS超过系统时间
  3. 免密钥登录脚本(转载)
  4. python中怎么统计英文字符的个数_Python之每日一练统计英文文本单词出现的个数、行数、字符数...
  5. 计算机内存五个区域,总结:计算机内存的五大区域
  6. tesseract -图像识别
  7. 【转载】理解dropout
  8. HTML5和CSS3归纳
  9. 【Java基础】· Java基本语法:程序流程控制习题总结
  10. win7系统安装 wifi连接到服务器,win7系统笔记本wifi无法连接到服务器1237的解决方法...