前端设置数据定时失效:
- 如果存储的内容不超过cookie设置的大小,那么使用cookie进行数据的存储和设置有效期是最方便的。
- 当数据较大时,可以利用localstorage,存数据时候写入一个时间,获取的时候再与当前时间进行比较
利用localstorage实现:
前端存储时,设置一个方法,存储的同时,加上时间戳
export function LocalStoragesetTime (key, value) {
window.localStorage.setItem(
key, JSON.stringify({ data: value, time: new Date().getTime() })
)
}
有数据时进行存储
LocalStoragesetTime('name',{age:'18'})
取数据时判断是否过期
LocalStoragegetTime(name,27000000)
export const LocalStoragegetTime =(key, ex)=>{
// 获取数据
let data = window.localStorage.getItem(key)
if (!data) return null
let dataObj = JSON.parse(data)
if( +new Date()- data.time > ex){
// 最新时间-存储的时间>过期时间,已过期
// 过期删除返回null
removeLocalStorage(key)
console.log('信息已过期')
return null
}else{
return dataObj.data
}
}