使用ts二次封装storage(sessionStorage/localStorage)
export class LocalCache { setCache<T = any>(key: string, value: T): boolean; setCache<T = any>( key: string, value: T, localOrSessionStorage: boolean ): boolean; /** * 设置缓存 * @param key * @param value * @param localOrSessionStorage true => localStorage 默认就是true 如果需要使用sessionStorage 需要传递该参数 false * @returns */ setCache<T = any>( key: string, value: T, localOrSessionStorage = true ): boolean { try { const val = JSON.stringify(value); if (localOrSessionStorage) { window.localStorage.setItem(key, val); } else { window.sessionStorage.setItem(key, val); } } catch (error) { return false; } return true; } getCache<T = any>(key: string): T; getCache<T = any>(key: string, localOrSessionStorage: boolean): T; /** * * @param key 获取缓存 * @param localOrSessionStorage * @returns */ getCache<T>(key: string, localOrSessionStorage = true): T { let res: any; if (localOrSessionStorage) { const val = window.localStorage.getItem(key); if (val) { res = JSON.parse(val); } } const val = window.sessionStorage.getItem(key); if (val) { res = JSON.parse(val); } return res as T; } deleteCache(key: string): void; deleteCache(key: string, localOrSessionStorage: boolean): void; deleteCache(key: string, localOrSessionStorage = true): void { if (localOrSessionStorage) window.localStorage.removeItem(key); else window.sessionStorage.removeItem(key); } clearCache(): void; clearCache(localOrSessionStorage: boolean): void; clearCache(localOrSessionStorage = true): void { if (localOrSessionStorage) window.localStorage.clear(); else window.sessionStorage.clear(); } } // 缓存对象 export default new LocalCache();
来源 :
使用ts二次封装storage(sessionStorage/localStorage)_尤雨东的博客-CSDN博客_ts storage
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!