uniapp设置带过期时间的本地缓存setStorageSync

/**

  • @param {缓存key} key
  • @param {需要存储的缓存值} value
  • @param {过期时间,默认0表示永久有效} expire
    */
function setCache (key, value, expire = 0){
    let obj = {
      data: value, //存储的数据
      time: Date.now() / 1000, //记录存储的时间戳
      expire: expire //记录过期时间,单位秒
    }
    console.log('setCache:',value)
    uni.setStorageSync(key, JSON.stringify(obj))
}

/**

  • @param {缓存key} key
    */
function getCache(key){
    
    let val = uni.getStorageSync(key)
    if (!val) {
      return null
    }
    val = JSON.parse(val)
    console.log('pre setCache:',val.data)
    if (val.expire && Date.now() / 1000 - val.time > val.expire) {
      uni.removeStorageSync(key)
      return null
    }
    console.log('end setCache:',val.data)
    return val.data
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容