@tencentcloud/roomkit-electron-vue3 2.6.2 → 2.6.7-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/es/components/RoomContent/StreamRegion/LocalScreenView/index.vue.mjs +1 -1
  2. package/es/components/RoomContent/StreamRegion/LocalScreenView/index.vue2.mjs +11 -4
  3. package/es/components/RoomFooter/WhiteboardControl.vue.mjs +5 -5
  4. package/es/components/common/AudioSettingTab.vue.mjs +1 -1
  5. package/es/components/common/AudioSettingTab.vue2.mjs +3 -1
  6. package/es/conference.d.ts +1 -1
  7. package/es/conference.mjs +10 -0
  8. package/es/constants/room.d.ts +1 -3
  9. package/es/hooks/useRoomEngine.d.ts +1 -3
  10. package/es/index.mjs +24 -24
  11. package/es/services/function/aiTask.mjs +7 -4
  12. package/es/services/index.d.ts +1 -0
  13. package/es/services/manager/dataReportManager.d.ts +15 -2
  14. package/es/services/manager/dataReportManager.mjs +42 -13
  15. package/es/services/roomService.d.ts +4 -3
  16. package/es/services/roomService.mjs +2 -0
  17. package/es/services/types.d.ts +2 -0
  18. package/lib/components/RoomContent/StreamRegion/LocalScreenView/index.vue.js +1 -1
  19. package/lib/components/RoomContent/StreamRegion/LocalScreenView/index.vue2.js +10 -3
  20. package/lib/components/RoomFooter/WhiteboardControl.vue.js +5 -5
  21. package/lib/components/common/AudioSettingTab.vue.js +1 -1
  22. package/lib/components/common/AudioSettingTab.vue2.js +3 -1
  23. package/lib/conference.d.ts +1 -1
  24. package/lib/conference.js +10 -0
  25. package/lib/constants/room.d.ts +1 -3
  26. package/lib/hooks/useRoomEngine.d.ts +1 -3
  27. package/lib/index.js +24 -24
  28. package/lib/services/function/aiTask.js +6 -3
  29. package/lib/services/index.d.ts +1 -0
  30. package/lib/services/manager/dataReportManager.d.ts +15 -2
  31. package/lib/services/manager/dataReportManager.js +42 -13
  32. package/lib/services/roomService.d.ts +4 -3
  33. package/lib/services/roomService.js +2 -0
  34. package/lib/services/types.d.ts +2 -0
  35. package/lib/utils/constants.js +1 -1
  36. package/package.json +4 -4
  37. package/src/TUIRoom/components/RoomContent/StreamRegion/LocalScreenView/index.vue +5 -7
  38. package/src/TUIRoom/components/RoomFooter/WhiteboardControl.vue +5 -8
  39. package/src/TUIRoom/components/common/AudioSettingTab.vue +3 -1
  40. package/src/TUIRoom/conference.ts +10 -0
  41. package/src/TUIRoom/services/function/aiTask.ts +10 -2
  42. package/src/TUIRoom/services/index.ts +1 -0
  43. package/src/TUIRoom/services/manager/dataReportManager.ts +48 -13
  44. package/src/TUIRoom/services/roomService.ts +2 -0
  45. package/src/TUIRoom/services/types.ts +2 -0
  46. package/es/package.json.mjs +0 -93
  47. package/lib/package.json.js +0 -93
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const LocalScreenView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5c425af9"]]);
4
+ const LocalScreenView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-222da582"]]);
5
5
  export {
6
6
  LocalScreenView as default
7
7
  };
@@ -8,7 +8,14 @@ import Dialog from "../../../common/base/Dialog/index.vue.mjs";
8
8
  import bus from "../../../../hooks/useMitt.mjs";
9
9
  import { useI18n } from "../../../../locales/index.mjs";
10
10
  import { useRoomStore } from "../../../../stores/room.mjs";
11
- import { DataReportManager, MetricsKey } from "../../../../services/manager/dataReportManager.mjs";
11
+ import { MetricsKey } from "../../../../services/manager/dataReportManager.mjs";
12
+ import "../../../../services/main.mjs";
13
+ import { roomService } from "../../../../services/roomService.mjs";
14
+ import "@tencentcloud/tuiroom-engine-electron";
15
+ import "mitt";
16
+ import "../../../../services/manager/roomActionManager.mjs";
17
+ import "@tencentcloud/tui-core";
18
+ import "../../../../utils/environment.mjs";
12
19
  const _hoisted_1 = { class: "local-screen-container" };
13
20
  const _hoisted_2 = { class: "local-screen-info" };
14
21
  const _hoisted_3 = { class: "text" };
