You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.1 KiB
JavaScript

var postfix = '_deadtime';
/**存储数据 并指定有效时间 */
function put(k, v, t) {
// console.log(k);
wx.setStorageSync(k, v)
var seconds = parseInt(t);
if (seconds > 0) {
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000 + seconds;
// console.log(timestamp);
wx.setStorageSync(k + postfix, timestamp + "")
} else {
wx.removeStorageSync(k + postfix)
}
}
/**获取数据 1:校验是否在有效期 2:true 返回指定keyvalue 否则返回 def*/
function get(k, def) {
var deadtime = parseInt(wx.getStorageSync(k + postfix))
if (deadtime) {
if (parseInt(deadtime) < Date.parse(new Date()) / 1000) {
if (def) { return def; } else { return; }
}
}
var res = wx.getStorageSync(k);
if (res) {
return res;
} else {
return def;
}
}
/**删除指定key 以及指定key有效时间缓存 */
function remove(k) {
wx.removeStorageSync(k);
wx.removeStorageSync(k + postfix);
}
/**清空缓存 */
function clear() {
wx.clearStorageSync();
}
module.exports = {
put: put,
get: get,
remove: remove,
clear: clear,
}