| 1234567891011121314151617181920212223242526272829303132333435 |
- /**
- * 保存时间戳,设置过期时间
- * @param {String} kind [大类]
- * @param {String} key [key值]
- * @param {*} value
- */
- export function setLocalStorageAndTime (kind, key, value) {
- const data = localStorage.getItem(kind)
- if (!data || data === 'undefined') {
- localStorage.setItem(kind, JSON.stringify({ [key]: { data: value, time: new Date().getTime() } }))
- return
- }
- const obj = JSON.parse(data)
- obj[key] = { data: value, time: new Date().getTime() }
- localStorage.setItem(kind, JSON.stringify(obj))
- }
- // 默认过期时间随机一至两小时
- export function getLocalStorageAndTime (kind, key, exp = 3600 * 1000 * (Math.random() + 1)) {
- // 获取数据
- const data = localStorage.getItem(kind)
- if (!data) return null
- const dataObj = JSON.parse(data)
- if (!dataObj[key]) return null
- // 与过期时间比较
- if (new Date().getTime() - dataObj[key].time > exp) {
- // 过期删除返回null
- dataObj[key] = null
- localStorage.setItem(kind, JSON.stringify(dataObj))
- return null
- } else {
- return dataObj[key].data
- }
- }
|