Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 7x 7x 7x 7x 2x 1x 1x 1x 5x 7x 4x 4x 2x 2x 2x 2x 2x 4x 4x 1x 1x 1x | export default {
/**
* 获取对应key的localStorage
* @param {string} key 键值
* @returns {any}
*/
get: (key: string): any => {
let result = null
let _local = JSON.parse(localStorage.getItem(key))
let isObj = Object.prototype.toString.call(_local) === '[object Object]'
if (isObj && _local.$$ExpiryTime) {
if (new Date().getTime() > new Date(_local.$$ExpiryTime).getTime()) {
// 过期
result = null
localStorage.removeItem(key)
} else {
result = _local.data
}
} else {
result = _local
}
return result
},
/**
* 设置localStorage (可存对象)
* @param {string} key 键值
* @param {string} dataSource 数据
* @param {number} second 过期时间(s)
* @returns {any}
*/
set: (key: string, dataSource: string = null, second?: number): object => {
let result: any = {}
if (second) {
const d = new Date()
d.setTime(d.getTime() + second * 1000)
result.data = dataSource
result.$$ExpiryTime = d
} else {
result = dataSource
}
localStorage.setItem(key, JSON.stringify(result))
return result
},
/**
* 移除对应key的localStorage
* @param {string} key 键值
*/
remove: (key: string) => {
key && localStorage.removeItem(key)
},
/** 清空localStorage */
clear: () => localStorage.clear(),
/**
* 获取localStorage中第n+1个的key
* @param {number} n
*/
key: (n: number) => localStorage.key(n),
}
|