@tencentcloud/roomkit-electron-vue3 2.6.2 → 2.6.7
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.
- package/es/components/RoomContent/StreamRegion/LocalScreenView/index.vue.mjs +1 -1
- package/es/components/RoomContent/StreamRegion/LocalScreenView/index.vue2.mjs +11 -4
- package/es/components/RoomFooter/WhiteboardControl.vue.mjs +5 -5
- package/es/components/common/AudioSettingTab.vue.mjs +1 -1
- package/es/components/common/AudioSettingTab.vue2.mjs +3 -1
- package/es/conference.mjs +10 -0
- package/es/index.mjs +24 -24
- package/es/services/function/aiTask.mjs +7 -4
- package/es/services/index.d.ts +1 -0
- package/es/services/manager/dataReportManager.d.ts +15 -2
- package/es/services/manager/dataReportManager.mjs +42 -13
- package/es/services/roomService.d.ts +2 -0
- package/es/services/roomService.mjs +2 -0
- package/es/services/types.d.ts +2 -0
- package/lib/components/RoomContent/StreamRegion/LocalScreenView/index.vue.js +1 -1
- package/lib/components/RoomContent/StreamRegion/LocalScreenView/index.vue2.js +10 -3
- package/lib/components/RoomFooter/WhiteboardControl.vue.js +5 -5
- package/lib/components/common/AudioSettingTab.vue.js +1 -1
- package/lib/components/common/AudioSettingTab.vue2.js +3 -1
- package/lib/conference.js +10 -0
- package/lib/index.js +24 -24
- package/lib/services/function/aiTask.js +6 -3
- package/lib/services/index.d.ts +1 -0
- package/lib/services/manager/dataReportManager.d.ts +15 -2
- package/lib/services/manager/dataReportManager.js +42 -13
- package/lib/services/roomService.d.ts +2 -0
- package/lib/services/roomService.js +2 -0
- package/lib/services/types.d.ts +2 -0
- package/lib/utils/constants.js +1 -1
- package/package.json +3 -3
- package/src/TUIRoom/components/RoomContent/StreamRegion/LocalScreenView/index.vue +5 -7
- package/src/TUIRoom/components/RoomFooter/WhiteboardControl.vue +5 -8
- package/src/TUIRoom/components/common/AudioSettingTab.vue +3 -1
- package/src/TUIRoom/conference.ts +10 -0
- package/src/TUIRoom/services/function/aiTask.ts +10 -2
- package/src/TUIRoom/services/index.ts +1 -0
- package/src/TUIRoom/services/manager/dataReportManager.ts +48 -13
- package/src/TUIRoom/services/roomService.ts +2 -0
- package/src/TUIRoom/services/types.ts +2 -0
- package/es/package.json.mjs +0 -93
- package/lib/package.json.js +0 -93
package/lib/index.js
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-
|
|
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-
|
|
987
|
+
.audio-setting-tab .item-setting[data-v-4e811209] {
|
|
988
988
|
width: 100%;
|
|
989
989
|
}
|
|
990
|
-
.audio-setting-tab .item-setting[data-v-
|
|
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-
|
|
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-
|
|
997
|
+
.audio-setting-tab .select[data-v-4e811209] {
|
|
998
998
|
flex: 1;
|
|
999
999
|
}
|
|
1000
|
-
.audio-setting-tab .button[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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:
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
7981
|
+
.dialog-button[data-v-222da582] {
|
|
7982
7982
|
margin-right: 12px;
|
|
7983
7983
|
}.stream-region-container[data-v-5ad6ef67] {
|
|
7984
7984
|
display: flex;
|
|
@@ -18,7 +18,7 @@ class AITask {
|
|
|
18
18
|
__publicField(this, "subtitleText", { value: "" });
|
|
19
19
|
__publicField(this, "transcriptionText", { value: "" });
|
|
20
20
|
this.service = service;
|
|
21
|
-
if (environment.isElectron) return;
|
|
21
|
+
if (environment.isElectron || environment.isMobile) return;
|
|
22
22
|
this.bindCtx();
|
|
23
23
|
this.bindEvent();
|
|
24
24
|
}
|
|
@@ -41,8 +41,11 @@ class AITask {
|
|
|
41
41
|
this.service.lifeCycleManager.off("unmount", this.handleUnmount);
|
|
42
42
|
}
|
|
43
43
|
handleMount() {
|
|
44
|
-
var _a;
|
|
45
|
-
|
|
44
|
+
var _a, _b, _c, _d;
|
|
45
|
+
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") {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const trtc = (_d = this.service.roomEngine.instance) == null ? void 0 : _d.getTRTCCloud()._trtc;
|
|
46
49
|
this.trtc = trtc;
|
|
47
50
|
trtc.on("custom-message", this.handleAIMessage);
|
|
48
51
|
}
|
package/lib/services/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
2
5
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
6
|
const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-electron");
|
|
4
|
-
const _package = require("../../package.json.js");
|
|
5
|
-
const appVersion = _package.default.version;
|
|
6
7
|
const KEY_METRICS_API = "KeyMetricsStats";
|
|
7
8
|
var MetricsKey = /* @__PURE__ */ ((MetricsKey2) => {
|
|
8
9
|
MetricsKey2[MetricsKey2["startSharingWhiteboard"] = 106e3] = "startSharingWhiteboard";
|
|
@@ -10,20 +11,48 @@ var MetricsKey = /* @__PURE__ */ ((MetricsKey2) => {
|
|
|
10
11
|
MetricsKey2[MetricsKey2["startAnnotating"] = 106002] = "startAnnotating";
|
|
11
12
|
MetricsKey2[MetricsKey2["stopAnnotating"] = 106003] = "stopAnnotating";
|
|
12
13
|
MetricsKey2[MetricsKey2["saveWhiteboard"] = 106004] = "saveWhiteboard";
|
|
14
|
+
MetricsKey2[MetricsKey2["setLanguage"] = 106050] = "setLanguage";
|
|
15
|
+
MetricsKey2[MetricsKey2["setTheme"] = 106051] = "setTheme";
|
|
16
|
+
MetricsKey2[MetricsKey2["disableTextMessaging"] = 106052] = "disableTextMessaging";
|
|
17
|
+
MetricsKey2[MetricsKey2["disableScreenSharing"] = 106053] = "disableScreenSharing";
|
|
18
|
+
MetricsKey2[MetricsKey2["enableWatermark"] = 106054] = "enableWatermark";
|
|
19
|
+
MetricsKey2[MetricsKey2["enableVirtualBackground"] = 106055] = "enableVirtualBackground";
|
|
20
|
+
MetricsKey2[MetricsKey2["hideFeatureButton"] = 106056] = "hideFeatureButton";
|
|
13
21
|
return MetricsKey2;
|
|
14
22
|
})(MetricsKey || {});
|
|
15
23
|
class DataReportManager {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
constructor() {
|
|
25
|
+
__publicField(this, "taskQueue", []);
|
|
26
|
+
__publicField(this, "isReady", false);
|
|
27
|
+
this.bindEvent();
|
|
28
|
+
}
|
|
29
|
+
reportCount(key) {
|
|
30
|
+
const task = this.createReportCountTask(key);
|
|
31
|
+
if (!this.isReady) {
|
|
32
|
+
this.taskQueue.push(task);
|
|
33
|
+
} else {
|
|
34
|
+
task();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
bindEvent() {
|
|
38
|
+
TUIRoomEngine.once("ready", () => {
|
|
39
|
+
this.isReady = true;
|
|
40
|
+
this.executePendingTasks();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
executePendingTasks() {
|
|
44
|
+
this.taskQueue.forEach((task) => task());
|
|
45
|
+
this.taskQueue = [];
|
|
46
|
+
}
|
|
47
|
+
createReportCountTask(key) {
|
|
48
|
+
return () => {
|
|
49
|
+
TUIRoomEngine.callExperimentalAPI(
|
|
50
|
+
JSON.stringify({
|
|
51
|
+
api: KEY_METRICS_API,
|
|
52
|
+
params: { key }
|
|
53
|
+
})
|
|
54
|
+
);
|
|
55
|
+
};
|
|
27
56
|
}
|
|
28
57
|
}
|
|
29
58
|
exports.DataReportManager = DataReportManager;
|
|
@@ -12,6 +12,7 @@ import { VirtualBackground } from './function/virtualBackground';
|
|
|
12
12
|
import { BasicBeauty } from './function/basicBeauty';
|
|
13
13
|
import { ScheduleConferenceManager } from './manager/scheduleConferenceManager';
|
|
14
14
|
import { ConferenceInvitationManager } from './manager/conferenceInvitationManager';
|
|
15
|
+
import { DataReportManager } from './manager/dataReportManager';
|
|
15
16
|
import { ErrorHandler } from './function/errorHandler';
|
|
16
17
|
import { ChatManager } from './manager/chatManager';
|
|
17
18
|
import { AITask } from './function/aiTask';
|
|
@@ -31,6 +32,7 @@ export declare class RoomService implements IRoomService {
|
|
|
31
32
|
basicBeauty: BasicBeauty;
|
|
32
33
|
scheduleConferenceManager: ScheduleConferenceManager;
|
|
33
34
|
conferenceInvitationManager: ConferenceInvitationManager;
|
|
35
|
+
dataReportManager: DataReportManager;
|
|
34
36
|
errorHandler: ErrorHandler;
|
|
35
37
|
chatManager: ChatManager;
|
|
36
38
|
aiTask: AITask;
|
|
@@ -26,6 +26,7 @@ const virtualBackground = require("./function/virtualBackground.js");
|
|
|
26
26
|
const basicBeauty = require("./function/basicBeauty.js");
|
|
27
27
|
const scheduleConferenceManager = require("./manager/scheduleConferenceManager.js");
|
|
28
28
|
const conferenceInvitationManager = require("./manager/conferenceInvitationManager.js");
|
|
29
|
+
const dataReportManager = require("./manager/dataReportManager.js");
|
|
29
30
|
const errorHandler = require("./function/errorHandler.js");
|
|
30
31
|
const chatManager = require("./manager/chatManager.js");
|
|
31
32
|
const TUICore = require("@tencentcloud/tui-core");
|
|
@@ -47,6 +48,7 @@ const _RoomService = class _RoomService {
|
|
|
47
48
|
__publicField(this, "basicBeauty", new basicBeauty.BasicBeauty(this));
|
|
48
49
|
__publicField(this, "scheduleConferenceManager", new scheduleConferenceManager.ScheduleConferenceManager(this));
|
|
49
50
|
__publicField(this, "conferenceInvitationManager", new conferenceInvitationManager.ConferenceInvitationManager(this));
|
|
51
|
+
__publicField(this, "dataReportManager", new dataReportManager.DataReportManager());
|
|
50
52
|
__publicField(this, "errorHandler", new errorHandler.ErrorHandler(this));
|
|
51
53
|
__publicField(this, "chatManager", new chatManager.ChatManager(this));
|
|
52
54
|
__publicField(this, "aiTask", new aiTask.AITask(this));
|
package/lib/services/types.d.ts
CHANGED
|
@@ -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;
|
package/lib/utils/constants.js
CHANGED
|
@@ -22,7 +22,7 @@ const Vue__namespace = /* @__PURE__ */ _interopNamespaceDefault(Vue);
|
|
|
22
22
|
const __vite_import_meta_env__ = { "BASE_URL": "/", "DEV": false, "MODE": "production", "PROD": true, "SSR": false };
|
|
23
23
|
const isVue27 = /^2\.7\.*/.test(Vue__namespace.version);
|
|
24
24
|
const isVue3 = /^3\.*/.test(Vue__namespace.version);
|
|
25
|
-
const isInnerScene = { url: typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.src || new URL("utils/constants.js", document.baseURI).href } && __vite_import_meta_env__ && false;
|
|
25
|
+
const isInnerScene = { url: typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("utils/constants.js", document.baseURI).href } && __vite_import_meta_env__ && false;
|
|
26
26
|
exports.isInnerScene = isInnerScene;
|
|
27
27
|
exports.isVue27 = isVue27;
|
|
28
28
|
exports.isVue3 = isVue3;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tencentcloud/roomkit-electron-vue3",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.7",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.mjs",
|
|
6
6
|
"types": "./es/index.d.ts",
|
|
@@ -18,10 +18,9 @@
|
|
|
18
18
|
"javascript"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@originjs/vite-plugin-commonjs": "^1.0.3",
|
|
22
21
|
"@tencentcloud/chat": "latest",
|
|
23
22
|
"@tencentcloud/tui-core": "latest",
|
|
24
|
-
"@tencentcloud/tuiroom-engine-electron": "^2.6.
|
|
23
|
+
"@tencentcloud/tuiroom-engine-electron": "^2.6.7",
|
|
25
24
|
"@tencentcloud/chat-uikit-engine": "2.2.7",
|
|
26
25
|
"@tencentcloud/chat-uikit-vue": "2.2.7",
|
|
27
26
|
"@tencentcloud/universal-api": "^2.0.9",
|
|
@@ -46,6 +45,7 @@
|
|
|
46
45
|
"electron": ">=4.0.0"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
48
|
+
"@originjs/vite-plugin-commonjs": "^1.0.3",
|
|
49
49
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
50
50
|
"sass": "^1.72.0",
|
|
51
51
|
"typescript": "^5.2.2",
|
|
@@ -69,10 +69,8 @@ import Dialog from '../../../common/base/Dialog/index.vue';
|
|
|
69
69
|
import eventBus from '../../../../hooks/useMitt';
|
|
70
70
|
import { useI18n } from '../../../../locales';
|
|
71
71
|
import { useRoomStore } from '../../../../stores/room';
|
|
72
|
-
import {
|
|
73
|
-
|
|
74
|
-
MetricsKey,
|
|
75
|
-
} from '../../../../services/manager/dataReportManager';
|
|
72
|
+
import { MetricsKey } from '../../../../services/manager/dataReportManager';
|
|
73
|
+
import { roomService } from '../../../../services';
|
|
76
74
|
|
|
77
75
|
const roomStore = useRoomStore();
|
|
78
76
|
const { t } = useI18n();
|
|
@@ -108,17 +106,17 @@ function toggleAnnotationWindow() {
|
|
|
108
106
|
if (isAnnotationVisiable.value) {
|
|
109
107
|
ipcRenderer?.send('annotation:stop-annotating');
|
|
110
108
|
isAnnotationVisiable.value = false;
|
|
111
|
-
|
|
109
|
+
roomService.dataReportManager.reportCount(MetricsKey.stopAnnotating);
|
|
112
110
|
} else {
|
|
113
111
|
ipcRenderer?.send('annotation:start-annotating');
|
|
114
112
|
isAnnotationVisiable.value = true;
|
|
115
|
-
|
|
113
|
+
roomService.dataReportManager.reportCount(MetricsKey.startAnnotating);
|
|
116
114
|
}
|
|
117
115
|
}
|
|
118
116
|
|
|
119
117
|
ipcRenderer?.on('annotation:stop-from-annotation-window', () => {
|
|
120
118
|
isAnnotationVisiable.value = false;
|
|
121
|
-
|
|
119
|
+
roomService.dataReportManager.reportCount(MetricsKey.stopAnnotating);
|
|
122
120
|
});
|
|
123
121
|
</script>
|
|
124
122
|
|
|
@@ -30,10 +30,7 @@ import eventBus from '../../hooks/useMitt';
|
|
|
30
30
|
import { EventType, roomEngine } from '../../services';
|
|
31
31
|
import { MESSAGE_DURATION } from '../../constants/message';
|
|
32
32
|
import { roomService } from '../../services/index';
|
|
33
|
-
import {
|
|
34
|
-
DataReportManager,
|
|
35
|
-
MetricsKey,
|
|
36
|
-
} from '../../services/manager/dataReportManager';
|
|
33
|
+
import { MetricsKey } from '../../services/manager/dataReportManager';
|
|
37
34
|
|
|
38
35
|
const { t } = useI18n();
|
|
39
36
|
const roomStore = useRoomStore();
|
|
@@ -109,10 +106,10 @@ async function startShareWhiteboard() {
|
|
|
109
106
|
function stopShareWhiteboard() {
|
|
110
107
|
roomEngine.instance?.stopScreenSharing();
|
|
111
108
|
if (isWhiteboardVisiable.value) {
|
|
112
|
-
|
|
109
|
+
roomService.dataReportManager.reportCount(MetricsKey.stopSharingWhiteboard);
|
|
113
110
|
}
|
|
114
111
|
if (isAnnotationVisiable.value) {
|
|
115
|
-
|
|
112
|
+
roomService.dataReportManager.reportCount(MetricsKey.stopAnnotating);
|
|
116
113
|
}
|
|
117
114
|
isWhiteboardVisiable.value = false;
|
|
118
115
|
isAnnotationVisiable.value = false;
|
|
@@ -127,7 +124,7 @@ function hideAllWhiteboardWindow() {
|
|
|
127
124
|
function showWhiteboardWindow() {
|
|
128
125
|
isWhiteboardVisiable.value = true;
|
|
129
126
|
ipcRenderer.send('whiteboard:show-window');
|
|
130
|
-
|
|
127
|
+
roomService.dataReportManager.reportCount(MetricsKey.startSharingWhiteboard);
|
|
131
128
|
}
|
|
132
129
|
|
|
133
130
|
ipcRenderer.on('whiteboard:window-closed', () => {
|
|
@@ -139,7 +136,7 @@ ipcRenderer.on('whiteboard:stop-from-whiteboard-window', () => {
|
|
|
139
136
|
});
|
|
140
137
|
|
|
141
138
|
ipcRenderer.on('whiteboard:save-from-whiteboard-window', () => {
|
|
142
|
-
|
|
139
|
+
roomService.dataReportManager.reportCount(MetricsKey.saveWhiteboard);
|
|
143
140
|
});
|
|
144
141
|
|
|
145
142
|
onMounted(() => {
|
|
@@ -110,7 +110,9 @@ function handleMicrophoneTest() {
|
|
|
110
110
|
|
|
111
111
|
const isTestingSpeaker = ref(false);
|
|
112
112
|
const audioPlayer = document?.createElement('audio');
|
|
113
|
-
audioPlayer.loop
|
|
113
|
+
if (audioPlayer && typeof audioPlayer.loop !== 'undefined') {
|
|
114
|
+
audioPlayer.loop = true;
|
|
115
|
+
}
|
|
114
116
|
const { t } = useI18n();
|
|
115
117
|
|
|
116
118
|
/**
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
LanguageOption,
|
|
7
7
|
Theme,
|
|
8
8
|
EventType,
|
|
9
|
+
MetricsKey,
|
|
9
10
|
} from './services';
|
|
10
11
|
import { TUIRoomEngine } from './index';
|
|
11
12
|
import logger from './utils/common/logger';
|
|
@@ -144,26 +145,34 @@ class Conference implements IConference {
|
|
|
144
145
|
}
|
|
145
146
|
|
|
146
147
|
public setLanguage(language: LanguageOption) {
|
|
148
|
+
roomService.dataReportManager.reportCount(MetricsKey.setLanguage);
|
|
147
149
|
return roomService.setLanguage(language);
|
|
148
150
|
}
|
|
149
151
|
|
|
150
152
|
public setTheme(theme: ThemeOption) {
|
|
153
|
+
roomService.dataReportManager.reportCount(MetricsKey.setTheme);
|
|
151
154
|
return roomService.setTheme(toTargetTheme(theme) as Theme);
|
|
152
155
|
}
|
|
153
156
|
|
|
154
157
|
public disableTextMessaging() {
|
|
158
|
+
roomService.dataReportManager.reportCount(MetricsKey.disableTextMessaging);
|
|
155
159
|
roomService.setComponentConfig({ ChatControl: { visible: false } });
|
|
156
160
|
}
|
|
157
161
|
|
|
158
162
|
public disableScreenSharing() {
|
|
163
|
+
roomService.dataReportManager.reportCount(MetricsKey.disableScreenSharing);
|
|
159
164
|
roomService.setComponentConfig({ ScreenShare: { visible: false } });
|
|
160
165
|
}
|
|
161
166
|
|
|
162
167
|
public enableWatermark() {
|
|
168
|
+
roomService.dataReportManager.reportCount(MetricsKey.enableWatermark);
|
|
163
169
|
roomService.waterMark.toggleWatermark(true);
|
|
164
170
|
}
|
|
165
171
|
|
|
166
172
|
public enableVirtualBackground() {
|
|
173
|
+
roomService.dataReportManager.reportCount(
|
|
174
|
+
MetricsKey.enableVirtualBackground
|
|
175
|
+
);
|
|
167
176
|
roomService.setComponentConfig({ VirtualBackground: { visible: true } });
|
|
168
177
|
}
|
|
169
178
|
|
|
@@ -172,6 +181,7 @@ class Conference implements IConference {
|
|
|
172
181
|
}
|
|
173
182
|
|
|
174
183
|
public hideFeatureButton(name: FeatureButton) {
|
|
184
|
+
roomService.dataReportManager.reportCount(MetricsKey.hideFeatureButton);
|
|
175
185
|
roomService.setComponentConfig({ [name]: { visible: false } });
|
|
176
186
|
}
|
|
177
187
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IRoomService } from '../';
|
|
2
2
|
import mitt from 'mitt';
|
|
3
|
-
import { isElectron } from '../../utils/environment';
|
|
3
|
+
import { isElectron, isMobile } from '../../utils/environment';
|
|
4
4
|
|
|
5
5
|
interface SubtitleMessage {
|
|
6
6
|
userid: string;
|
|
@@ -53,7 +53,7 @@ export class AITask {
|
|
|
53
53
|
|
|
54
54
|
constructor(service: IRoomService) {
|
|
55
55
|
this.service = service;
|
|
56
|
-
if (isElectron) return;
|
|
56
|
+
if (isElectron || isMobile) return;
|
|
57
57
|
this.bindCtx();
|
|
58
58
|
this.bindEvent();
|
|
59
59
|
}
|
|
@@ -88,6 +88,14 @@ export class AITask {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
private handleMount() {
|
|
91
|
+
// todo trtccloud adds custom-message event
|
|
92
|
+
if (
|
|
93
|
+
typeof this.service.roomEngine.instance?.getTRTCCloud === 'undefined' ||
|
|
94
|
+
typeof this.service.roomEngine.instance?.getTRTCCloud()?._trtc ===
|
|
95
|
+
'undefined'
|
|
96
|
+
) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
91
99
|
const trtc = this.service.roomEngine.instance?.getTRTCCloud()._trtc;
|
|
92
100
|
this.trtc = trtc;
|
|
93
101
|
trtc.on('custom-message', this.handleAIMessage);
|
|
@@ -9,4 +9,5 @@ export * from './manager/lifeCycleManager';
|
|
|
9
9
|
export * from './manager/roomActionManager';
|
|
10
10
|
export * from './manager/scheduleConferenceManager';
|
|
11
11
|
export * from './manager/chatManager';
|
|
12
|
+
export * from './manager/dataReportManager';
|
|
12
13
|
export * from './function/aiTask';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import TUIRoomEngine from '@tencentcloud/tuiroom-engine-electron';
|
|
2
|
-
|
|
3
|
-
const appVersion = packageConfig.version;
|
|
2
|
+
|
|
4
3
|
const KEY_METRICS_API = 'KeyMetricsStats';
|
|
5
4
|
|
|
6
5
|
export enum MetricsKey {
|
|
@@ -9,19 +8,55 @@ export enum MetricsKey {
|
|
|
9
8
|
startAnnotating = 106002,
|
|
10
9
|
stopAnnotating = 106003,
|
|
11
10
|
saveWhiteboard = 106004,
|
|
11
|
+
|
|
12
|
+
setLanguage = 106050,
|
|
13
|
+
setTheme = 106051,
|
|
14
|
+
disableTextMessaging = 106052,
|
|
15
|
+
disableScreenSharing = 106053,
|
|
16
|
+
enableWatermark = 106054,
|
|
17
|
+
enableVirtualBackground = 106055,
|
|
18
|
+
hideFeatureButton = 106056,
|
|
12
19
|
}
|
|
13
20
|
|
|
21
|
+
type Task = () => void;
|
|
22
|
+
|
|
14
23
|
export class DataReportManager {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
private taskQueue: Task[] = [];
|
|
25
|
+
private isReady = false;
|
|
26
|
+
|
|
27
|
+
constructor() {
|
|
28
|
+
this.bindEvent();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public reportCount(key: MetricsKey) {
|
|
32
|
+
const task = this.createReportCountTask(key);
|
|
33
|
+
if (!this.isReady) {
|
|
34
|
+
this.taskQueue.push(task);
|
|
35
|
+
} else {
|
|
36
|
+
task();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
private bindEvent() {
|
|
41
|
+
TUIRoomEngine.once('ready', () => {
|
|
42
|
+
this.isReady = true;
|
|
43
|
+
this.executePendingTasks();
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
private executePendingTasks() {
|
|
48
|
+
this.taskQueue.forEach(task => task());
|
|
49
|
+
this.taskQueue = [];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
private createReportCountTask(key: MetricsKey): Task {
|
|
53
|
+
return () => {
|
|
54
|
+
TUIRoomEngine.callExperimentalAPI(
|
|
55
|
+
JSON.stringify({
|
|
56
|
+
api: KEY_METRICS_API,
|
|
57
|
+
params: { key },
|
|
58
|
+
})
|
|
59
|
+
);
|
|
60
|
+
};
|
|
26
61
|
}
|
|
27
62
|
}
|
|
@@ -37,6 +37,7 @@ import { VirtualBackground } from './function/virtualBackground';
|
|
|
37
37
|
import { BasicBeauty } from './function/basicBeauty';
|
|
38
38
|
import { ScheduleConferenceManager } from './manager/scheduleConferenceManager';
|
|
39
39
|
import { ConferenceInvitationManager } from './manager/conferenceInvitationManager';
|
|
40
|
+
import { DataReportManager } from './manager/dataReportManager';
|
|
40
41
|
import { ErrorHandler } from './function/errorHandler';
|
|
41
42
|
import { ChatManager } from './manager/chatManager';
|
|
42
43
|
import { TUILogin } from '@tencentcloud/tui-core';
|
|
@@ -63,6 +64,7 @@ export class RoomService implements IRoomService {
|
|
|
63
64
|
new ScheduleConferenceManager(this);
|
|
64
65
|
public conferenceInvitationManager: ConferenceInvitationManager =
|
|
65
66
|
new ConferenceInvitationManager(this);
|
|
67
|
+
public dataReportManager: DataReportManager = new DataReportManager();
|
|
66
68
|
public errorHandler: ErrorHandler = new ErrorHandler(this);
|
|
67
69
|
public chatManager: ChatManager = new ChatManager(this);
|
|
68
70
|
public aiTask: 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
|
export interface IRoomService {
|
|
12
13
|
t: any;
|
|
13
14
|
roomEngine: Record<string, any>;
|
|
@@ -18,6 +19,7 @@ export interface IRoomService {
|
|
|
18
19
|
roomActionManager?: RoomActionManager;
|
|
19
20
|
scheduleConferenceManager: ScheduleConferenceManager;
|
|
20
21
|
conferenceInvitationManager: ConferenceInvitationManager;
|
|
22
|
+
dataReportManager: DataReportManager;
|
|
21
23
|
errorHandler: ErrorHandler;
|
|
22
24
|
aiTask: AITask;
|
|
23
25
|
on: (eventType: EventType, callback: (data?: any) => any) => void;
|