真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微信小程序緩存支持二次開發(fā)封裝的示例分析-創(chuàng)新互聯(lián)

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

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出開江免費做網(wǎng)站回饋大家。

簡介

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

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

實現(xiàn)方法

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

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

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

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

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

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

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


名稱欄目:微信小程序緩存支持二次開發(fā)封裝的示例分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://weahome.cn/article/diioci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部