localStorage做时间限制

312 阅读1分钟
class S {
 
  setItem(key, value, expire) {

    const obj = {
      value,
      now: Date.now(),
      expire: expire || 1000
    }

    localStorage.setItem(key, JSON.stringify(obj))
  }

  getItem(key) {
    const now = Date.now()
    let res = localStorage.getItem(key)

    if (res === null) return null
    
    res = JSON.parse(res)
    if (now - res.now > res.expire) {
      localStorage.removeItem(key)
      return false
    }
    return res.value
  }
}