LoginModule.ets 980 Bytes
import HuaweiAuth from './utils/HuaweiAuth'
import { JumpInterceptorAction, RouterJumpInterceptor, WDRouterPage } from 'wdRouter'
import { BusinessError } from '@kit.BasicServicesKit'
import { router } from '@kit.ArkUI'

class LoginJumpHandler implements JumpInterceptorAction {
  
  /// 说明是调用了跳转 WDRouterPage.loginPage 页面的行为
  on(params?: object | undefined, singleMode?: boolean | undefined): boolean {

    HuaweiAuth.sharedInstance().fetchAnonymousPhone().then((anonymousPhone) => {

      router.pushUrl({url: WDRouterPage.oneKeyLoginPage.url()})
    }).catch((error: string) => {
      router.pushUrl({url: WDRouterPage.loginPage.url()})
    })
    return true
  }
}

export class LoginModule {

  static startup() {

    /// 初始化华为一键登录相关
    if (HuaweiAuth.enable) {

      HuaweiAuth.sharedInstance().rePrefetchAnonymousPhone()
      RouterJumpInterceptor.register(WDRouterPage.loginPage, new LoginJumpHandler())
    }

  }
}