90 lines
2.3 KiB
TypeScript
90 lines
2.3 KiB
TypeScript
import Cookies from 'js-cookie';
|
|
|
|
/**
|
|
* window.localStorage 浏览器永久缓存
|
|
* @method set 设置永久缓存
|
|
* @method get 获取永久缓存
|
|
* @method remove 移除永久缓存
|
|
* @method clear 移除全部永久缓存
|
|
*/
|
|
export const Local = {
|
|
// 查看 v2.4.3版本更新日志
|
|
setKey(key: string) {
|
|
// @ts-ignore
|
|
if (key.startsWith(`${__NEXT_NAME__}:`)) {
|
|
return key;
|
|
}
|
|
return `${__NEXT_NAME__}:${key}`;
|
|
},
|
|
// 设置永久缓存
|
|
set<T>(key: string, val: T) {
|
|
window.localStorage.setItem(Local.setKey(key), JSON.stringify(val));
|
|
},
|
|
// 获取永久缓存
|
|
get(key: string) {
|
|
let json = <string>window.localStorage.getItem(Local.setKey(key));
|
|
return JSON.parse(json);
|
|
},
|
|
// 移除永久缓存
|
|
remove(key: string) {
|
|
window.localStorage.removeItem(Local.setKey(key));
|
|
},
|
|
// 移除全部永久缓存
|
|
clear() {
|
|
window.localStorage.clear();
|
|
},
|
|
};
|
|
|
|
/**
|
|
* window.sessionStorage 浏览器临时缓存
|
|
* @method set 设置临时缓存
|
|
* @method get 获取临时缓存
|
|
* @method remove 移除临时缓存
|
|
* @method clear 移除全部临时缓存
|
|
*/
|
|
export const Session = {
|
|
// 设置临时缓存
|
|
set(key: string, val: any) {
|
|
if (key === 'token' || key === 'refresh_token' || key === 'tenantId') {
|
|
Cookies.set(key, val);
|
|
}
|
|
window.sessionStorage.setItem(key, JSON.stringify(val));
|
|
},
|
|
// 获取临时缓存
|
|
get(key: string) {
|
|
if (key === 'token' || key === 'refresh_token' || key === 'tenantId') {
|
|
// 兼容移动端
|
|
let token = Cookies.get(key);
|
|
if (token) return token;
|
|
}
|
|
let json = <string>window.sessionStorage.getItem(key);
|
|
return JSON.parse(json);
|
|
},
|
|
// 移除临时缓存
|
|
remove(key: string) {
|
|
if (key === 'token' || key === 'refresh_token' || key === 'tenantId') Cookies.remove(key);
|
|
window.sessionStorage.removeItem(key);
|
|
},
|
|
// 移除全部临时缓存
|
|
clear() {
|
|
Cookies.remove('token');
|
|
Cookies.remove('refresh_token');
|
|
Cookies.remove('tenantId');
|
|
window.sessionStorage.clear();
|
|
},
|
|
// 获取当前存储的 token
|
|
getToken() {
|
|
return this.get('token');
|
|
},
|
|
// 获取当前的租户
|
|
getTenant() {
|
|
return Local.get('tenantId') ? Local.get('tenantId') : 1;
|
|
},
|
|
getRoleCode(){
|
|
return Local.get('roleCode') ? Local.get('roleCode') : '';
|
|
},
|
|
getRoleId(){
|
|
return Local.get('roleId') ? Local.get('roleId') : '';
|
|
}
|
|
};
|