@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
JavaScript
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
};