使用本地存储

使用cooKie
class COOKIE {
  setCookie (name, value, time) {
    if (!name) return
    if (time) {
      const exp = new Date()
      exp.setTime(exp.getTime() + time * 60 * 1000)
      document.cookie = name + '=' + escape(value) + 'expires=' + exp.toGMTString()
    } else {
      document.cookie = name + '=' + escape(value)
    }
  }

  getCookie (name) {
    let arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)')         // eslint-disable-line
    if (arr = document.cookie.match(reg)) { return (arr[2]) } else { return null }  // eslint-disable-line
  }

  delCookie (name) {
    let exp = new Date()
    exp.setTime(exp.getTime() - 1)
    let cval = this.getCookie(name)
    if (cval != null) { document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString() }
  }
}

const useCookie = new COOKIE()

export default useCookie
过期时间的本地存储
import store from 'store'
/* 设置带过期时间的本地存储
* demo:设置缓存:
* imoprt HmmStore from './Hmmstore'
* HmmStore.setStore('test', { test: 'test1'}, 10 * 60 * 2000)
* 获取缓存
* HmmStore.get('test')
*/
class HmmStore {
  constructor () {
    this.expires = 10 * 60 * 1000 // 默认十分钟
  }

  // 设置本地存储
  setStore (name, data, during = this.expires) {
    // 临时变量 用来拼接过期时间
    let tempData = {
      time: this.getNowTime(),
      during,
      data
    }

    // 设置存储
    store.set(`${name}`, tempData)
  }

  // 获取本地存储
  getStore (name) {
    if (store.get(name)) {
      let tempData = store.get(name)

      if (tempData.time && tempData.during) {
        if (this.getNowTime() < (tempData.time + tempData.during)) {
          return tempData.data
        } else {
          return ''
        }
      } else {
        return ''
      }
    } else {
      return ''
    }
  }

  // 删除缓存
  deleteStore (name) {
    store.remove(name)
  }

  // 获取当前时间
  getNowTime () {
    return Date.parse(new Date())
  }
}

export default new HmmStore()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值