index.ts 810 B

12345678910111213141516171819202122232425
  1. import { Persistent, BasicKeys } from '@/utils/cache/persistent';
  2. import { CacheTypeEnum, TOKEN_KEY } from '@/enums/cacheEnum';
  3. import projectSetting from '@/settings/projectSetting';
  4. const { permissionCacheType } = projectSetting;
  5. const isLocal = permissionCacheType === CacheTypeEnum.LOCAL;
  6. export function getToken() {
  7. return getAuthCache(TOKEN_KEY);
  8. }
  9. export function getAuthCache<T>(key: BasicKeys) {
  10. const fn = isLocal ? Persistent.getLocal : Persistent.getSession;
  11. return fn(key) as T;
  12. }
  13. export function setAuthCache(key: BasicKeys, value) {
  14. const fn = isLocal ? Persistent.setLocal : Persistent.setSession;
  15. return fn(key, value, true);
  16. }
  17. export function clearAuthCache(immediate = true) {
  18. const fn = isLocal ? Persistent.clearLocal : Persistent.clearSession;
  19. return fn(immediate);
  20. }