LoginService.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { Login3rdType, APP_LOGIN_TYPE } from "@scripts/define/Define";
  2. import { AppKernel } from "../../app/AppKernel";
  3. import { IGoogleLoginRes } from "@scripts/platform/Google/GoogleImpl";
  4. class LoginService {
  5. async guestLogin() {
  6. const mainStore = AppKernel.stores.mainStore;
  7. const loggedIn = await mainStore.reqLogin({ type: APP_LOGIN_TYPE.GUEST });
  8. if (!!loggedIn) {
  9. await AppKernel.appLobby.onLoginSuccess();
  10. return true;
  11. }
  12. return false;
  13. }
  14. async fbLogin() {
  15. const res = await AppKernel.fb.login();
  16. if (res.accessToken) {
  17. await this.login3rd('facebook', res.accessToken);
  18. }
  19. console.log("facebook login res: ", res);
  20. }
  21. async googleLogin(res?: IGoogleLoginRes) {
  22. if (!res) {
  23. /// h5 通过dom按钮触发登录
  24. res = await AppKernel.google.login();
  25. }
  26. if (res && res.accessToken) {
  27. await this.login3rd('google', res.accessToken);
  28. }
  29. return true;
  30. }
  31. async login3rd(type: Login3rdType, token: string) {
  32. const mainStore = AppKernel.stores.mainStore;
  33. const loggedIn = await mainStore.reqLogin3rd(type, token);
  34. if (!!loggedIn) {
  35. await AppKernel.appLobby.onLoginSuccess();
  36. return true;
  37. }
  38. return false;
  39. }
  40. async loginAccount(account: string, password: string) {
  41. const mainStore = AppKernel.stores.mainStore;
  42. mainStore.reqLogin({
  43. type: APP_LOGIN_TYPE.ID,
  44. password,
  45. account,
  46. })
  47. }
  48. async logOut() {
  49. }
  50. async register({ account, code, password, act }) {
  51. const mainStore = AppKernel.stores.mainStore;
  52. await mainStore.reqRegister({ account, code, password, act })
  53. }
  54. }
  55. export const loginService = new LoginService();