EG
/**
* 从 session storage中获取、存储、删除指定键的值
* @param {string} type - 操作的类型 set(存储)、get(获取)、remove(删除指定key)
* @param {string | object} dataVal - 值
* @param {string} key - 键
*/
function accessSessionStorage(type, dataVal, key) {
switch (type) {
case 'set':
try {
const serializedValue = JSON.stringify(dataVal);
sessionStorage.setItem(key, serializedValue);
} catch (error) {
console.error('Error while setting data to session storage:', error);
}
break
case 'get':
try {
const value = sessionStorage.getItem(key);
// 如果值存在则解析为对象,否则返回原始值
return value ? JSON.parse(value) : null;
} catch (error) {
console.error('Error while getting data from session storage:', error);
return null;
}
break
case 'remove':
try {
sessionStorage.removeItem(key);
} catch (error) {
console.error('Error while removing data from session storage:', error);
}
break
default:
break;
}
}
export { accessSessionStorage }
使用
import { accessSessionStorage } from "@utils";