基于微信小程序JS数据缓存封装

util_cache.js 

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,
}

Demo

const util_cache = require("./util_cache.js");

/*设置缓存
key: 缓存名称
value: 缓存值
timestamp: 缓存失效,不写则为永久储存
*/
util_cache.put('key', 'value', timestamp);

/*调用缓存
key: 缓存名称
*/
util_cache.get('key');

/*删除单一缓存
key: 缓存名称
*/
util_cache.remove('key');

/*删除所有缓存
key: 缓存名称
*/
util_cache.clear();

 

你可能感兴趣的:(微信小程序,javascript,缓存)