You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
salary-management-oneself/src/utils/session.ts

60 lines
1.3 KiB
TypeScript

import { storage } from './storage';
class Session {
init(data: any, skipToken?: boolean) {
const { access_token, refresh_token, ...dbUser } = data;
this.setUserInfo(dbUser);
if (!skipToken) {
this.setAccessToken(access_token);
this.setRefreshToken(refresh_token);
}
}
get() {
return storage.local.get('x-idm-user-info') || {};
}
getAccessToken() {
return storage.local.get('x-idm-access-token') || '';
}
getRefreshToken() {
return storage.local.get('x-idm-refresh-token') || '';
}
/**
* OpenIM的登录信息
*/
getOpenIMInfo() {
return storage.local.get('x-idm-openIM-info') || {};
}
destroy() {
storage.local.remove('x-idm-access-token');
storage.local.remove('x-idm-refresh-token');
storage.local.remove('x-idm-user-info');
storage.local.remove('x-idm-openIM-info');
}
setAccessToken(accessToken: string) {
storage.local.set('x-idm-access-token', accessToken);
}
setRefreshToken(refreshToken: string) {
storage.local.set('x-idm-refresh-token', refreshToken);
}
setUserInfo(user: any) {
storage.local.set('x-idm-user-info', user);
}
setOpenIMInfo(openIMToken: string) {
storage.local.set('x-idm-openIM-info', openIMToken);
}
}
export const session = new Session();
export default session;