0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点#支付宝小程序缓存过期时间二开

app.js代码

// 缓存有效时间 1小时
cacheTime:60*60,
// 缓存标识
dtime: '_deadtime',
/**
* 设置缓存
* @param k string 键值
* @param v string 值
* @praam t int 过期时间
*/
put:function(k,v,t){
my.setStorageSync({
key:k,
data:v
})
var s = t?parseInt(t):cacheTime; // 如果t为空,则选区默认缓存时间
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000 + s;
var time = s>0?timestamp:'';
my.setStorageSync({
key:k + this.dtime,
data:time
})
},
// 获取缓存
get:function(k){
var t = my.getStorageSync({
key:k+this.dtime
});
var deadtime = t.data; // 缓存失效时间
var nowTime = Date.parse(new Date()) / 1000; // 小程序服务当前时间
if(deadtime>nowTime){
// a.1 未过期
var res = my.getStorageSync({
key: k,
});
var result = res.success==true?res.data:'';
return result;
}else{
// a.2 时间过期
this.remove(k);
return false;
}
},

// 移除缓存
remove: function (k) {
my.removeStorageSync({
key:k
});
my.removeStorageSync({
key:k + this.dtime
});
},

// 清理缓存
clear: function () {
my.clearStorageSync()
},

index.js代码。最佳效果是把app.​​put​​('a',10,10);  放入一个点击事件里面

//获取应用实例
var app = getApp();
Page({
onLoad(query) {
// 页面加载
var t = my.getStorageSync({
key: 'a', // 缓存数据的key
});
console.log(t);

var tt = app.get('a'); // 获取缓存
console.log(tt);

},
click:function(){
app.put('a',10,10); // 10s后过期
}
})

#yyds干货盘点#支付宝小程序缓存过期时间二开_缓存

举报

相关推荐

0 条评论