调试:onConsole 覆盖全部三个 Web 容器,全量转发 H5 console

大厅/子游戏(BridgeGameContainer)/通用网页(GenericWebContainer) 的 Web 均加 onConsole,
统一 tag=WebConsole,带角色(lobby/subgame/genericweb)+级别+来源文件行,debug 限定。
便于从 H5 console 排查问题(如动画/缩放)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
lanterngamescn
2026-06-26 22:04:23 +08:00
co-authored by Claude Opus 4.8
parent 7179e95da1
commit 5462643ce2
2 changed files with 23 additions and 5 deletions
@@ -203,6 +203,15 @@ export struct BridgeGameContainer {
return this.params.entryUrl !== '' ? this.params.entryUrl : $rawfile('test_echo.html'); return this.params.entryUrl !== '' ? this.params.entryUrl : $rawfile('test_echo.html');
} }
/** 转发 H5 console 到 hilogdebug 限定,带角色/级别/来源行,便于排查 H5 报错)。tag=WebConsole。 */
private logWebConsole(role: string, event: OnConsoleEvent): void {
if (!AppEnv.isDebug()) {
return;
}
const m: ConsoleMessage = event.message;
Logger.tag('WebConsole').i(`[${role}][lv${m.getMessageLevel()}] ${m.getMessage()} @${m.getSourceId()}:${m.getLineNumber()}`);
}
build() { build() {
NavDestination() { NavDestination() {
Stack() { Stack() {
@@ -225,10 +234,7 @@ export struct BridgeGameContainer {
} }
}) })
.onConsole((event: OnConsoleEvent) => { .onConsole((event: OnConsoleEvent) => {
// 仅 debug 转发 H5 console 到 hilog,便于排查 H5 问题;release 不打扰 this.logWebConsole('lobby', event);
if (AppEnv.isDebug()) {
Logger.tag('WebConsole').i(event.message.getMessage());
}
return false; return false;
}) })
.onRenderExited((event: OnRenderExitedEvent) => this.slotL?.onRenderExited(event.renderExitReason)) .onRenderExited((event: OnRenderExitedEvent) => this.slotL?.onRenderExited(event.renderExitReason))
@@ -250,6 +256,10 @@ export struct BridgeGameContainer {
this.slotS?.onFirstProgress(); this.slotS?.onFirstProgress();
} }
}) })
.onConsole((event: OnConsoleEvent) => {
this.logWebConsole('subgame', event);
return false;
})
.onRenderExited((event: OnRenderExitedEvent) => this.slotS?.onRenderExited(event.renderExitReason)) .onRenderExited((event: OnRenderExitedEvent) => this.slotS?.onRenderExited(event.renderExitReason))
} }
@@ -3,7 +3,7 @@ import { common, Want } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI'; import { window } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit'; import { BusinessError } from '@kit.BasicServicesKit';
import { SettingsProxy } from 'feature_bridge'; import { SettingsProxy } from 'feature_bridge';
import { Logger } from 'common'; import { AppEnv, Logger } from 'common';
import { GenericWebParams, GenericWebResult } from '../routes/AppRoutes'; import { GenericWebParams, GenericWebResult } from '../routes/AppRoutes';
/** /**
@@ -92,6 +92,14 @@ export struct GenericWebContainer {
this.controller.runJavaScript(`getWebdata(${this.jsArg(this.params.data)})`); this.controller.runJavaScript(`getWebdata(${this.jsArg(this.params.data)})`);
} }
}) })
.onConsole((event: OnConsoleEvent) => {
// 转发 H5 console 到 hilogdebug 限定,tag=WebConsole
if (AppEnv.isDebug()) {
const m: ConsoleMessage = event.message;
Logger.tag('WebConsole').i(`[genericweb][lv${m.getMessageLevel()}] ${m.getMessage()} @${m.getSourceId()}:${m.getLineNumber()}`);
}
return false;
})
} }
.hideTitleBar(true) .hideTitleBar(true)
.onBackPressed(() => { .onBackPressed(() => {