1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-14 22:10:24 +08:00
Files
paper-manager/frontend/vben/src/utils/auth/index.ts
2023-03-10 17:18:32 +08:00

27 lines
837 B
TypeScript

import { Persistent, BasicKeys } from '/@/utils/cache/persistent'
import { CacheTypeEnum } from '/@/enums/cacheEnum'
import projectSetting from '/@/settings/projectSetting'
import { TOKEN_KEY } from '/@/enums/cacheEnum'
const { permissionCacheType } = projectSetting
const isLocal = permissionCacheType === CacheTypeEnum.LOCAL
export function getToken() {
return getAuthCache(TOKEN_KEY)
}
export function getAuthCache<T>(key: BasicKeys) {
const fn = isLocal ? Persistent.getLocal : Persistent.getSession
return fn(key) as T
}
export function setAuthCache(key: BasicKeys, value) {
const fn = isLocal ? Persistent.setLocal : Persistent.setSession
return fn(key, value, true)
}
export function clearAuthCache(immediate = true) {
const fn = isLocal ? Persistent.clearLocal : Persistent.clearSession
return fn(immediate)
}