@@ -41,16 +48,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
48
  if (isAnnotationVisiable.value) {
42
49
  (_a2 = ipcRenderer) == null ? void 0 : _a2.send("annotation:stop-annotating");
43
50
  isAnnotationVisiable.value = false;
44
- DataReportManager.reportCount(MetricsKey.stopAnnotating);
51
+ roomService.dataReportManager.reportCount(MetricsKey.stopAnnotating);
45
52
  } else {
46
53
  (_b = ipcRenderer) == null ? void 0 : _b.send("annotation:start-annotating");
47
54
  isAnnotationVisiable.value = true;
48
- DataReportManager.reportCount(MetricsKey.startAnnotating);
55
+ roomService.dataReportManager.reportCount(MetricsKey.startAnnotating);
49
56
  }
50
57
  }
51
58
  (_a = ipcRenderer) == null ? void 0 : _a.on("annotation:stop-from-annotation-window", () => {
52
59
  isAnnotationVisiable.value = false;
53
- DataReportManager.reportCount(MetricsKey.stopAnnotating);
60
+ roomService.dataReportManager.reportCount(MetricsKey.stopAnnotating);
54
61
  });
55
62
  return (_ctx, _cache) => {
56
63
  return openBlock(), createElementBlock("div", _hoisted_1, [
@@ -15,9 +15,9 @@ import { EventType } from "../../services/types.mjs";
15
15
  import "mitt";
16
16
  import "../../services/manager/roomActionManager.mjs";
17
17
  import "@tencentcloud/tui-core";
18
+ import { MetricsKey } from "../../services/manager/dataReportManager.mjs";
18
19
  import "../../utils/environment.mjs";
19
20
  import { MESSAGE_DURATION } from "../../constants/message.mjs";
20
- import { DataReportManager, MetricsKey } from "../../services/manager/dataReportManager.mjs";
21
21
  const _hoisted_1 = { class: "whiteboard-control-container" };
22
22
  const _sfc_main = /* @__PURE__ */ defineComponent({
23
23
  __name: "WhiteboardControl",
@@ -87,10 +87,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
87
87
  var _a;
88
88
  (_a = roomEngine.instance) == null ? void 0 : _a.stopScreenSharing();
89
89
  if (isWhiteboardVisiable.value) {
90
- DataReportManager.reportCount(MetricsKey.stopSharingWhiteboard);
90
+ roomService.dataReportManager.reportCount(MetricsKey.stopSharingWhiteboard);
91
91
  }
92
92
  if (isAnnotationVisiable.value) {
93
- DataReportManager.reportCount(MetricsKey.stopAnnotating);
93
+ roomService.dataReportManager.reportCount(MetricsKey.stopAnnotating);
94
94
  }
95
95
  isWhiteboardVisiable.value = false;
96
96
  isAnnotationVisiable.value = false;
@@ -103,7 +103,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
103
103
  function showWhiteboardWindow() {
104
104
  isWhiteboardVisiable.value = true;
105
105
  ipcRenderer.send("whiteboard:show-window");
106
- DataReportManager.reportCount(MetricsKey.startSharingWhiteboard);
106
+ roomService.dataReportManager.reportCount(MetricsKey.startSharingWhiteboard);
107
107
  }
108
108
  ipcRenderer.on("whiteboard:window-closed", () => {
109
109
  stopShareWhiteboard();
@@ -112,7 +112,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
112
112
  stopShareWhiteboard();
113
113
  });
114
114
  ipcRenderer.on("whiteboard:save-from-whiteboard-window", () => {
115
- DataReportManager.reportCount(MetricsKey.saveWhiteboard);
115
+ roomService.dataReportManager.reportCount(MetricsKey.saveWhiteboard);
116
116
  });
117
117
  onMounted(() => {
118
118
  bus.on("ScreenShare:stopScreenShare", stopShareWhiteboard);
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./AudioSettingTab.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const AudioSettingTab = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4cbcecda"]]);
4
+ const AudioSettingTab = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4e811209"]]);
5
5
  export {
6
6
  AudioSettingTab as default
7
7
  };
@@ -56,7 +56,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
56
56
  }
57
57
  const isTestingSpeaker = ref(false);
58
58
  const audioPlayer = document == null ? void 0 : document.createElement("audio");
59
- audioPlayer.loop = true;
59
+ if (audioPlayer && typeof audioPlayer.loop !== "undefined") {
60
+ audioPlayer.loop = true;
61
+ }
60
62
  const { t } = useI18n();
61
63
  async function handleSpeakerTest() {
62
64
  const SPEAKER_TEST_URL = "https://web.sdk.qcloud.com/trtc/electron/download/resources/media/TestSpeaker.mp3";
@@ -61,7 +61,7 @@ declare class Conference implements IConference {
61
61
  tim?: ChatSDK;
62
62
  }): Promise<void>;
63
63
  logout(): Promise<void>;
64
- getRoomEngine(): TUIRoomEngine | null;
64
+ getRoomEngine(): any;
65
65
  on(eventType: RoomEvent, callback: (data?: LanguageOption | ThemeOption | any) => void): void;
66
66
  off(eventType: RoomEvent, callback: (data?: LanguageOption | ThemeOption | any) => void): void;
67
67
  start(roomId: string, params?: StartParams): Promise<void>;
package/es/conference.mjs CHANGED
@@ -6,6 +6,7 @@ import "@tencentcloud/tuiroom-engine-electron";
6
6
  import "mitt";
7
7
  import "./services/manager/roomActionManager.mjs";
8
8
  import "@tencentcloud/tui-core";
9
+ import { MetricsKey } from "./services/manager/dataReportManager.mjs";
9
10
  import "./utils/environment.mjs";
10
11
  import { toTargetTheme } from "./utils/common.mjs";
11
12
  var RoomEvent = /* @__PURE__ */ ((RoomEvent2) => {
@@ -67,27 +68,36 @@ class Conference {
67
68
  return roomService.setSelfInfo(options);
68
69
  }
69
70
  setLanguage(language) {
71
+ roomService.dataReportManager.reportCount(MetricsKey.setLanguage);
70
72
  return roomService.setLanguage(language);
71
73
  }
72
74
  setTheme(theme) {
75
+ roomService.dataReportManager.reportCount(MetricsKey.setTheme);
73
76
  return roomService.setTheme(toTargetTheme(theme));
74
77
  }
75
78
  disableTextMessaging() {
79
+ roomService.dataReportManager.reportCount(MetricsKey.disableTextMessaging);
76
80
  roomService.setComponentConfig({ ChatControl: { visible: false } });
77
81
  }
78
82
  disableScreenSharing() {
83
+ roomService.dataReportManager.reportCount(MetricsKey.disableScreenSharing);
79
84
  roomService.setComponentConfig({ ScreenShare: { visible: false } });
80
85
  }
81
86
  enableWatermark() {
87
+ roomService.dataReportManager.reportCount(MetricsKey.enableWatermark);
82
88
  roomService.waterMark.toggleWatermark(true);
83
89
  }
84
90
  enableVirtualBackground() {
91
+ roomService.dataReportManager.reportCount(
92
+ MetricsKey.enableVirtualBackground
93
+ );
85
94
  roomService.setComponentConfig({ VirtualBackground: { visible: true } });
86
95
  }
87
96
  enableBasicBeauty() {
88
97
  roomService.setComponentConfig({ BasicBeauty: { visible: true } });
89
98
  }
90
99
  hideFeatureButton(name) {
100
+ roomService.dataReportManager.reportCount(MetricsKey.hideFeatureButton);
91
101
  roomService.setComponentConfig({ [name]: { visible: false } });
92
102
  }
93
103
  replaceFriendList(userList) {
@@ -1,5 +1,3 @@
1
- import { TRTCVideoResolution } from '@tencentcloud/tuiroom-engine-electron';
2
-
3
1
  export declare enum SpeechMode {
4
2
  FREE_SPEECH = "FreeSpeech",
5
3
  APPLY_SPEECH = "ApplySpeech"
@@ -15,7 +13,7 @@ export declare enum MediaDeviceState {
15
13
  UNAVAILABLE = "UNAVAILABLE"
16
14
  }
17
15
  export declare const SMALL_VIDEO_ENC_PARAM: {
18
- videoResolution: TRTCVideoResolution;
16
+ videoResolution: any;
19
17
  videoFps: number;
20
18
  videoBitrate: number;
21
19
  };
@@ -1,3 +1 @@
1
- import { default as TUIRoomEngine } from '@tencentcloud/tuiroom-engine-electron';
2
-
3
- export default function useGetRoomEngine(): Record<string, TUIRoomEngine | null>;
1
+ export default function useGetRoomEngine(): Record<string, any>;
package/es/index.mjs CHANGED
@@ -979,30 +979,30 @@
979
979
  }.select[data-v-86b2cd04] {
980
980
  width: 100%;
981
981
  font-size: 14px;
982
- }.audio-setting-tab[data-v-4cbcecda] {
982
+ }.audio-setting-tab[data-v-4e811209] {
983
983
  width: 100%;
984
984
  font-size: 14px;
985
985
  border-radius: 4px;
986
986
  }
987
- .audio-setting-tab .item-setting[data-v-4cbcecda] {
987
+ .audio-setting-tab .item-setting[data-v-4e811209] {
988
988
  width: 100%;
989
989
  }
990
- .audio-setting-tab .item-setting[data-v-4cbcecda]:not(:last-child) {
990
+ .audio-setting-tab .item-setting[data-v-4e811209]:not(:last-child) {
991
991
  margin-bottom: 20px;
992
992
  }
993
- .audio-setting-tab .flex[data-v-4cbcecda] {
993
+ .audio-setting-tab .flex[data-v-4e811209] {
994
994
  display: flex;
995
995
  width: 100%;
996
996
  }
997
- .audio-setting-tab .select[data-v-4cbcecda] {
997
+ .audio-setting-tab .select[data-v-4e811209] {
998
998
  flex: 1;
999
999
  }
1000
- .audio-setting-tab .button[data-v-4cbcecda] {
1000
+ .audio-setting-tab .button[data-v-4e811209] {
1001
1001
  width: 74px;
1002
1002
  padding: 5px 23px;
1003
1003
  margin-left: 10px;
1004
1004
  }
1005
- .audio-setting-tab .title[data-v-4cbcecda] {
1005
+ .audio-setting-tab .title[data-v-4e811209] {
1006
1006
  display: inline-block;
1007
1007
  width: 100%;
1008
1008
  margin-bottom: 8px;
@@ -1011,24 +1011,24 @@
1011
1011
  line-height: 22px;
1012
1012
  color: #4f586b;
1013
1013
  }
1014
- .audio-setting-tab .mic-bar-container[data-v-4cbcecda] {
1014
+ .audio-setting-tab .mic-bar-container[data-v-4e811209] {
1015
1015
  display: flex;
1016
1016
  justify-content: space-between;
1017
1017
  }
1018
- .audio-setting-tab .mic-bar-container .mic-bar[data-v-4cbcecda] {
1018
+ .audio-setting-tab .mic-bar-container .mic-bar[data-v-4e811209] {
1019
1019
  width: 3px;
1020
1020
  height: 6px;
1021
1021
  background-color: var(--background-color-4);
1022
1022
  }
1023
- .audio-setting-tab .mic-bar-container .mic-bar.active[data-v-4cbcecda] {
1023
+ .audio-setting-tab .mic-bar-container .mic-bar.active[data-v-4e811209] {
1024
1024
  background-color: var(--green-color);
1025
1025
  }
1026
- .audio-setting-tab .audio-level-container[data-v-4cbcecda] {
1026
+ .audio-setting-tab .audio-level-container[data-v-4e811209] {
1027
1027
  display: flex;
1028
1028
  width: 100%;
1029
1029
  height: 20px;
1030
1030
  }
1031
- .audio-setting-tab .audio-level-container .slider[data-v-4cbcecda] {
1031
+ .audio-setting-tab .audio-level-container .slider[data-v-4e811209] {
1032
1032
  height: 20px;
1033
1033
  margin-left: 10px;
1034
1034
  }.audio-icon-container[data-v-6e9fcb9f] {
@@ -3156,7 +3156,7 @@ input[data-v-e79d67af]:disabled {
3156
3156
  @keyframes breath-44d9a08c {
3157
3157
  50% {
3158
3158
  /* stylelint-disable-next-line scss/no-global-function-names */
3159
- background-color: lightgray;
3159
+ background-color: rgb(210.5, 210.5, 210.5);
3160
3160
  }
3161
3161
  }.overlay-container[data-v-567d271d] {
3162
3162
  position: fixed;
@@ -7923,7 +7923,7 @@ input[data-v-1927e971]:focus, input[data-v-1927e971]:active, textarea[data-v-192
7923
7923
  --screen-font-color: #b2bbd1;
7924
7924
  --user-has-no-camera-bg-color: rgba(34, 38, 46, 0.5);
7925
7925
  --user-info-container-bg-color: rgba(34, 38, 46, 0.8);
7926
- }.local-screen-container[data-v-5c425af9] {
7926
+ }.local-screen-container[data-v-222da582] {
7927
7927
  display: flex;
7928
7928
  align-items: center;
7929
7929
  justify-content: center;
@@ -7931,13 +7931,13 @@ input[data-v-1927e971]:focus, input[data-v-1927e971]:active, textarea[data-v-192
7931
7931
  height: 100%;
7932
7932
  background-color: var(--background-color-1);
7933
7933
  }
7934
- .local-screen-container[data-v-5c425af9]::before {
7934
+ .local-screen-container[data-v-222da582]::before {
7935
7935
  width: 100%;
7936
7936
  height: 100%;
7937
7937
  content: "";
7938
7938
  background-color: var(--local-screen-stream-bg-color);
7939
7939
  }
7940
- .local-screen-container .local-screen-control-container[data-v-5c425af9] {
7940
+ .local-screen-container .local-screen-control-container[data-v-222da582] {
7941
7941
  position: absolute;
7942
7942
  top: 50%;
7943
7943
  left: 50%;
@@ -7947,38 +7947,38 @@ input[data-v-1927e971]:focus, input[data-v-1927e971]:active, textarea[data-v-192
7947
7947
  color: var(--screen-font-color);
7948
7948
  transform: translate(-50%, -50%);
7949
7949
  }
7950
- .local-screen-container .local-screen-control-container.mini[data-v-5c425af9] {
7950
+ .local-screen-container .local-screen-control-container.mini[data-v-222da582] {
7951
7951
  transform: translate(-50%, -50%) scale(0.7);
7952
7952
  }
7953
- .local-screen-container .local-screen-control-container .local-screen-info[data-v-5c425af9] {
7953
+ .local-screen-container .local-screen-control-container .local-screen-info[data-v-222da582] {
7954
7954
  display: flex;
7955
7955
  flex-direction: column;
7956
7956
  align-items: center;
7957
7957
  }
7958
- .local-screen-container .local-screen-control-container .local-screen-info .text[data-v-5c425af9] {
7958
+ .local-screen-container .local-screen-control-container .local-screen-info .text[data-v-222da582] {
7959
7959
  font-size: 16px;
7960
7960
  font-style: normal;
7961
7961
  font-weight: 400;
7962
7962
  line-height: 24px;
7963
7963
  white-space: nowrap;
7964
7964
  }
7965
- .local-screen-container .local-screen-control-container .stop-button[data-v-5c425af9] {
7965
+ .local-screen-container .local-screen-control-container .stop-button[data-v-222da582] {
7966
7966
  margin-top: 30px;
7967
7967
  background-color: var(--red-color-3);
7968
7968
  border: 1.5px solid var(--red-color-3);
7969
7969
  }
7970
- .local-screen-container .local-screen-control-container .toggle-annotating-button[data-v-5c425af9] {
7970
+ .local-screen-container .local-screen-control-container .toggle-annotating-button[data-v-222da582] {
7971
7971
  margin-top: 30px;
7972
7972
  background-color: var(--red-color-3);
7973
7973
  border: 1.5px solid var(--red-color-3);
7974
7974
  }
7975
- .tui-theme-white .local-screen-container[data-v-5c425af9] {
7975
+ .tui-theme-white .local-screen-container[data-v-222da582] {
7976
7976
  --local-screen-stream-bg-color: rgba(228, 232, 238, 0.4);
7977
7977
  }
7978
- .tui-theme-black .local-screen-container[data-v-5c425af9] {
7978
+ .tui-theme-black .local-screen-container[data-v-222da582] {
7979
7979
  --local-screen-stream-bg-color: rgba(34, 38, 46, 0.5);
7980
7980
  }
7981
- .dialog-button[data-v-5c425af9] {
7981
+ .dialog-button[data-v-222da582] {
7982
7982
  margin-right: 12px;
7983
7983
  }.stream-region-container[data-v-5ad6ef67] {
7984
7984
  display: flex;
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import mitt from "mitt";
5
- import { isElectron } from "../../utils/environment.mjs";
5
+ import { isElectron, isMobile } from "../../utils/environment.mjs";
6
6
  var AI_TASK = /* @__PURE__ */ ((AI_TASK2) => {
7
7
  AI_TASK2["TRANSCRIPTION_TASK"] = "transcription";
8
8
  return AI_TASK2;
@@ -16,7 +16,7 @@ class AITask {
16
16
  __publicField(this, "subtitleText", { value: "" });
17
17
  __publicField(this, "transcriptionText", { value: "" });
18
18
  this.service = service;
19
- if (isElectron) return;
19
+ if (isElectron || isMobile) return;
20
20
  this.bindCtx();
21
21
  this.bindEvent();
22
22
  }
@@ -39,8 +39,11 @@ class AITask {
39
39
  this.service.lifeCycleManager.off("unmount", this.handleUnmount);
40
40
  }
41
41
  handleMount() {
42
- var _a;
43
- const trtc = (_a = this.service.roomEngine.instance) == null ? void 0 : _a.getTRTCCloud()._trtc;
42
+ var _a, _b, _c, _d;
43
+ if (typeof ((_a = this.service.roomEngine.instance) == null ? void 0 : _a.getTRTCCloud) === "undefined" || typeof ((_c = (_b = this.service.roomEngine.instance) == null ? void 0 : _b.getTRTCCloud()) == null ? void 0 : _c._trtc) === "undefined") {
44
+ return;
45
+ }
46
+ const trtc = (_d = this.service.roomEngine.instance) == null ? void 0 : _d.getTRTCCloud()._trtc;
44
47
  this.trtc = trtc;
45
48
  trtc.on("custom-message", this.handleAIMessage);
46
49
  }
@@ -8,4 +8,5 @@ export * from './manager/lifeCycleManager';
8
8
  export * from './manager/roomActionManager';
9
9
  export * from './manager/scheduleConferenceManager';
10
10
  export * from './manager/chatManager';
11
+ export * from './manager/dataReportManager';
11
12
  export * from './function/aiTask';
@@ -3,8 +3,21 @@ export declare enum MetricsKey {
3
3
  stopSharingWhiteboard = 106001,
4
4
  startAnnotating = 106002,
5
5
  stopAnnotating = 106003,
6
- saveWhiteboard = 106004
6
+ saveWhiteboard = 106004,
7
+ setLanguage = 106050,
8
+ setTheme = 106051,
9
+ disableTextMessaging = 106052,
10
+ disableScreenSharing = 106053,
11
+ enableWatermark = 106054,
12
+ enableVirtualBackground = 106055,
13
+ hideFeatureButton = 106056
7
14
  }
8
15
  export declare class DataReportManager {
9
- static reportCount(key: MetricsKey): void;
16
+ private taskQueue;
17
+ private isReady;
18
+ constructor();
19
+ reportCount(key: MetricsKey): void;
20
+ private bindEvent;
21
+ private executePendingTasks;
22
+ private createReportCountTask;
10
23
  }
@@ -1,6 +1,7 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
1
4
  import TUIRoomEngine__default from "@tencentcloud/tuiroom-engine-electron";
2
- import packageConfig from "../../package.json.mjs";
3
- const appVersion = packageConfig.version;
4
5
  const KEY_METRICS_API = "KeyMetricsStats";
5
6
  var MetricsKey = /* @__PURE__ */ ((MetricsKey2) => {
6
7
  MetricsKey2[MetricsKey2["startSharingWhiteboard"] = 106e3] = "startSharingWhiteboard";
@@ -8,20 +9,48 @@ var MetricsKey = /* @__PURE__ */ ((MetricsKey2) => {
8
9
  MetricsKey2[MetricsKey2["startAnnotating"] = 106002] = "startAnnotating";
9
10
  MetricsKey2[MetricsKey2["stopAnnotating"] = 106003] = "stopAnnotating";
10
11
  MetricsKey2[MetricsKey2["saveWhiteboard"] = 106004] = "saveWhiteboard";
12
+ MetricsKey2[MetricsKey2["setLanguage"] = 106050] = "setLanguage";
13
+ MetricsKey2[MetricsKey2["setTheme"] = 106051] = "setTheme";
14
+ MetricsKey2[MetricsKey2["disableTextMessaging"] = 106052] = "disableTextMessaging";
15
+ MetricsKey2[MetricsKey2["disableScreenSharing"] = 106053] = "disableScreenSharing";
16
+ MetricsKey2[MetricsKey2["enableWatermark"] = 106054] = "enableWatermark";
17
+ MetricsKey2[MetricsKey2["enableVirtualBackground"] = 106055] = "enableVirtualBackground";
18
+ MetricsKey2[MetricsKey2["hideFeatureButton"] = 106056] = "hideFeatureButton";
11
19
  return MetricsKey2;
12
20
  })(MetricsKey || {});
13
21
  class DataReportManager {
14
- static reportCount(key) {
15
- TUIRoomEngine__default.callExperimentalAPI(
16
- JSON.stringify({
17
- api: KEY_METRICS_API,
18
- params: {
19
- opt: "count",
20
- key,
21
- version: appVersion
22
- }
23
- })
24
- );
22
+ constructor() {
23
+ __publicField(this, "taskQueue", []);
24
+ __publicField(this, "isReady", false);
25
+ this.bindEvent();
26
+ }
27
+ reportCount(key) {
28
+ const task = this.createReportCountTask(key);
29
+ if (!this.isReady) {
30
+ this.taskQueue.push(task);
31
+ } else {
32
+ task();
33
+ }
34
+ }
35
+ bindEvent() {
36
+ TUIRoomEngine__default.once("ready", () => {
37
+ this.isReady = true;
38
+ this.executePendingTasks();
39
+ });
40
+ }
41
+ executePendingTasks() {
42
+ this.taskQueue.forEach((task) => task());
43
+ this.taskQueue = [];
44
+ }
45
+ createReportCountTask(key) {
46
+ return () => {
47
+ TUIRoomEngine__default.callExperimentalAPI(
48
+ JSON.stringify({
49
+ api: KEY_METRICS_API,
50
+ params: { key }
51
+ })
52
+ );
53
+ };
25
54
  }
26
55
  }
27
56
  export {
@@ -1,5 +1,4 @@
1
1
  import { EventType, IRoomService, RoomInitData, RoomParam } from './types';
2
- import { default as TUIRoomEngine } from '@tencentcloud/tuiroom-engine-electron';
3
2
  import { UserInfo } from '../stores/room';
4
3
  import { ComponentConfig, ComponentManager, ComponentName } from './manager/componentManager';
5
4
  import { ConfigManager, LanguageOption, Theme } from './manager/configManager';
@@ -12,11 +11,12 @@ import { VirtualBackground } from './function/virtualBackground';
12
11
  import { BasicBeauty } from './function/basicBeauty';
13
12
  import { ScheduleConferenceManager } from './manager/scheduleConferenceManager';
14
13
  import { ConferenceInvitationManager } from './manager/conferenceInvitationManager';
14
+ import { DataReportManager } from './manager/dataReportManager';
15
15
  import { ErrorHandler } from './function/errorHandler';
16
16
  import { ChatManager } from './manager/chatManager';
17
17
  import { AITask } from './function/aiTask';
18
18
 
19
- export declare const roomEngine: Record<string, TUIRoomEngine | null>;
19
+ export declare const roomEngine: Record<string, any>;
20
20
  export declare class RoomService implements IRoomService {
21
21
  static instance?: RoomService;
22
22
  private emitter;
@@ -31,10 +31,11 @@ export declare class RoomService implements IRoomService {
31
31
  basicBeauty: BasicBeauty;
32
32
  scheduleConferenceManager: ScheduleConferenceManager;
33
33
  conferenceInvitationManager: ConferenceInvitationManager;
34
+ dataReportManager: DataReportManager;
34
35
  errorHandler: ErrorHandler;
35
36
  chatManager: ChatManager;
36
37
  aiTask: AITask;
37
- roomEngine: Record<string, TUIRoomEngine | null>;
38
+ roomEngine: Record<string, any>;
38
39
  t: any;
39
40
  get basicStore(): any;
40
41
  get roomStore(): any;
@@ -24,6 +24,7 @@ import { VirtualBackground } from "./function/virtualBackground.mjs";
24
24
  import { BasicBeauty } from "./function/basicBeauty.mjs";
25
25
  import { ScheduleConferenceManager } from "./manager/scheduleConferenceManager.mjs";
26
26
  import { ConferenceInvitationManager } from "./manager/conferenceInvitationManager.mjs";
27
+ import { DataReportManager } from "./manager/dataReportManager.mjs";
27
28
  import { ErrorHandler } from "./function/errorHandler.mjs";
28
29
  import { ChatManager } from "./manager/chatManager.mjs";
29
30
  import { TUILogin } from "@tencentcloud/tui-core";
@@ -45,6 +46,7 @@ const _RoomService = class _RoomService {
45
46
  __publicField(this, "basicBeauty", new BasicBeauty(this));
46
47
  __publicField(this, "scheduleConferenceManager", new ScheduleConferenceManager(this));
47
48
  __publicField(this, "conferenceInvitationManager", new ConferenceInvitationManager(this));
49
+ __publicField(this, "dataReportManager", new DataReportManager());
48
50
  __publicField(this, "errorHandler", new ErrorHandler(this));
49
51
  __publicField(this, "chatManager", new ChatManager(this));
50
52
  __publicField(this, "aiTask", new AITask(this));
@@ -8,6 +8,7 @@ import { RoomActionManager } from './manager/roomActionManager';
8
8
  import { ErrorHandler } from './function/errorHandler';
9
9
  import { AITask } from './function/aiTask';
10
10
  import { ConferenceInvitationManager } from './manager/conferenceInvitationManager';
11
+ import { DataReportManager } from './manager/dataReportManager';
11
12
 
12
13
  export interface IRoomService {
13
14
  t: any;
@@ -19,6 +20,7 @@ export interface IRoomService {
19
20
  roomActionManager?: RoomActionManager;
20
21
  scheduleConferenceManager: ScheduleConferenceManager;
21
22
  conferenceInvitationManager: ConferenceInvitationManager;
23
+ dataReportManager: DataReportManager;
22
24
  errorHandler: ErrorHandler;
23
25
  aiTask: AITask;
24
26
  on: (eventType: EventType, callback: (data?: any) => any) => void;
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
6
- const LocalScreenView = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-5c425af9"]]);
6
+ const LocalScreenView = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-222da582"]]);
7
7
  exports.default = LocalScreenView;
@@ -11,6 +11,13 @@ const useMitt = require("../../../../hooks/useMitt.js");
11
11
  const index = require("../../../../locales/index.js");
12
12
  const room = require("../../../../stores/room.js");
13
13
  const dataReportManager = require("../../../../services/manager/dataReportManager.js");
14
+ require("../../../../services/main.js");
15
+ const roomService = require("../../../../services/roomService.js");
16
+ require("@tencentcloud/tuiroom-engine-electron");
17
+ require("mitt");
18
+ require("../../../../services/manager/roomActionManager.js");
19
+ require("@tencentcloud/tui-core");
20
+ require("../../../../utils/environment.js");
14
21
  const _hoisted_1 = { class: "local-screen-container" };
15
22
  const _hoisted_2 = { class: "local-screen-info" };
16
23
  const _hoisted_3 = { class: "text" };
@@ -43,16 +50,16 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
43
50
  if (isAnnotationVisiable.value) {
44
51
  (_a2 = electron.ipcRenderer) == null ? void 0 : _a2.send("annotation:stop-annotating");
45
52
  isAnnotationVisiable.value = false;
46
- dataReportManager.DataReportManager.reportCount(dataReportManager.MetricsKey.stopAnnotating);
53
+ roomService.roomService.dataReportManager.reportCount(dataReportManager.MetricsKey.stopAnnotating);
47
54
  } else {
48
55
  (_b = electron.ipcRenderer) == null ? void 0 : _b.send("annotation:start-annotating");
49
56
  isAnnotationVisiable.value = true;
50
- dataReportManager.DataReportManager.reportCount(dataReportManager.MetricsKey.startAnnotating);
57
+ roomService.roomService.dataReportManager.reportCount(dataReportManager.MetricsKey.startAnnotating);
51
58
  }
52
59
  }
53
60
  (_a = electron.ipcRenderer) == null ? void 0 : _a.on("annotation:stop-from-annotation-window", () => {
54
61
  isAnnotationVisiable.value = false;
55
- dataReportManager.DataReportManager.reportCount(dataReportManager.MetricsKey.stopAnnotating);
62
+ roomService.roomService.dataReportManager.reportCount(dataReportManager.MetricsKey.stopAnnotating);
56
63
  });
57
64
  return (_ctx, _cache) => {
58
65
  return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
@@ -17,9 +17,9 @@ const types = require("../../services/types.js");
17
17
  require("mitt");
18
18
  require("../../services/manager/roomActionManager.js");
19
19
  require("@tencentcloud/tui-core");
20
+ const dataReportManager = require("../../services/manager/dataReportManager.js");
20
21
  require("../../utils/environment.js");
21
22
  const message = require("../../constants/message.js");
22
- const dataReportManager = require("../../services/manager/dataReportManager.js");
23
23
  const _hoisted_1 = { class: "whiteboard-control-container" };
24
24
  const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
25
25
  __name: "WhiteboardControl",
@@ -89,10 +89,10 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
89
89
  var _a;
90
90
  (_a = roomService.roomEngine.instance) == null ? void 0 : _a.stopScreenSharing();
91
91
  if (isWhiteboardVisiable.value) {
92
- dataReportManager.DataReportManager.reportCount(dataReportManager.MetricsKey.stopSharingWhiteboard);
92
+ roomService.roomService.dataReportManager.reportCount(dataReportManager.MetricsKey.stopSharingWhiteboard);
93
93
  }
94
94
  if (isAnnotationVisiable.value) {
95
- dataReportManager.DataReportManager.reportCount(dataReportManager.MetricsKey.stopAnnotating);
95
+ roomService.roomService.dataReportManager.reportCount(dataReportManager.MetricsKey.stopAnnotating);
96
96
  }
97
97
  isWhiteboardVisiable.value = false;
98
98
  isAnnotationVisiable.value = false;
@@ -105,7 +105,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
105
105
  function showWhiteboardWindow() {
106
106
  isWhiteboardVisiable.value = true;
107
107
  electron.ipcRenderer.send("whiteboard:show-window");
108
- dataReportManager.DataReportManager.reportCount(dataReportManager.MetricsKey.startSharingWhiteboard);
108
+ roomService.roomService.dataReportManager.reportCount(dataReportManager.MetricsKey.startSharingWhiteboard);
109
109
  }
110
110
  electron.ipcRenderer.on("whiteboard:window-closed", () => {
111
111
  stopShareWhiteboard();
@@ -114,7 +114,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
114
114
  stopShareWhiteboard();
115
115
  });
116
116
  electron.ipcRenderer.on("whiteboard:save-from-whiteboard-window", () => {
117
- dataReportManager.DataReportManager.reportCount(dataReportManager.MetricsKey.saveWhiteboard);
117
+ roomService.roomService.dataReportManager.reportCount(dataReportManager.MetricsKey.saveWhiteboard);
118
118
  });
119
119
  Vue.onMounted(() => {
120
120
  useMitt.default.on("ScreenShare:stopScreenShare", stopShareWhiteboard);
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const AudioSettingTab_vue_vue_type_script_setup_true_lang = require("./AudioSettingTab.vue2.js");
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
- const AudioSettingTab = /* @__PURE__ */ _pluginVue_exportHelper.default(AudioSettingTab_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4cbcecda"]]);
6
+ const AudioSettingTab = /* @__PURE__ */ _pluginVue_exportHelper.default(AudioSettingTab_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4e811209"]]);
7
7
  exports.default = AudioSettingTab;
@@ -58,7 +58,9 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
58
58
  }
59
59
  const isTestingSpeaker = Vue.ref(false);
60
60
  const audioPlayer = document == null ? void 0 : document.createElement("audio");
61
- audioPlayer.loop = true;
61
+ if (audioPlayer && typeof audioPlayer.loop !== "undefined") {
62
+ audioPlayer.loop = true;
63
+ }
62
64
  const { t } = index.useI18n();
63
65
  async function handleSpeakerTest() {
64
66
  const SPEAKER_TEST_URL = "https://web.sdk.qcloud.com/trtc/electron/download/resources/media/TestSpeaker.mp3";