- 实现了 XWebview 和原生代码之间的消息通信机制 - 更新了 MiniAppManager 中的 XWebHelper 使用新的消息通信功能- 优化了 XWebview组件,支持消息端口通信
41 行
1.0 KiB
Plaintext
41 行
1.0 KiB
Plaintext
import { ToolsHelper } from './ToolsHelper';
|
|
|
|
export class XWebManager {
|
|
private static MapEventListener = new Map<string, (msg: string) => void>();
|
|
|
|
static addOnMessage(listener: (msg: string) => void): string {
|
|
const id = ToolsHelper.getUuid()
|
|
XWebManager.MapEventListener.set(id, listener)
|
|
return id
|
|
}
|
|
|
|
static removeOnMessage(id?: string) {
|
|
if (id) {
|
|
XWebManager.MapEventListener.delete(id)
|
|
}
|
|
}
|
|
|
|
static sendMessage(message: string) {
|
|
for (let item of XWebManager.MapEventListener.values()) {
|
|
item(message)
|
|
}
|
|
}
|
|
|
|
private static MapEventListenerToHtml = new Map<string, (msg: string) => void>();
|
|
|
|
static addOnMessageToHtml(id: string, listener: (msg: string) => void) {
|
|
XWebManager.MapEventListenerToHtml.set(id, listener)
|
|
}
|
|
|
|
static removeOnMessageToHtml(id?: string) {
|
|
if (id) {
|
|
XWebManager.MapEventListenerToHtml.delete(id)
|
|
}
|
|
}
|
|
|
|
static sendMessageToHtml(message: string) {
|
|
for (let item of XWebManager.MapEventListenerToHtml.values()) {
|
|
item(message)
|
|
}
|
|
}
|
|
} |