// 声明常量 SOLUTION_KEY 用于存储解决方案的本地存储键名
const SOLUTION_KEY = 'algorithm_debugPage';
// 定义判断是否过期的函数
const isExpired = (time) => +Date.now() > time;
// 导出获取解决方案的函数,接受一个 solutionId 参数
export const getSolution = (solutionId) => {
if (!solutionId) {
return null;
}
try {
// 从本地存储中获取数据
const storedData = localStorage.getItem(`${SOLUTION_KEY}_${solutionId}`);
if (!storedData) {
return null;
}
// 解析存储的数据
const { data, expiration } = JSON.parse(storedData);
// 检查数据是否过期
if (isExpired(expiration)) {
localStorage.removeItem(`${SOLUTION_KEY}_${solutionId}`);
return null;
}
return data;
} catch (error) {
return null;
}
};
// 导出设置解决方案的函数,接受 solutionId 和 data 两个参数
export const setSolution = (solutionId, data) => {
// 设置数据过期时间
const expiration = +Date.now() + 7 * 24 * 3600 * 1000;
const value = { data, expiration };
// 将数据存储到本地存储中
localStorage.setItem(`${SOLUTION_KEY}_${solutionId}`, JSON.stringify(value));
};
// 声明 Storage 对象,包含 setSolution 和 getSolution 两个方法
const Storage = {
setSolution,
getSolution
};
// 默认导出 Storage 对象
export default Storage;
【自动清除localStorage - Storage】
于 2024-03-06 16:38:16 首次发布