微信小程序緩存過期時(shí)間的相關(guān)設(shè)置(推薦)
微信小程序緩存機(jī)制介紹
每個(gè)微信小程序都可以有自己的本地緩存,可以通過 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以對本地緩存進(jìn)行設(shè)置、獲取和清理。
但是微信默認(rèn)設(shè)置了緩存是無限長的過期時(shí)限,這對于我們的小程序開發(fā),是非常不好的。
哪些是一定需要過期的緩存
我正在開發(fā)的項(xiàng)目中,用戶通過第三方登錄拿到一個(gè)token,每次請求都必須帶上token,但是token的時(shí)限是30分鐘。
所以token就屬于有必要當(dāng)成緩存,但是又必須設(shè)置緩存時(shí)限的數(shù)據(jù)。
寫法
在用戶登錄成功后,把過期時(shí)間、token一起存入緩存:
// 設(shè)置token緩存
wx.setStorageSync('token', res.data.token);
// 當(dāng)前時(shí)間
var timestamp = Date.parse(new Date());
// 加上過期期限
var expiration = timestamp + 1200000; //緩存20分鐘
// 存入緩存
wx.setStorageSync('data_expiration', expiration);在app.js入口文件里,監(jiān)測是否超時(shí):
// 緩存是否過期
_isExpiration() {
// 當(dāng)前時(shí)間
var timestamp = Date.parse(new Date());
// 緩存中的過期時(shí)間
var data_expiration = wx.getStorageSync("data_expiration");
// 如果緩存中沒有data_expiration,說明也沒有token,還未登錄
if (data_expiration) {
// 如果超時(shí)了,清除緩存,重新登錄
if (timestamp > data_expiration) {
wx.clearStorageSync();
return true;
}else{
return false;
}
}
return true;
},到此這篇關(guān)于微信小程序緩存過期時(shí)間的相關(guān)設(shè)置的文章就介紹到這了,更多相關(guān)微信小程序緩存過期時(shí)間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
有趣的script標(biāo)簽用getAttribute方法來自腳本吧
有趣的script標(biāo)簽用getAttribute方法來自腳本吧...2007-03-03
JS實(shí)現(xiàn)禁止高頻率連續(xù)點(diǎn)擊的方法【基于ES6語法】
這篇文章主要介紹了JS實(shí)現(xiàn)禁止高頻率連續(xù)點(diǎn)擊的方法,通過事件監(jiān)聽結(jié)合定時(shí)器實(shí)現(xiàn)針對高頻率點(diǎn)擊的限制操作,該功能基于ES6語法實(shí)現(xiàn),需要的朋友可以參考下2017-04-04
javascript/jquery獲取地址欄url參數(shù)的方法
本篇文章主要是對javascript/jquery獲取地址欄url參數(shù)的方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03
uni-app集成使用SQLite數(shù)據(jù)庫的方法步驟
這篇文章主要介紹了uni-app集成使用SQLite數(shù)據(jù)庫的相關(guān)資料,包括勾選SQLite選項(xiàng)、封裝sqlite.js文件以及在使用時(shí)注意的事項(xiàng),文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01
詳解如何構(gòu)建Promise隊(duì)列實(shí)現(xiàn)異步函數(shù)順序執(zhí)行
這篇文章主要介紹了詳解如何構(gòu)建Promise隊(duì)列實(shí)現(xiàn)異步函數(shù)順序執(zhí)行,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10

