在小程序中官方並沒有設置緩存失效時間的屬性,因此我們可以自己對緩存API進行封裝:
直接將封裝好的代碼放到utils中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
var dtime = '_deadtime' ;
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)
}
}
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;
}
}
function remove(k) {
wx.removeStorageSync(k);
wx.removeStorageSync(k + dtime);
}
function clear() {
wx.clearStorageSync();
}
module.exports = {
put: put,
get: get,
remove: remove,
clear: clear,
}
|
在需要使用的頁面中引入
使用方法:
設置緩存:util.put('key','value',604800) 表示設置緩存失效時間爲一週;
獲取緩存:util.get('key')
清除緩存:util.remove('key')
清除所有緩存:util.clear()