欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序--二次封装的缓存框架 wCache(支持缓存时间、默认值) ...

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:789

HTML5自适应律师工作室类网

2020-04-04   浏览:654

高端HTML5响应式企业通用网

2020-05-06   浏览:560

html5响应式外贸网站英文版

2020-05-08   浏览:545

HTML5影视传媒文化公司类网

2020-05-12   浏览:543

微信小程序--二次封装的缓存框架 wCache(支持缓存时间、默认值) ...

发布时间:2021-01-03  

开发客户端时常会用到一些非永久缓存的需求,而微信缓存只能按key永久缓存;其次,当读取缓存失败时,有时需要给个默认值,所以得二次判断下,今天想了一下何不封装一个缓存框架。 ...

 

 

 

一、前言  

开发客户端时常会用到一些非永久缓存的需求,而微信缓存只能按key永久缓存;其次,当读取缓存失败时,有时需要给个默认值,所以得二次判断下,今天想了一下何不封装一个缓存框架。

 

二、支持方法  

put(k, v, t)

k为key,v为具体内容(支持字符串、json、数组、boolean等等),t为可选参数表示有效时间(单位:秒)

如存储k为123过期时间1秒,则调用put('k', '123', 1)方法;若永久存储调用put('k', '123')

永久保存json:put('k', {"a":"1"}),数组、boolean等同理。

get(k, def)

k为key,def为可选参数,表示无缓存数据时返回值(支持字符串、json、数组、boolean等等)

如读取k缓存,则调用get('k');若想要无缓存时,返回默认值则get('k','默认值'),支持各个数据类型。

remove(k)

移除某个key

clear()

清空所有key

其他方法

使用wx原生的即可。

 

三、框架讲解

微信小程序--二次封装的缓存框架 wCache(支持缓存时间、默认值) ...

 

 

put(k, v, t)

 

function put(k, v, t){

// console.log(k);

wx.setStorageSync(k, v)

var seconds = parseInt(t);

if(seconds >0){

var timestamp =Date.parse(newDate());

timestamp = timestamp /1000+ seconds;

// console.log(timestamp);

wx.setStorageSync(k + postfix, timestamp +"")

}else{

wx.removeStorageSync(k + postfix)

}

}

先存储key的数据(字符串、数组、json),再判断过期时间是否大于0,当大于0时,存储key+一个后缀,内容为当前时间戳(单位秒)+有效时间t。

get(k, def)

 

functionget(k,def){

var deadtime = parseInt(wx.getStorageSync(k + postfix))

if(deadtime){

if(parseInt(deadtime)<Date.parse(newDate())/1000){

if(def){returndef;}else{return;}

}

}

var res = wx.getStorageSync(k);

if(res){

return res;

}else{

returndef;

}