Files
youle_app_ohos/common/Index.ets
T
lanterngamescn 98854f7312 M4: 通用网页容器 + SettingsProxy + NavProvider + 子游戏切换
T-M4-01/02/03 GenericWebContainer(§11.3 第二套机制,不挂桥):
  - javaScriptProxy 注入 settings 对象 6 方法(SettingsProxy,函数回调避开 ArkTS 对象字面量限制)
  - 首次 100% runJavaScript 直调 getWebdata('<data>');返回键 isbackfinishweb→gamebackkeydown /
    isexitdialogeshow→退出确认→backgameData();关闭 pop({data}) 101 语义回上层
  - orientation "1"竖/其他横(window.setPreferredOrientation);browser 隐式 want
T-M3-06 NavProvider:OpenurlTitleData(开通用容器,onPop→callHandler getWebdata)、
  SwitchOverGameData(同容器 loadUrl 切子游戏+重注入 app_data(launchtype'1')+方向+复位首屏标志)、
  getGameinstall(同步 1/0 查 <解压根>/<dir>/index.html)、backgameData(重载大厅+待加载后 getWebdata)
导航解耦:common NavEvents(名+具名 payload interface);NavProvider 发 EventBus → BridgeGameContainer 执行
  (容器持 pathStack/controller)。EventBus payload 放宽为 Object(ArkTS 禁 Record 字面量),用 GenericEventData
domain AppDataInjector.buildValues 复用(StartupOrchestrator + 子游戏切换共用,去重)
组装根装配 NavProvider

devecocli build 通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 20:58:10 +08:00

12 lines
684 B
Plaintext

// common HAR —— 横切基础设施(框架 §10)
// Logger/BridgeTracer/EventBus/DIContainer/ErrorCenter。Result/Errors 在 contracts 层。
export { Logger, LOG_DOMAIN } from './src/main/ets/log/Logger';
export { BridgeTracer } from './src/main/ets/log/BridgeTracer';
export { EventBus, EventPayload } from './src/main/ets/event/EventBus';
export { NavEvents, OpenGenericWebPayload, SwitchGamePayload, BackGamePayload }
from './src/main/ets/event/NavEvents';
export { DIContainer, Factory } from './src/main/ets/di/DIContainer';
export { ErrorCenter, ErrorStrategy, ErrorSink } from './src/main/ets/error/ErrorCenter';
export { AppEnv } from './src/main/ets/env/AppEnv';