@mamba-le/auth
Version:
65 lines (64 loc) • 1.49 kB
TypeScript
import { Subject } from 'rxjs';
export interface IInfoOptions {
StorageKey: string;
}
export declare class InfoController<T = any> {
private options;
constructor(options?: IInfoOptions);
/**
* 持久化初始化完成 Subject
* @type {Promise<any>}
* @memberof ControllerUser
*/
protected readonly HydrateSubject: Subject<Boolean>;
/**
* 持久化初始化完成 Promise
* @type {Promise<any>}
* @memberof ControllerUser
*/
get HydrateAsync(): Promise<this>;
/**
* 异步 HydrateSubject 已经完成
* @readonly
* @memberof PortalAuthController
*/
get HydrateisStopped(): boolean;
get StorageKey(): string;
/**
* 数据存储对象
* @protected
* @type {T}
* @memberof InfoController
*/
protected _value: T;
/**
* 最后一次更新 值 HydrateisStopped 未完成前 存储 用于对比变化
* @protected
* @memberof AuthController
*/
protected lastValue: any;
/**
* 外部可访问对象
* @readonly
* @type {T}
* @memberof InfoController
*/
get value(): T;
/**
* 保存 Token
* @param _AccessToken
* @returns
*/
onSave(value: T): void;
/**
* 清理所有的登录信息
* @return {*}
* @memberof AuthController
*/
onClear(): void;
/**
* 创建持久化存储
* @memberof BaseModel
*/
protected createHydrate(): Promise<void>;
}