美文网首页
uniapp中缓存支持过期时间的封装

uniapp中缓存支持过期时间的封装

作者: 周星星的学习笔记 | 来源:发表于2021-12-24 22:29 被阅读0次

uniapp中可以使用uni.getStorageSync以及uni.setStorageSync操作缓存数据,但是不能设置过期时间,下面做一个简单的封装。

/**
   *
   * @param {缓存key} key
   * @param {需要存储的缓存值} value
   * @param {过期时间,默认0表示永久有效} expire
   */
  export const setCache = (key, value, expire = 0) =>  {
    let obj = {
      data: value, //存储的数据
      time: Date.now() / 1000, //记录存储的时间戳
      expire: expire //记录过期时间,单位秒
    }
    uni.setStorageSync(key, JSON.stringify(obj))
  },
  /**
   *
   * @param {缓存key} key
   */
  export const getCache = (key) => {
    let val = uni.getStorageSync(key)
    if (!val) {
      return null
    }
    val = JSON.parse(val)
    if (val.expire && Date.now() / 1000 - val.time > val.expire) {
      uni.removeStorageSync(key)
      return null
    }
    return val.data
  }

相关文章

网友评论

      本文标题:uniapp中缓存支持过期时间的封装

      本文链接:https://www.haomeiwen.com/subject/szurqrtx.html