FacebookImpl.ts 565 B

12345678910111213141516171819202122232425262728
  1. export interface IFBLoginRes {
  2. accessToken: string;
  3. isCancel: boolean;
  4. status?: string;
  5. reason?: string;
  6. }
  7. export abstract class FacebookImpl {
  8. private _isInitialized = false;
  9. public get isInitialized() { return this._isInitialized; }
  10. abstract init();
  11. protected onInited() {
  12. this._isInitialized = true;
  13. }
  14. async login(): Promise<IFBLoginRes> {
  15. const res = await this.onLogin();
  16. return res;
  17. }
  18. protected abstract onLogin(): Promise<IFBLoginRes>;
  19. abstract logOut(): Promise<boolean>;
  20. }