@tencentcloud/roomkit-electron-vue3 2.6.3 → 2.6.7-beta.1
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/conference.d.ts +1 -1
- package/es/conference.mjs +10 -0
- package/es/constants/room.d.ts +1 -3
- package/es/hooks/useRoomEngine.d.ts +1 -3
- package/es/index.mjs +12 -12
- 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 +4 -3
- 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/conference.d.ts +1 -1
- package/lib/conference.js +10 -0
- package/lib/constants/room.d.ts +1 -3
- package/lib/hooks/useRoomEngine.d.ts +1 -3
- package/lib/index.js +12 -12
- 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 +4 -3
- 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/conference.ts +10 -0
- 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
|
@@ -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;
|
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;
|
|
@@ -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,
|
|
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,
|
|
38
|
+
roomEngine: Record<string, any>;
|
|
38
39
|
t: any;
|
|
39
40
|
get basicStore(): any;
|
|
40
41
|
get roomStore(): any;
|
|
@@ -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-beta.1",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.mjs",
|
|
6
6
|
"types": "./es/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@tencentcloud/chat": "latest",
|
|
22
22
|
"@tencentcloud/tui-core": "latest",
|
|
23
|
-
"@tencentcloud/tuiroom-engine-electron": "^2.6.
|
|
23
|
+
"@tencentcloud/tuiroom-engine-electron": "^2.6.7",
|
|
24
24
|
"@tencentcloud/chat-uikit-engine": "2.2.7",
|
|
25
25
|
"@tencentcloud/chat-uikit-vue": "2.2.7",
|
|
26
26
|
"@tencentcloud/universal-api": "^2.0.9",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"hotkeys-js": "^3.10.1"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"pinia": "
|
|
43
|
+
"pinia": "~2.0.24",
|
|
44
44
|
"vue": "~3.3.13",
|
|
45
45
|
"electron": ">=4.0.0"
|
|
46
46
|
},
|
|
@@ -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(() => {
|
|
@@ -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
|
|
|
@@ -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;
|
package/es/package.json.mjs
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
const name = "@tencentcloud/roomkit-electron-vue3";
|
|
2
|
-
const version = "2.6.3";
|
|
3
|
-
const main = "./lib/index.js";
|
|
4
|
-
const module = "./es/index.mjs";
|
|
5
|
-
const types = "./es/index.d.ts";
|
|
6
|
-
const homepage = "https://cloud.tencent.com/document/product/647/81962";
|
|
7
|
-
const author = "Tencent Cloud Client R&D Center";
|
|
8
|
-
const license = "ISC";
|
|
9
|
-
const repository = {
|
|
10
|
-
type: "git",
|
|
11
|
-
url: "git@github.com:tencentyun/TUIRoomKit.git"
|
|
12
|
-
};
|
|
13
|
-
const keywords = [
|
|
14
|
-
"conference",
|
|
15
|
-
"tuiroomkit",
|
|
16
|
-
"webrtc",
|
|
17
|
-
"javascript"
|
|
18
|
-
];
|
|
19
|
-
const scripts = {
|
|
20
|
-
dev: "vite build --watch",
|
|
21
|
-
build: "vite build"
|
|
22
|
-
};
|
|
23
|
-
const dependencies = {
|
|
24
|
-
"@tencentcloud/chat": "latest",
|
|
25
|
-
"@tencentcloud/tui-core": "latest",
|
|
26
|
-
"@tencentcloud/tuiroom-engine-electron": "workspace:^2.6.3",
|
|
27
|
-
"@tencentcloud/chat-uikit-engine": "2.2.7",
|
|
28
|
-
"@tencentcloud/chat-uikit-vue": "2.2.7",
|
|
29
|
-
"@tencentcloud/universal-api": "^2.0.9",
|
|
30
|
-
"@tiptap/core": "^2.6.6",
|
|
31
|
-
"@tiptap/extension-document": "^2.6.6",
|
|
32
|
-
"@tiptap/extension-image": "^2.6.6",
|
|
33
|
-
"@tiptap/extension-mention": "^2.6.6",
|
|
34
|
-
"@tiptap/extension-paragraph": "^2.6.6",
|
|
35
|
-
"@tiptap/extension-placeholder": "^2.6.6",
|
|
36
|
-
"@tiptap/extension-text": "^2.6.6",
|
|
37
|
-
"@tiptap/pm": "^2.6.6",
|
|
38
|
-
"@tiptap/suggestion": "^2.6.6",
|
|
39
|
-
dayjs: "^1.11.13",
|
|
40
|
-
interactjs: "^1.10.26",
|
|
41
|
-
mitt: "^3.0.0",
|
|
42
|
-
fabric: "^5.3.0",
|
|
43
|
-
"hotkeys-js": "^3.10.1"
|
|
44
|
-
};
|
|
45
|
-
const peerDependencies = {
|
|
46
|
-
pinia: "^2.1.7",
|
|
47
|
-
vue: "~3.3.13",
|
|
48
|
-
electron: ">=4.0.0"
|
|
49
|
-
};
|
|
50
|
-
const devDependencies = {
|
|
51
|
-
"@originjs/vite-plugin-commonjs": "^1.0.3",
|
|
52
|
-
"@vitejs/plugin-vue": "^5.0.4",
|
|
53
|
-
sass: "^1.72.0",
|
|
54
|
-
typescript: "^5.2.2",
|
|
55
|
-
vite: "^5.2.0",
|
|
56
|
-
"vite-plugin-css-injected-by-js": "^3.5.0",
|
|
57
|
-
"vite-plugin-dts": "^3.7.3",
|
|
58
|
-
vue: "~3.3.13",
|
|
59
|
-
"vue-tsc": "^2.0.6"
|
|
60
|
-
};
|
|
61
|
-
const packageConfig = {
|
|
62
|
-
name,
|
|
63
|
-
version,
|
|
64
|
-
main,
|
|
65
|
-
module,
|
|
66
|
-
types,
|
|
67
|
-
homepage,
|
|
68
|
-
author,
|
|
69
|
-
license,
|
|
70
|
-
repository,
|
|
71
|
-
keywords,
|
|
72
|
-
scripts,
|
|
73
|
-
dependencies,
|
|
74
|
-
peerDependencies,
|
|
75
|
-
devDependencies
|
|
76
|
-
};
|
|
77
|
-
export {
|
|
78
|
-
author,
|
|
79
|
-
packageConfig as default,
|
|
80
|
-
dependencies,
|
|
81
|
-
devDependencies,
|
|
82
|
-
homepage,
|
|
83
|
-
keywords,
|
|
84
|
-
license,
|
|
85
|
-
main,
|
|
86
|
-
module,
|
|
87
|
-
name,
|
|
88
|
-
peerDependencies,
|
|
89
|
-
repository,
|
|
90
|
-
scripts,
|
|
91
|
-
types,
|
|
92
|
-
version
|
|
93
|
-
};
|