2021-10-20 14:32:09 +08:00
|
|
|
import { Persistent, BasicKeys } from '/@/utils/cache/persistent';
|
|
|
|
import { CacheTypeEnum } from '/@/enums/cacheEnum';
|
|
|
|
import projectSetting from '/@/settings/projectSetting';
|
2022-06-10 10:44:44 +08:00
|
|
|
import { TOKEN_KEY, LOGIN_INFO_KEY, TENANT_ID } from '/@/enums/cacheEnum';
|
2021-10-20 14:32:09 +08:00
|
|
|
|
|
|
|
const { permissionCacheType } = projectSetting;
|
|
|
|
const isLocal = permissionCacheType === CacheTypeEnum.LOCAL;
|
|
|
|
|
2022-03-10 09:47:29 +08:00
|
|
|
/**
|
|
|
|
* 获取token
|
|
|
|
*/
|
2021-10-20 14:32:09 +08:00
|
|
|
export function getToken() {
|
2022-06-21 17:53:49 +08:00
|
|
|
return getAuthCache<string>(TOKEN_KEY);
|
2021-10-20 14:32:09 +08:00
|
|
|
}
|
2022-03-10 09:47:29 +08:00
|
|
|
/**
|
|
|
|
* 获取登录信息
|
|
|
|
*/
|
|
|
|
export function getLoginBackInfo() {
|
|
|
|
return getAuthCache(LOGIN_INFO_KEY);
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 获取租户id
|
|
|
|
*/
|
|
|
|
export function getTenantId() {
|
2022-06-21 17:53:49 +08:00
|
|
|
return getAuthCache<string>(TENANT_ID);
|
2022-03-10 09:47:29 +08:00
|
|
|
}
|
2021-10-20 14:32:09 +08:00
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
2022-06-21 17:53:49 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 设置动态key
|
|
|
|
* @param key
|
|
|
|
* @param value
|
|
|
|
*/
|
|
|
|
export function setCacheByDynKey(key, value) {
|
|
|
|
const fn = isLocal ? Persistent.setLocal : Persistent.setSession;
|
|
|
|
return fn(key, value, true);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取动态key
|
|
|
|
* @param key
|
|
|
|
*/
|
|
|
|
export function getCacheByDynKey<T>(key) {
|
|
|
|
const fn = isLocal ? Persistent.getLocal : Persistent.getSession;
|
|
|
|
return fn(key) as T;
|
|
|
|
}
|
2022-07-20 18:01:08 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 移除动态key
|
|
|
|
* @param key
|
|
|
|
*/
|
|
|
|
export function removeCacheByDynKey<T>(key) {
|
|
|
|
const fn = isLocal ? Persistent.removeLocal : Persistent.removeSession;
|
|
|
|
return fn(key) as T;
|
|
|
|
}
|
2022-03-10 09:47:29 +08:00
|
|
|
/**
|
|
|
|
* 移除缓存中的某个属性
|
|
|
|
* @param key
|
|
|
|
* @update:移除缓存中的某个属性
|
|
|
|
* @updateBy:lsq
|
|
|
|
* @updateDate:2021-09-07
|
|
|
|
*/
|
|
|
|
export function removeAuthCache<T>(key: BasicKeys) {
|
|
|
|
const fn = isLocal ? Persistent.removeLocal : Persistent.removeSession;
|
|
|
|
return fn(key) as T;
|
|
|
|
}
|
2021-10-20 14:32:09 +08:00
|
|
|
|
|
|
|
export function clearAuthCache(immediate = true) {
|
|
|
|
const fn = isLocal ? Persistent.clearLocal : Persistent.clearSession;
|
|
|
|
return fn(immediate);
|
|
|
|
}
|