封装一个可以设置微信小程序的本地缓存接口过期时间的方法!
微信小程序提供的本地缓存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();
封装一个可以设置微信小程序的本地缓存接口过期时间的方法!相关推荐
- 【微信小程序】本地缓存保持登录状态之 wx.setStorageSync() 使用技巧
简介 微信小程序提供了一个如同浏览器 cookie 本地缓存方法,就是 wx.setStorageSync() . 注意,该方法是同步请求,还有个异步请求的方法是 wx.setStorage(),参考 ...
- 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)
大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...
- 微信小程序标题栏和导航栏的设置 —— 微信小程序教程系列(7)
设置标题栏 标题栏window 在app.json文件里面,通过window对象里面的属性进行设置 示例: app.json: 运行: 设置导航栏 导航栏TabBar 如果我们的小程序是一个多 tab ...
- 微信小程序篇_01 微信小程序与Java后端接口交互
微信小程序与Java后端接口交互 准备 创建后端项目 创建小程序项目 本文主要介绍小程序前后端数据的交互,实践演示. 准备 创建后端项目 我这里就创建一个SpringBoot项目作为演示. 在创建项目 ...
- 微信小程序view动态长度_微信小程序实现动态获取元素宽高的方法分析
本文实例讲述了微信小程序实现动态获取元素宽高的方法.分享给大家供大家参考,具体如下: 我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuer ...
- 怎么搭建微信小程序的本地测试服务器
Windows环境下 手把手教你搭建Windows环境微信小程序的本地测试服务器 问题的提出 Mac环境 方便快捷地搭建小程序的测试服务器 小程序对于网络请求的URL的特殊要求 不能出现端口号 不能用 ...
- 微信小程序购物车模块(缓存相关知识点)
微信小程序购物车模块(缓存相关知识点) 1.前言: 本购物车模块不使用数据库来实现,将以小程序内置的本地存储模拟实现 2.wxml: 先在加入购物车模块增加点击事件 <view class=&q ...
- 微信小程序开发数据缓存基础知识辨析以及运用实例
微信小程序开发数据缓存基础知识辨析以及运用实例 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的 ...
- 微信小程序input框中加入小图标的实现方法
最近入坑小程序,要求在小程序的输入框中展示一个小图标,页面如下: 然后按照,html页面中的做法,在input框中添加了background-image属性,出乎意料的事,小程序报了下边这样一个错误: ...
最新文章
- 一文详尽系列之K-means算法
- unity3d 数学的数学基础和辅助类
- nodejs安装和卸载
- Rancher Docker容器管理CPU/内存/网络/IO监控面板
- Javascript闭包——懂不懂由你,反正我是懂了
- Mysql数据库简单使用(二)
- 什么样的代码是好代码_什么是好代码?
- Shiro缓存(十三)
- java中的几个“区别”总结
- (转)JavaScript导出Word后对Word分页的处理
- android渐变布局,关于Android的径向渐变高级编程的实现
- Android的JNI【实战教程】5⃣️---Android Studio 2.2 以上 NDK开发
- mysql 用户授权授权_mysql的用户权限如何授权
- 计算机考试表格函数应用题,2017年职称计算机考试Excel练习题2
- Could not find a version that satisfies the requirement pytz (from django)
- 记一次mykings暗云挖矿木马的排查与解决
- 雷军,扎克伯格,乔布斯等巨佬的办公桌
- Codeforces1389 E. Calendar Ambiguity(数论)
- linux用shell脚本写游戏,shell脚本实现猜数游戏
- 计算机专业毕设评阅人评语,毕业论文指导教师评语与评阅人评语写法
热门文章
- jpa blob mysql_Spring让BLOB 和Clob数据操作变得简单易行
- oracle v session表,Oracle技术之V$SESSION_LONGOPS超过系统时间
- 免密钥登录脚本(转载)
- python中怎么统计英文字符的个数_Python之每日一练统计英文文本单词出现的个数、行数、字符数...
- 计算机内存五个区域,总结:计算机内存的五大区域
- tesseract -图像识别
- 【转载】理解dropout
- HTML5和CSS3归纳
- 【Java基础】· Java基本语法:程序流程控制习题总结
- win7系统安装 wifi连接到服务器,win7系统笔记本wifi无法连接到服务器1237的解决方法...