123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import config from '../config/index'
- export class Cache {
- constructor() {
- this.radix = 1000 // 如果该值为 1000 则是毫秒级单位,1 则是秒级单位
- }
- /**
- * 增加数据
- * @param {*} key 键值
- * @param {*} value 键名
- * @param {*} duration 有效期,0永久有效
- */
- setItem(key, value, duration) {
- let data = {
- value: value,
- expiryTime:
- !duration || isNaN(duration)
- ? 0
- : Date.parse(new Date()) + parseInt(duration, 10) * this.radix
- }
- try {
- uni.setStorageSync(`${config.storePrefix}${key}`, JSON.stringify(data))
- } catch (e) {
- // error
- }
- }
- /**
- * 查询数据
- * @param {*} key 键值
- */
- getItem(key) {
- try {
- const data = uni.getStorageSync(`${config.storePrefix}${key}`)
- if (data) {
- if (!data || data === 'null') {
- return null
- }
- let now = Date.parse(new Date())
- let obj
- try {
- obj = JSON.parse(data)
- } catch (e) {
- return null
- }
- if (obj.expiryTime === 0 || obj.expiryTime > now) {
- return obj.value
- }
- return null
- }
- } catch (e) {
- // error
- }
- }
- /**
- * 删除数据
- * @param {*} key 键值
- */
- removeItem(key) {
- try {
- uni.removeStorageSync(`${config.storePrefix}${key}`)
- } catch (e) {
- // error
- }
- }
- /**
- * 清空数据
- */
- clear() {
- try {
- uni.clearStorageSync()
- } catch (e) {
- // error
- }
- }
- }
|