UNPKG

@tencentcloud/roomkit-web-vue3

Version:

<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,

63 lines (62 loc) 2.49 kB
var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); import TUIRoomEngine__default from "@tencentcloud/tuiroom-engine-js"; const KEY_METRICS_API = "KeyMetricsStats"; var MetricsKey = /* @__PURE__ */ ((MetricsKey2) => { MetricsKey2[MetricsKey2["startSharingWhiteboard"] = 106e3] = "startSharingWhiteboard"; MetricsKey2[MetricsKey2["stopSharingWhiteboard"] = 106001] = "stopSharingWhiteboard"; MetricsKey2[MetricsKey2["startAnnotating"] = 106002] = "startAnnotating"; MetricsKey2[MetricsKey2["stopAnnotating"] = 106003] = "stopAnnotating"; MetricsKey2[MetricsKey2["saveWhiteboard"] = 106004] = "saveWhiteboard"; MetricsKey2[MetricsKey2["setLanguage"] = 106050] = "setLanguage"; MetricsKey2[MetricsKey2["setTheme"] = 106051] = "setTheme"; MetricsKey2[MetricsKey2["disableTextMessaging"] = 106052] = "disableTextMessaging"; MetricsKey2[MetricsKey2["disableScreenSharing"] = 106053] = "disableScreenSharing"; MetricsKey2[MetricsKey2["enableWatermark"] = 106054] = "enableWatermark"; MetricsKey2[MetricsKey2["enableVirtualBackground"] = 106055] = "enableVirtualBackground"; MetricsKey2[MetricsKey2["hideFeatureButton"] = 106056] = "hideFeatureButton"; MetricsKey2[MetricsKey2["openChat"] = 106057] = "openChat"; MetricsKey2[MetricsKey2["setBasicBeauty"] = 106058] = "setBasicBeauty"; MetricsKey2[MetricsKey2["aiTask"] = 106059] = "aiTask"; return MetricsKey2; })(MetricsKey || {}); class DataReportManager { constructor() { __publicField(this, "taskQueue", []); __publicField(this, "isReady", false); this.bindEvent(); } reportCount(key) { const task = this.createReportCountTask(key); if (!this.isReady) { this.taskQueue.push(task); } else { task(); } } bindEvent() { TUIRoomEngine__default.once("ready", () => { this.isReady = true; this.executePendingTasks(); }); } executePendingTasks() { this.taskQueue.forEach((task) => task()); this.taskQueue = []; } createReportCountTask(key) { return () => { TUIRoomEngine__default.callExperimentalAPI( JSON.stringify({ api: KEY_METRICS_API, params: { key } }) ); }; } } export { DataReportManager, MetricsKey };