本地储存插件主要是对localStorage进行了一下简单的封装,免去储存字典对象的时候的json转换;
适合模块化的前端开发;建议单独作为一个文件进行保存。
class Momery {
constructor() {
this.Local = localStorage || window.localStorage;
}
/**
* @description: 设置本地储存
* @param {*} key 键
* @param {*} value 值
* @return {*} this 可实现链式连续调用
*/
set(key, value) {
if (typeof value == "object") {
value = JSON.stringify(value);
}
this.Local.setItem(key, value);
return this;
}
/**
* @description: 获取键
* @param {*} key
* @return {*} value 返回值
*/
get(key) {
let info = this.Local.getItem(key);
if (info == "" || !info) {
return "";
}
return this.isObj(info);
}
/**
* @description: 判断字符串是不是json对象
* @param {*} str
* @return {*}
*/
isObj(str) {
if (typeof str == "string") {
try {
let obj = JSON.parse(str);
if (typeof obj == "object" && obj) {
return obj;
} else {
return str;
}
} catch (e) {
return str;
}
}
}
/**
* @description: 删除本地储存键
* @param {*} key
* @return {*}boolean
*/
del(key) {
this.Local.removeItem(key);
return this; //返回自身,可以实现链式调用
}
/**
* @description: 清除全部本地储存
* @param {*}
* @return {*}boolean
*/
clear() {
this.Local.clear();
return this;
}
}
export default new Momery();
/*
使用方法
储存字符串:Momery.set("token",13222);
储存对象:Momery.set("token",{token:1});
获取对象:Momery.get("token");
删除对象:Momery.del("token");
清除所有本地储存:Momery.clear();
可链式调用:Momery.set("token",1).del("token").clear();//get不可以
*/