|
微信小程序緩存是永久性,實(shí)際開發(fā)中需要定制時(shí)效性緩存;因此做了二次開發(fā) 設(shè)置緩存-----------put(k, v, t) k為key,v為具體內(nèi)容(支持字符串、json、數(shù)組、boolean等等),t為可選參數(shù)表示有效時(shí)間(單位:秒)如存儲k為123過期時(shí)間1秒, 則調(diào)用put('k', '123', 1)方法;若永久存儲調(diào)用put('k', '123') 永久保存json:put('k', {"a":"1"}),數(shù)組、boolean等同理。
function put(k, v, t) {
wx.setStorageSync(k, v)
var seconds = parseInt(t);
if (seconds > 0) {
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000 + seconds;
wx.setStorageSync(k + dtime, timestamp + "")
} else {
wx.removeStorageSync(k + dtime)
}
}
讀取緩存-----get(k, def)-------def(自定義讀取失敗的默認(rèn)值) k為key,def為可選參數(shù),表示無緩存數(shù)據(jù)時(shí)返回值(支持字符串、json、數(shù)組、boolean等等) 如讀取k緩存,則調(diào)用get('k');若想要無緩存時(shí),返回默認(rèn)值則get('k','默認(rèn)值'),支持各個(gè)數(shù)據(jù)類型。
function get(k, def) {
var deadtime = parseInt(wx.getStorageSync(k + dtime))
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;
}
}
remove(k)移除某個(gè)key clear()清空所有key 使用------- 引入src文件夾下的wCache.js文件 然后就可以直接使用 |