Files
youle_app_ohos/feature_bridge/Index.ets
T
lanterngamescnandClaude Opus 4.8 206db9730a M1: 桥引擎核心(T-M1-01~04)
100% 复刻 lzyzsd/JsBridge(对照原 Android com.tagmae.jsbridge 逐字):
- IWebController + WebviewControllerAdapter(emitter UI 线程守卫,§5.5) + FakeWebController(单测用)
- Message(5字段,undefined省略) + MessageCodec(toJson/toArray + dispatchMessage 两次正则转义逐字复刻)
- HandlerRegistry + 空实现 DefaultHandler 兜底(H5 调用永不报错最后防线)
- BridgeController:onLoadIntercept(decode→yy://return/yy://)/callHandler/send/onPageEnd/
  flushMessageQueue(_fetchQueue 经 yy://return 回传,非 runJavaScript 返回值)/handleReturnData/
  启动队列补发;对能力零感知、纯逻辑可测
- build 编译通过(ArkTS 严格)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 08:51:11 +08:00

14 lines
700 B
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// feature_bridge HAR —— 桥引擎层(框架 §5100% 复刻 lzyzsd/JsBridge 协议)
// 桥核心
export { BridgeController, ResponseCallback } from './src/main/ets/core/BridgeController';
export { Message, MessageJson } from './src/main/ets/core/Message';
export { MessageCodec } from './src/main/ets/core/MessageCodec';
export { HandlerRegistry, BridgeHandler } from './src/main/ets/core/HandlerRegistry';
// Web 控制器抽象(UI 线程守卫下沉于此)
export { IWebController, WebviewControllerAdapter, FakeWebController } from './src/main/ets/web/IWebController';
// 桥 JS 读取器
export { BridgeJsLoader, BRIDGE_JS_RAWFILE } from './src/main/ets/assets/BridgeJsLoader';