uni-app封装缓存指定日期过期方法
应用场景:如一个签到功能用户关闭签到弹框不选择签到,当天不会弹出,让它第二天指定时间再弹出
1.封装一个js文件
function myCache(key, value, seconds) {
let nowTime = Date.parse(new Date()) / 1000;
if (key && value) {
let expire = 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.如何使用
let date = new Date()
let n = date.getFullYear()
let y = date.getMonth()+1
let r = date.getDate()
let timer = Date.parse(n+'/'+y+'/'+r+' '+'23'+':'+'59'+':'+'59') / 1000
myCache.myCache('key','value',timer) //存入缓存,最后一个参数是缓存过期时间,当天23:59:59失效
myCache.myCache('key') //只传key一个参数的情况下,就是读取缓存