Files
tashow-manager/src/hooks/web/useCache.ts
2025-09-09 16:58:30 +08:00

40 lines
851 B
TypeScript

/**
* 配置浏览器本地存储的方式,可直接存储对象数组。
*/
import WebStorageCache from "web-storage-cache";
type CacheType = "localStorage" | "sessionStorage";
export const CACHE_KEY = {
// 用户相关
ROLE_ROUTERS: "roleRouters",
USER: "user",
// 系统设置
IS_DARK: "isDark",
LANG: "lang",
THEME: "theme",
LAYOUT: "layout",
DICT_CACHE: "dictCache",
// 登录表单
LoginForm: "loginForm",
TenantId: "tenantId",
};
export const useCache = (type: CacheType = "localStorage") => {
const wsCache: WebStorageCache = new WebStorageCache({
storage: type,
});
return {
wsCache,
};
};
export const deleteUserCache = () => {
const { wsCache } = useCache();
wsCache.delete(CACHE_KEY.USER);
wsCache.delete(CACHE_KEY.ROLE_ROUTERS);
// 注意,不要清理 LoginForm 登录表单
};