index.ts 850 B

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