Files
Obosky_Ronghua/front/src/utils/storage.js
2023-10-17 09:15:30 +08:00

53 lines
927 B
JavaScript

export default (storage) => {
if (!storage) return
const skey = (key) => '' + key
return {
/**
* 获取
* @param {string} key key
* @param {any} defaultValue defaultValue
*/
get (key, defaultValue) {
try {
return JSON.parse(storage.getItem(skey(key))) || defaultValue
} catch (error) {
return defaultValue
}
},
/**
* 保存
* @param {string} key key
* @param {any} val 值
*/
save (key, val) {
if (val === undefined || val === null) return this.remove(key)
storage.setItem(skey(key), JSON.stringify(val))
},
/**
* 获取 所有key
*/
keys () {
return Object.keys(storage)
},
/**
* 删除
* @param {string} key key
*/
remove (key) {
storage.removeItem(skey(key))
},
/**
* 清空
*/
clear () {
storage.clear()
}
}
}