1. 程式人生 > 其它 >小程式設定快取時效封裝

小程式設定快取時效封裝

import {
    GET,
    PUT
} from '../../utils/tools/session'    //引入 
PUT('test','我是測試,快取時效60秒',60)    // 設定時效值

GET('test')    // 沒值,就false;  有值就 有值  ''我是測試,快取時效60秒'

封裝的session.js

/*
1.設定快取-----------put(k, v, t) k為key,v為具體內容(支援字串、json、陣列、boolean等等),
t為可選引數表示有效時間(單位:秒)如儲存k為123過期時間1秒,
則呼叫put('k', '123', 1)方法;若永久儲存呼叫put('k', '123') 永久儲存json:put('k', {"a":"1"}),陣列、boolean等同理。

2.讀取快取-----get(k, def)-------def(自定義讀取失敗的預設值) k為key,def為可選引數,表示無快取資料時返回值(支援字串、json、陣列、boolean等等)
如讀取k快取,則呼叫get('k');若想要無快取時,返回預設值則get('k','預設值'),支援各個資料型別。

3.remove(k)移除某個key   clear()清空所有key

*/
let dtime = '_deadtime';

export 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)
  }
}

export 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; } } export function REMOVE(k) { wx.removeStorageSync(k); wx.removeStorageSync(k + dtime); } export function CLEAR() { wx.clearStorageSync(); }

拿走拿走, 不謝