import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { window } from '@kit.ArkUI'; import { WindowHelper } from '../utils/WindowHelper'; import { IBestInit } from '@ibestservices/ibest-ui'; import { AppStorageKeyCollect } from '../constants'; import { WechatUtil } from '../utils/wechat/WechatUtil'; import { YTLog } from '../utils/YTLog'; import { wechatEventHandler } from '../utils/wechat/WXApiEventHandlerImpl'; const TAG: string = '[EntryAbility]'; const DOMAIN = 0x0000; export default class EntryAbility extends UIAbility { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { try { this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); WechatUtil.init() } catch (err) { hilog.error(DOMAIN, 'testTag', 'Failed to set colorMode. Cause: %{public}s', JSON.stringify(err)); } hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate'); } onDestroy(): void { hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy'); } onWindowStageCreate(windowStage: window.WindowStage): void { // Main window is created, set main page for this ability hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); windowStage.loadContent('/pages/EntryPage'.slice(1), (err) => { if (err.code) { hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); return; } WindowHelper.init(windowStage) IBestInit(windowStage, this.context) PersistentStorage.persistProp(AppStorageKeyCollect.FIRST_ENTER_APP, false) let isFirst = AppStorage.get(AppStorageKeyCollect.FIRST_ENTER_APP) if (isFirst) { windowStage.loadContent('/pages/Index'.slice(1)) } hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.'); }); } onWindowStageDestroy(): void { // Main window is destroyed, release UI related resources hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); } onForeground(): void { // Ability has brought to foreground hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground'); } onBackground(): void { // Ability has back to background hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onBackground'); } onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { hilog.info(0x0000, 'testTag', '', 'Ability onNewWant'); console.log('PushManager noNewWant===', JSON.stringify(want.parameters?.data)); YTLog.info(TAG, 'EntryAbility onNewWant'); YTLog.info(TAG, `onNewWant parameters: ${JSON.stringify(want.parameters)}`); YTLog.info(TAG, `onNewWant full Want: ${JSON.stringify(want)}`); this.handleWeChatCallIfNeed(want); } private handleWeChatCallIfNeed(want: Want) { YTLog.info(TAG, `Handling WeChat callback: ${JSON.stringify(want)}`); const handled = WechatUtil.getWechatApi().handleWant(want, wechatEventHandler); YTLog.info(TAG, `WXApi.handleWant result: ${handled}, eventHandler: ${wechatEventHandler ? 'exists' : 'null'}`); } }