/**
|
* 配置浏览器本地存储的方式,可直接存储对象数组。
|
*/
|
|
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 登录表单
|
}
|
|
export const useSessionCache = (type: CacheType = 'sessionStorage') => {
|
const wsSessionCache: WebStorageCache = new WebStorageCache({
|
storage: type
|
})
|
|
return {
|
wsSessionCache
|
}
|
}
|
|
export const deleteUserSessionCache = () => {
|
const { wsSessionCache } = useSessionCache()
|
wsSessionCache.delete(CACHE_KEY.ROLE_ROUTERS)
|
// 注意,不要清理 用户和 LoginForm 登录表单
|
}
|