思路:将localStorage.setItem()和localStorage.getItem()进行封装,设置值时将过期时间传入进去,在获取值时进行判断是否过期,过期就清除并返回null。
/**
* @desc 设置localStorage时,设置过期时间
* @params key-键,value-值, time-过期时间
*/
export default {
setInfo: function (key, value, time) {
const date = new Date().getTime()
localStorage.setItem(key, JSON.stringify({ value, date, time }))
},
getInfo: function (key) {
const date = new Date().getTime()
const item = localStorage.getItem(key) || ''
if (item) {
const { value, date: oldDate, time } = JSON.parse(item)
console.log(date - oldDate, time);
if (date - oldDate >= time) {
localStorage.removeItem(key)
return null
} else {
return value
}
}
},
}