uni-app封装缓存过期方法
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一个参数的情况下,就是读取缓存