亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序緩存支持二次開(kāi)發(fā)封裝實(shí)現(xiàn)解析

 更新時(shí)間:2019年12月16日 14:39:21   作者:竹林中  
這篇文章主要介紹了微信小程序緩存支持二次開(kāi)發(fā)封裝實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了微信小程序緩存支持二次開(kāi)發(fā)封裝實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

簡(jiǎn)介

微信小程序提供了緩存的api,包括同步和異步兩種,具體api不多說(shuō)明,可自行查看官方文檔

現(xiàn)在微信小程序緩存api存在一個(gè)問(wèn)題就是沒(méi)有設(shè)定過(guò)期時(shí)間,下面給大家介紹一下對(duì)小程序緩存的二次封裝,使其支持設(shè)定過(guò)期時(shí)間

實(shí)現(xiàn)方法

先聲明,這個(gè)并非原創(chuàng)方法,只是查找資料的時(shí)候看到的,覺(jué)得挺有用,就記錄下來(lái),也算轉(zhuǎn)播給大家

原作鏈接:https://gitee.com/JiangMu/wcache,侵刪

微信小程序緩存是永久性,實(shí)際開(kāi)發(fā)中需要定制時(shí)效性緩存;因此做了二次開(kāi)發(fā)

設(shè)置緩存-----------put(k, v, t) k為key,v為具體內(nèi)容(支持字符串、json、數(shù)組、boolean等等),t為可選參數(shù)表示有效時(shí)間(單位:秒)如存儲(chǔ)k為123過(guò)期時(shí)間1秒,

則調(diào)用put('k', '123', 1)方法;若永久存儲(chǔ)調(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ù),表示無(wú)緩存數(shù)據(jù)時(shí)返回值(支持字符串、json、數(shù)組、boolean等等)

如讀取k緩存,則調(diào)用get('k');若想要無(wú)緩存時(shí),返回默認(rèn)值則get('k','默認(rèn)值'),支持各個(gè)數(shù)據(jù)類(lèi)型。

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

完整代碼:

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論