根据日期查询的报表内容缓存到Local Storage

let CacheReportData = {
  /**
   * 获取缓存
   * @param obj 调用该方法的对象
   * @param name 缓存唯一标识符
   * @param startDate 查询的日期条件
   * @param pagingData 分页参数
   * @returns {*} 返回选中日期的数据
   */
  getCacheData: function(obj, name, startDate, pagingData) {
    let localStorageCache = window.localStorage;
    let localStorageCacheObj = localStorageCache.getItem(name);
    try {
      if (localStorageCacheObj.indexOf('obj-') === 0) {
        localStorageCacheObj = localStorageCacheObj.slice(4);
        for (const cache of JSON.parse(localStorageCacheObj)) {
          //如果查询日期和页码一直就调用浏览器本地缓存的数据
          if (cache.key === startDate && cache._current === pagingData._current) {
            pagingData._current = cache._current;
            pagingData._pageSize = cache._pageSize;
            pagingData._total = cache._total;
            return cache.values;
          }
        }
      }
    } catch (e) {}
  },

  /**
   * 设置缓存
   * @param obj 调用该方法的对象
   * @param name 标识符
   * @param startDate 查询的日期条件
   * @param list 数据集合
   * @param paging 分页对象
   */
  setCacheData: function(obj, name, startDate, list, paging) {
    let cacheDatas = {};
    cacheDatas.key = startDate;
    cacheDatas.values = list;
    cacheDatas._current = paging.current;
    cacheDatas._pageSize = paging.pageSize;
    cacheDatas._total = paging.total;
    obj.state.cacheData.push(cacheDatas);

    let v = JSON.stringify(obj.state.cacheData);
    v = 'obj-' + v;
    let localStorage = window.localStorage;
    localStorage.setItem(name, v);
  },
};

export default CacheReportData;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值