封裝微信小程序緩存有效時間

在小程序中官方並沒有設置緩存失效時間的屬性,因此我們可以自己對緩存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()

發佈了58 篇原創文章 · 獲贊 12 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章