tian-yan-yan
Version:
一套不算好用的组件
67 lines (55 loc) • 1.47 kB
JavaScript
/*
* 本地存储
* @author: 张文
* @date 2022-02-17
* */
export const LocalStorage = {
/**
* 获取存入数据
* @author 张文
* @date 2022-05-11
* @param {String} key 数据key
* @return {*} 返回存入的数据,如果存入数据是对象或数组类型的字符串将会自动转换为对象或数组类型
* */
get(key) {
if (!key) {
console.error('本地储存,没有传入需要取值的key')
return ''
}
const data = window.localStorage.getItem(key) || undefined
const erg = /^\{.*\}|\[.*\]/
return data && erg.test(data) ? JSON.parse(data) : data
},
/**
* 存入数据
* @author 张文
* @date 2022-05-11
* @param {String} key 数据key
* @param {*} data 数据,当存入数据为非字符串类型时,将会被转换为字符串
* */
set(key, data) {
if (!key) {
console.error('本地储存,没有传入需要设置的key')
return
}
let str = typeof data === "string" ? data : JSON.stringify(data)
window.localStorage.setItem(key, str)
},
/**
* 删除存入数据
* @author 张文
* @date 2022-05-11
* @param {String} key 数据key
* */
remove(key) {
window.localStorage.removeItem(key)
},
/**
* 清空全部存入数据
* @author 张文
* @date 2022-05-11
* */
removeAll() {
window.localStorage.clear()
},
}