欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

簡介

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

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

實現(xiàn)方法

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

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

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

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

則調用put('k', '123', 1)方法;若永久存儲調用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(自定義讀取失敗的默認值) k為key,def為可選參數(shù),表示無緩存數(shù)據(jù)時返回值(支持字符串、json、數(shù)組、boolean等等)

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 基于原生CSS+JS實現(xiàn)一個標簽輸入框

    基于原生CSS+JS實現(xiàn)一個標簽輸入框

    在各種框架大行其道的氛圍下,有些原生的屬性和方法可能都不太關注了,這也不失為是一種損失。本文就將利用原生CSS+JS實現(xiàn)一個簡單的標簽輸入框,感興趣的可以了解一下
    2022-04-04
  • 詳解Javascript中document.execCommand()的用法以及指令參數(shù)列表

    詳解Javascript中document.execCommand()的用法以及指令參數(shù)列表

    execCommand方法是執(zhí)行一個對當前文檔,當前選擇或者給出范圍的命令。在HTML5中,execCommand可以通過JavaScript代碼來調用,使得開發(fā)者可以在網(wǎng)頁中實現(xiàn)一些復雜的文本操作。在HTML編輯器中這個命令用得很多,酷炫的強大功能。
    2023-07-07
  • JavaScript 數(shù)組運用實現(xiàn)代碼

    JavaScript 數(shù)組運用實現(xiàn)代碼

    復習一下JS中數(shù)組的運用。學習js數(shù)組的朋友可以參考下。
    2010-04-04
  • 分享一個自定義的console類 讓你不再糾結JS中的調試代碼的兼容

    分享一個自定義的console類 讓你不再糾結JS中的調試代碼的兼容

    在寫JS的過程中,為了調試我們常常會寫很多 console.log、console.info、console.group、console.warn、console.error代碼來查看JS的運行情況,但發(fā)布時又因為IE不支持console,又要去掉這些代碼,一不小心就會出錯
    2012-04-04
  • contenteditable可編輯區(qū)域設置換行實現(xiàn)技巧實例

    contenteditable可編輯區(qū)域設置換行實現(xiàn)技巧實例

    這篇文章主要為大家介紹了contenteditable可編輯區(qū)域設置換行實現(xiàn)技巧實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Laravel中常見的錯誤與解決方法小結

    Laravel中常見的錯誤與解決方法小結

    大家在用Laravel框架期間可能會遇到了不少問題,現(xiàn)在我將自己遇到的一些問題總結出來,有一些調試起來著實不太容易,本文篩選出幾個,希望這篇文章能讓大家在PHP開發(fā)中少走一些彎路。
    2016-08-08
  • JavaScript中return返回多個值的三個方法實現(xiàn)

    JavaScript中return返回多個值的三個方法實現(xiàn)

    本文主要介紹了JavaScript中return返回多個值的三個方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 詳解JavaScript邏輯And運算符

    詳解JavaScript邏輯And運算符

    這篇文章主要介紹了JavaScript邏輯And運算符,在JavaScript中,邏輯 AND 運算符用雙和號(&&)表示
    2015-12-12
  • JS實現(xiàn)的數(shù)字格式化功能示例

    JS實現(xiàn)的數(shù)字格式化功能示例

    這篇文章主要介紹了JS實現(xiàn)的數(shù)字格式化功能,結合實例形式分析了javascript針對數(shù)字與字符的相關運算處理技巧,需要的朋友可以參考下
    2017-02-02
  • 原生js實現(xiàn)淘寶購物車功能

    原生js實現(xiàn)淘寶購物車功能

    這篇文章主要向大家推薦一個原生js實現(xiàn)淘寶購物車功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論