思路
- 设置缓存的最长保存时间exp
- setItem时同时存储缓存存储的当前时间戳time
- getItem前获取当前的时间戳now
- 若
now-time>exp
则表示缓存信息已过期
实现
let exp = 1 * 24 * 60 * 60 * 1000 // 一天时长(时间戳格式)
localStorage.setItem('userId', 'xxx')
localStorage.setItem('time', new Date().getTime()) // 登录的时间
if (new Date().getTime() - localStorage.getItem('time') > exp) { // 已过期
console.log('登录已过期');
localStorage.clear()
}