// localStorage封装
export const localStorageUtil = {
/**
* @param key
* @param data
* @param time 失效时间(秒),默认一天
* @returns {boolean}
*/
set: function(key, data, time) {
try {
if (!localStorage) {
return false
}
if (!time || isNaN(time)) {
time = 60 * 60 * 24
}
var cacheExpireDate = new Date() - 1 + time * 1000
var cacheVal = {
val: data,
exp: cacheExpireDate
}
localStorage.setItem(key, JSON.stringify(cacheVal)) // 存入缓存值
} catch (e) {
console.log(e)
}
},
get: function(key) {
try {
if (!localStorage) {
return false
}
var cacheVal = localStorage.getItem(key)
var result = JSON.parse(cacheVal)
var now = new Date() - 1
// 缓存不存在
if (!result) {
return null
}
// 缓存过期
if (now > result.exp) {
this.remove(key)
return ''
}
return result.val
} catch (e) {
this.remove(key)
return null
}
},
remove: function(key) {
if (!localStorage) {
return false
}
if (key) {
localStorage.removeItem(key)
} else {
localStorage.clear()
}
}
}
// sessionStorage封装
export const sessionStorageUtil = {
/**
* @param key
* @param data
* @param time 失效时间(秒),默认一天
* @returns {boolean}
*/
set: function(key, data, time) {
try {
if (!sessionStorage) {
return false
}
if (!time || isNaN(time)) {
time = 60 * 60 * 24
}
var cacheExpireDate = new Date() - 1 + time * 1000
var cacheVal = {
val: data,
exp: cacheExpireDate
}
sessionStorage.setItem(key, JSON.stringify(cacheVal)) // 存入缓存值
} catch (e) {
console.log(e)
}
},
get: function(key) {
try {
if (!sessionStorage) {
return false
}
var cacheVal = sessionStorage.getItem(key)
var result = JSON.parse(cacheVal)
var now = new Date() - 1
// 缓存不存在
if (!result) {
return null
}
// 缓存过期
if (now > result.exp) {
this.remove(key)
return ''
}
return result.val
} catch (e) {
this.remove(key)
return null
}
},
remove: function(key) {
if (!sessionStorage) {
return false
}
if (key) {
sessionStorage.removeItem(key)
} else {
sessionStorage.clear()
}
}
}
使用:
localStorageUtil.set('evaluations-report-path', this.url)
localStorageUtil.get('evaluations-report-id')
localStorageUtil.remove('evaluations-report-id')