uni-app封装缓存过期方法

作者: adm 分类: 前端,小程序 发布时间: 2023-03-09

uni-app封装缓存过期方法
缓存在我们的日常开发中还是非常常见的。同样的今天的话题是在uni-app框架中怎么封装一个缓存方法,为什么还要自己封装缓存方法?虽然说uni-app是用缓存的api接口的,也就是uni.setStorage,但是呢,这个缓存api是没有设置过期缓存这一说的,也就是说,你如果没有主动清除的话,这个缓存就会一直在。。。这明显缺了那么一点意思,所以我们来自己封装一个带设置缓存过期时间的一个方法。

1.封装一个js文件

function myCache(key, value, seconds = 3600 * 24) {
	let nowTime = Date.parse(new Date()) / 1000;
	if (key && value) {
		let expire = nowTime + Number(seconds);
		uni.setStorageSync(key,JSON.stringify(value) + '|' +expire)
		console.log('已经把' + key + '存入缓存,过期时间为' + expire)
	} else if (key && !value) {
		let val = uni.getStorageSync(key);
		if (val) {
			// 缓存存在,判断是否过期
			let temp = val.split('|')
			if (!temp[1] || temp[1] <= nowTime) {
				uni.removeStorageSync(key)
				console.log(key + '缓存已失效')
				return '';
			} else {
				return JSON.parse(temp[0]);
			}
		}
	}

}

module.exports = {
  myCache:myCache
}

2.在使用的页面中引入它

var myCache = require('../../myCache/myCache.js')

这里路径根据自己目录来查找

3.如何使用

myCache.myCache('key','value',20) //存入缓存,最后一个参数是缓存过期时间,秒
myCache.myCache('key') //只传key一个参数的情况下,就是读取缓存

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!