LocalStorage缓存设置过期时间

787 阅读1分钟
function setLocalStorage(key, value) {
  window.localStorage.setItem(key, JSON.stringify({ data: value, time: new Date().getTime() }))
}
function getLocalStorage(key, exp = 4000) {
  let data = window.localStorage.getItem(key)
  if (!data) return null
  let datas = JSON.parse(data)
  console.log(datas);
  // 与过期时间比较
  if (new Date().getTime() - datas.time > exp) {
    // 过期删除数据
    window.localStorage.removeItem(key)
    console.warn('数据已过期')
    return null
  } else {
    console.log(datas.data)
    return datas.data
  }

}
let obj = {
  name: 'dongshun',
  age: 25
}
setLocalStorage('personName', obj)
getLocalStorage('personName')