importar {validatenull} desde '@ / util / validate';
importar sitio web desde '@ / config / website'
const keyName = website.key + '-';
/ **
* Almacenamiento local Almacenamiento
* /
// El token existe en localStorage, y el contenido del contenido existe en sessionStorage
export const setStore = (params = {}) => {
let {nombre, contenido, tipo,} = params;
nombre = nombre clave + nombre
let obj = {
dataType: typeof (contenido),
contenido: contenido,
tipo: tipo,
datetime: new Date (). getTime ()
}
if (tipo) window.sessionStorage.setItem (nombre, JSON.stringify (obj));
else window.localStorage.setItem (nombre, JSON.stringify (obj));
}
/ **
* Obtener localStorage
* /
export const getStore = (params = {}) => {
let {name, debug} = params;
nombre = nombre clave + nombre
dejar obj = {},
contenido;
obj = window.sessionStorage.getItem (nombre);
if (validatenull (obj)) obj = window.localStorage.getItem (nombre);
if (validatenull (obj)) devuelve;
tratar {
obj = JSON.parse (obj);
} captura {
volver obj;
}
if (depuración) {
volver obj;
}
if (obj.dataType == 'cadena') {
content = obj.content;
} else if (obj.dataType == 'número') {
content = Number (obj.content);
} else if (obj.dataType == 'boolean') {
contenido = eval (obj.content);
} else if (obj.dataType == 'objeto') {
content = obj.content;
}
devolver contenido;
}
/ **
* Eliminar localStorage
* /
export const removeStore = (params = {}) => {
let {nombre, tipo} = params;
nombre = nombre clave + nombre
if (tipo) {
window.sessionStorage.removeItem (nombre);
} más {
window.localStorage.removeItem (nombre);
}
}
/ **
* Obtenga todo el almacenamiento local
* /
export const getAllStore = (params = {}) => {
let list = [];
dejar {
tipo
} = params;
if (tipo) {
for (let i = 0; i <= window.sessionStorage.length; i ++) {
list.push ({
nombre: window.sessionStorage.key (i),
contenido: getStore ({
nombre: window.sessionStorage.key (i),
tipo: 'sesión'
})
})
}
} más {
for (let i = 0; i <= window.localStorage.length; i ++) {
list.push ({
nombre: window.localStorage.key (i),
contenido: getStore ({
nombre: window.localStorage.key (i),
})
})
}
}
lista de retorno;
}
/ **
* Borrar todo el almacenamiento local
* /
export const clearStore = (params = {}) => {
let {type} = params;
if (tipo) {
window.sessionStorage.clear ();
} más {
window.localStorage.clear ()
}
}