You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
833 B
27 lines
833 B
2 years ago
|
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)
|
||
|
}
|