HarmonyOSBaseLibs/src/main/ets/utils/XWebManager.ets

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)
}
}
}