91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序緩存支持二次開發封裝的示例分析

發布時間:2021-06-03 13:54:00 來源:億速云 閱讀:172 作者:小新 欄目:web開發

這篇文章給大家分享的是有關微信小程序緩存支持二次開發封裝的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

簡介

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

現在微信小程序緩存api存在一個問題就是沒有設定過期時間,下面給大家介紹一下對小程序緩存的二次封裝,使其支持設定過期時間

實現方法

先聲明,這個并非原創方法,只是查找資料的時候看到的,覺得挺有用,就記錄下來,也算轉播給大家

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

微信小程序緩存是永久性,實際開發中需要定制時效性緩存;因此做了二次開發

設置緩存-----------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等同理。

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(自定義讀取失敗的默認值) k為key,def為可選參數,表示無緩存數據時返回值(支持字符串、json、數組、boolean等等)

如讀取k緩存,則調用get('k');若想要無緩存時,返回默認值則get('k','默認值'),支持各個數據類型。

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)移除某個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,
}

感謝各位的閱讀!關于“微信小程序緩存支持二次開發封裝的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴隆县| 彝良县| 辽阳县| 婺源县| 渝中区| 西乌珠穆沁旗| 彭水| 鄯善县| 晋中市| 旺苍县| 青州市| 裕民县| 江安县| 烟台市| 高淳县| 五大连池市| 芒康县| 盱眙县| 仁怀市| 正宁县| 叶城县| 葫芦岛市| 江西省| 湟中县| 阿克陶县| 藁城市| 威远县| 德阳市| 柘城县| 旺苍县| 屏南县| 寿宁县| 乐亭县| 四川省| 无锡市| 平定县| 福泉市| 临海市| 遵义县| 尚志市| 永新县|