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

60 行
1.5 KiB
Plaintext

import { ToolsHelper } from './ToolsHelper';
export class XWebManager {
private static MapEventListener = new Map<string, (msg: string) => void>();
static objs:Map<string,object> = new Map()
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)
}
}
private static MapEventListenerToWeb = new Map<string, (msg: string) => void>();
static addOnMessageToWeb(id: string, listener: (msg: string) => void) {
XWebManager.MapEventListenerToWeb.set(id, listener)
}
static removeOnMessageToWeb(id?: string) {
if (id) {
XWebManager.MapEventListenerToWeb.delete(id)
}
}
static sendMessageToWeb(message: string) {
for (let item of XWebManager.MapEventListenerToWeb.values()) {
item(message)
}
}
}