最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

簡介

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

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

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

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

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

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

設(shè)置緩存-----------put(k, v, t) k為key,v為具體內(nèi)容(支持字符串、json、數(shù)組、boolean等等),t為可選參數(shù)表示有效時(shí)間(單位:秒)如存儲(chǔ)k為123過期時(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ù),表示無緩存數(shù)據(jù)時(shí)返回值(支持字符串、json、數(shù)組、boolean等等)

如讀取k緩存,則調(diào)用get('k');若想要無緩存時(shí),返回默認(rèn)值則get('k','默認(rèn)值'),支持各個(gè)數(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)移除某個(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,
}

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

相關(guān)文章

  • express異步函數(shù)異常捕獲示例詳解

    express異步函數(shù)異常捕獲示例詳解

    這篇文章主要給大家介紹了關(guān)于express異步函數(shù)異常捕獲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 微信小程序?qū)崿F(xiàn)歷史搜索功能的全過程(h5同理)

    微信小程序?qū)崿F(xiàn)歷史搜索功能的全過程(h5同理)

    最近在使用微信小程序開發(fā)的時(shí)候遇到了一個(gè)需求,需要實(shí)現(xiàn)歷史搜索記錄的功能,所以下面這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)歷史搜索功能(h5同理)的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 含有CKEditor的表單如何提交

    含有CKEditor的表單如何提交

    如何提交含有CKEditor的表單,其實(shí)很簡單的在提交事件中加入這一句即可解決問題
    2014-01-01
  • HTML DOM的nodeType值介紹

    HTML DOM的nodeType值介紹

    將HTML DOM中幾個(gè)容易常用的屬性做下記錄,需要的朋友可以參考下。
    2011-03-03
  • JavaScript自定義文本框光標(biāo)

    JavaScript自定義文本框光標(biāo)

    本篇文章主要介紹了JavaScript自定義文本框光標(biāo)的方法實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • 微信小程序?qū)崿F(xiàn)九宮格翻牌動(dòng)畫

    微信小程序?qū)崿F(xiàn)九宮格翻牌動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)九宮格翻牌動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 深入淺出理解javaScript原型鏈

    深入淺出理解javaScript原型鏈

    這篇文章主要介紹了對(duì)javaScript原型鏈的理解,以實(shí)例形式對(duì)javaScript原型鏈的概念及相關(guān)使用技巧做了較為淺顯易懂的分析,需要的朋友可以參考下
    2015-05-05
  • BootStrap整體框架之基礎(chǔ)布局組件

    BootStrap整體框架之基礎(chǔ)布局組件

    這篇文章主要為大家詳細(xì)介紹了BootStrap整體框架之基礎(chǔ)布局組件的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 原生js實(shí)現(xiàn)無縫輪播圖效果

    原生js實(shí)現(xiàn)無縫輪播圖效果

    本文主要分享了原生js實(shí)現(xiàn)無縫輪播圖效果的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • JavaScript中常用的3種彈出提示框(alert、confirm、prompt)

    JavaScript中常用的3種彈出提示框(alert、confirm、prompt)

    這篇文章主要給大家介紹了關(guān)于JavaScript中常用的3種彈出提示框(alert、confirm、prompt)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

德安县| 上饶县| 拜城县| 崇明县| 永泰县| 新和县| 子洲县| 静海县| 贵定县| 松潘县| 桦川县| 梓潼县| 崇明县| 彭阳县| 平昌县| 故城县| 祁连县| 蓬溪县| 八宿县| 饶平县| 江安县| 秀山| 千阳县| 中阳县| 赞皇县| 涞水县| 龙游县| 黄浦区| 上林县| 华蓥市| 正安县| 秭归县| 望谟县| 富源县| 广东省| 若尔盖县| 望都县| 离岛区| 汕头市| 闻喜县| 区。|