@tencentcloud/roomkit-electron-vue3 2.3.3 → 2.4.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 (106) hide show
  1. package/es/components/ManageMember/MemberControl/index.vue.mjs +1 -1
  2. package/es/components/ManageMember/MemberControl/index.vue2.mjs +5 -4
  3. package/es/components/ManageMember/MemberControl/useMemberControlHooks.mjs +19 -4
  4. package/es/components/ManageMember/useIndexHooks.mjs +2 -1
  5. package/es/components/RoomFooter/ApplyControl/MemberApplyControl.vue.mjs +1 -1
  6. package/es/components/RoomFooter/ApplyControl/MemberApplyControl.vue2.mjs +2 -2
  7. package/es/components/RoomFooter/VirtualBackground.vue.mjs +1 -1
  8. package/es/components/RoomFooter/VirtualBackground.vue2.mjs +87 -27
  9. package/es/components/RoomFooter/index/index.vue.mjs +1 -1
  10. package/es/components/RoomFooter/index/index.vue2.mjs +0 -2
  11. package/es/components/RoomHeader/RoomInfo/useRoomInfoHooks.mjs +2 -2
  12. package/es/components/RoomHeader/index/LayoutControl.vue.mjs +1 -1
  13. package/es/components/RoomHeader/index/LayoutControl.vue2.mjs +1 -3
  14. package/es/components/RoomHeader/index/NetworkInfo.vue.mjs +1 -1
  15. package/es/components/RoomHeader/index/NetworkInfo.vue2.mjs +0 -2
  16. package/es/components/common/base/MessageBox/index.mjs +3 -1
  17. package/es/conference.d.ts +1 -1
  18. package/es/conference.vue.mjs +1 -1
  19. package/es/conference.vue2.mjs +1 -14
  20. package/es/constants/room.d.ts +3 -1
  21. package/es/extension/RoomMessageCard/RoomMessageCard.vue.mjs +1 -1
  22. package/es/extension/RoomMessageCard/RoomMessageCard.vue2.mjs +2 -2
  23. package/es/extension/chatExtension.mjs +1 -1
  24. package/es/hooks/useDeviceManager.d.ts +3 -1
  25. package/es/hooks/useMasterApplyControl.mjs +16 -10
  26. package/es/hooks/useRoomEngine.d.ts +3 -1
  27. package/es/index.d.ts +2 -1
  28. package/es/index.mjs +1494 -1437
  29. package/es/locales/en-US.d.ts +8 -7
  30. package/es/locales/en-US.mjs +8 -7
  31. package/es/locales/zh-CN.d.ts +10 -9
  32. package/es/locales/zh-CN.mjs +10 -9
  33. package/es/services/function/virtualBackground.d.ts +2 -0
  34. package/es/services/function/virtualBackground.mjs +19 -9
  35. package/es/services/function/waterMark.mjs +3 -0
  36. package/es/services/manager/componentManager.mjs +1 -1
  37. package/es/services/manager/roomActionManager.mjs +1 -1
  38. package/es/services/roomService.d.ts +3 -2
  39. package/es/stores/room.mjs +9 -1
  40. package/lib/components/ManageMember/MemberControl/index.vue.js +1 -1
  41. package/lib/components/ManageMember/MemberControl/index.vue2.js +4 -3
  42. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.js +19 -4
  43. package/lib/components/ManageMember/useIndexHooks.js +2 -1
  44. package/lib/components/RoomFooter/ApplyControl/MemberApplyControl.vue.js +1 -1
  45. package/lib/components/RoomFooter/ApplyControl/MemberApplyControl.vue2.js +2 -2
  46. package/lib/components/RoomFooter/VirtualBackground.vue.js +1 -1
  47. package/lib/components/RoomFooter/VirtualBackground.vue2.js +86 -26
  48. package/lib/components/RoomFooter/index/index.vue.js +1 -1
  49. package/lib/components/RoomFooter/index/index.vue2.js +0 -2
  50. package/lib/components/RoomHeader/RoomInfo/useRoomInfoHooks.js +2 -2
  51. package/lib/components/RoomHeader/index/LayoutControl.vue.js +1 -1
  52. package/lib/components/RoomHeader/index/LayoutControl.vue2.js +1 -3
  53. package/lib/components/RoomHeader/index/NetworkInfo.vue.js +1 -1
  54. package/lib/components/RoomHeader/index/NetworkInfo.vue2.js +0 -2
  55. package/lib/components/common/base/MessageBox/index.js +3 -1
  56. package/lib/conference.d.ts +1 -1
  57. package/lib/conference.vue.js +1 -1
  58. package/lib/conference.vue2.js +10 -23
  59. package/lib/constants/room.d.ts +3 -1
  60. package/lib/extension/RoomMessageCard/RoomMessageCard.vue.js +1 -1
  61. package/lib/extension/RoomMessageCard/RoomMessageCard.vue2.js +2 -2
  62. package/lib/extension/chatExtension.js +1 -1
  63. package/lib/hooks/useDeviceManager.d.ts +3 -1
  64. package/lib/hooks/useMasterApplyControl.js +16 -10
  65. package/lib/hooks/useRoomEngine.d.ts +3 -1
  66. package/lib/index.d.ts +2 -1
  67. package/lib/index.js +1493 -1436
  68. package/lib/locales/en-US.d.ts +8 -7
  69. package/lib/locales/en-US.js +8 -7
  70. package/lib/locales/zh-CN.d.ts +10 -9
  71. package/lib/locales/zh-CN.js +10 -9
  72. package/lib/services/function/virtualBackground.d.ts +2 -0
  73. package/lib/services/function/virtualBackground.js +19 -9
  74. package/lib/services/function/waterMark.js +3 -0
  75. package/lib/services/manager/componentManager.js +1 -1
  76. package/lib/services/manager/roomActionManager.js +1 -1
  77. package/lib/services/roomService.d.ts +3 -2
  78. package/lib/stores/room.js +9 -1
  79. package/package.json +2 -2
  80. package/src/TUIRoom/assets/style/global.scss +1 -1
  81. package/src/TUIRoom/components/ManageMember/MemberControl/index.vue +5 -4
  82. package/src/TUIRoom/components/ManageMember/MemberControl/useMemberControlHooks.ts +20 -5
  83. package/src/TUIRoom/components/ManageMember/useIndexHooks.ts +3 -2
  84. package/src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue +2 -2
  85. package/src/TUIRoom/components/RoomFooter/VirtualBackground.vue +100 -16
  86. package/src/TUIRoom/components/RoomFooter/index/index.vue +0 -3
  87. package/src/TUIRoom/components/RoomHeader/RoomInfo/useRoomInfoHooks.ts +2 -2
  88. package/src/TUIRoom/components/RoomHeader/index/LayoutControl.vue +0 -2
  89. package/src/TUIRoom/components/RoomHeader/index/NetworkInfo.vue +0 -2
  90. package/src/TUIRoom/components/common/base/MessageBox/index.ts +2 -1
  91. package/src/TUIRoom/conference.vue +6 -13
  92. package/src/TUIRoom/extension/RoomMessageCard/RoomMessageCard.vue +1 -1
  93. package/src/TUIRoom/extension/chatExtension.ts +1 -1
  94. package/src/TUIRoom/hooks/useMasterApplyControl.ts +15 -10
  95. package/src/TUIRoom/index.ts +2 -1
  96. package/src/TUIRoom/locales/en-US.ts +8 -7
  97. package/src/TUIRoom/locales/zh-CN.ts +10 -9
  98. package/src/TUIRoom/services/function/virtualBackground.ts +21 -9
  99. package/src/TUIRoom/services/function/waterMark.ts +6 -0
  100. package/src/TUIRoom/services/manager/componentManager.ts +1 -1
  101. package/src/TUIRoom/services/manager/roomActionManager.ts +1 -1
  102. package/src/TUIRoom/stores/room.ts +9 -1
  103. package/es/utils/aegis/config.mjs +0 -12
  104. package/es/utils/aegis/index.mjs +0 -63
  105. package/lib/utils/aegis/config.js +0 -12
  106. package/lib/utils/aegis/index.js +0 -63
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  import "./index.vue3.mjs";
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const MemberControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bee0d25c"]]);
4
+ const MemberControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4309b988"]]);
5
5
  export {
6
6
  MemberControl as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, ref, watch, unref, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, toDisplayString, createElementVNode, normalizeClass, withDirectives, Fragment, renderList, vShow, isRef, createCommentVNode } from "vue";
1
+ import { defineComponent, computed, ref, watch, unref, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, toDisplayString, createElementVNode, normalizeClass, withDirectives, Fragment, renderList, vShow, isRef, createCommentVNode, nextTick } from "vue";
2
2
  import { useI18n } from "../../../locales/index.mjs";
3
3
  import TuiButton from "../../common/base/Button.vue.mjs";
4
4
  import Dialog from "../../common/base/Dialog/index.vue.mjs";
@@ -39,15 +39,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39
39
  showMoreControl.value = false;
40
40
  }
41
41
  });
42
- function toggleClickMoreBtn() {
42
+ async function toggleClickMoreBtn() {
43
43
  if (showMoreControl.value) {
44
44
  showMoreControl.value = false;
45
45
  } else {
46
- handleDropDownPosition();
46
+ await handleDropDownPosition();
47
47
  showMoreControl.value = true;
48
48
  }
49
49
  }
50
- function handleDropDownPosition() {
50
+ async function handleDropDownPosition() {
51
51
  var _a, _b, _c;
52
52
  const { top, bottom } = (_a = moreBtnRef.value) == null ? void 0 : _a.getBoundingClientRect();
53
53
  const { top: containerTop, bottom: containerBottom } = (_b = document.getElementById("memberListContainer")) == null ? void 0 : _b.getBoundingClientRect();
@@ -59,6 +59,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
59
59
  let dropDownContainerHeight = 0;
60
60
  if (!showMoreControl.value) {
61
61
  operateListRef.value.style = "display:block;position:absolute;z-index:-1000";
62
+ await nextTick();
62
63
  dropDownContainerHeight = operateListRef.value.offsetHeight;
63
64
  operateListRef.value.style = "";
64
65
  } else {
@@ -33,7 +33,14 @@ function useMemberControl(props) {
33
33
  });
34
34
  const kickOffDialogContent = computed(() => t("whether to kick sb off the room", { name: props.userInfo.userName || props.userInfo.userId }));
35
35
  const transferOwnerTitle = computed(() => t("Transfer the roomOwner to sb", { name: props.userInfo.userName || props.userInfo.userId }));
36
- const { isFreeSpeakMode, isSpeakAfterTakingSeatMode, localUser, isGeneralUser } = storeToRefs(roomStore);
36
+ const {
37
+ isFreeSpeakMode,
38
+ isSpeakAfterTakingSeatMode,
39
+ localUser,
40
+ isGeneralUser,
41
+ anchorUserList,
42
+ maxSeatCount
43
+ } = storeToRefs(roomStore);
37
44
  const {
38
45
  agreeUserOnStage,
39
46
  denyUserOnStage,
@@ -109,13 +116,13 @@ function useMemberControl(props) {
109
116
  const transferOwner = computed(() => ({
110
117
  key: "transferOwner",
111
118
  icon: TransferOwnerIcon,
112
- title: t("Transfer owner"),
119
+ title: t("Make host"),
113
120
  func: () => handleOpenDialog("transferOwner")
114
121
  }));
115
122
  const setOrRevokeAdmin = computed(() => ({
116
123
  key: "setOrRevokeAdmin",
117
124
  icon: props.userInfo.userRole === TUIRole.kAdministrator ? RevokeAdminIcon : SetAdminIcon,
118
- title: props.userInfo.userRole === TUIRole.kAdministrator ? t("Revoke administrator") : t("Set as administrator"),
125
+ title: props.userInfo.userRole === TUIRole.kAdministrator ? t("Remove administrator") : t("Set as administrator"),
119
126
  func: handleSetOrRevokeAdmin
120
127
  }));
121
128
  const kickUser = computed(() => ({
@@ -143,6 +150,14 @@ function useMemberControl(props) {
143
150
  if (isInvitingUserToAnchor) {
144
151
  cancelInviteUserOnStage(userInfo);
145
152
  } else {
153
+ if (anchorUserList.value.length === maxSeatCount.value) {
154
+ renderMsg({
155
+ type: "warning",
156
+ message: `${t("The stage is full")}`,
157
+ duration: MESSAGE_DURATION.NORMAL
158
+ });
159
+ return;
160
+ }
146
161
  inviteUserOnStage(userInfo);
147
162
  }
148
163
  }
@@ -271,7 +286,7 @@ function useMemberControl(props) {
271
286
  } catch (error) {
272
287
  renderMsg({
273
288
  type: "error",
274
- message: t("Transfer owner failed, please try again."),
289
+ message: t("Make host failed, please try again."),
275
290
  duration: MESSAGE_DURATION.NORMAL
276
291
  });
277
292
  }
@@ -137,7 +137,8 @@ function useIndex() {
137
137
  }
138
138
  const applyToAnchorUserContent = computed(() => {
139
139
  var _a, _b;
140
- const userName = ((_a = applyToAnchorList.value[0]) == null ? void 0 : _a.userName) || ((_b = applyToAnchorList.value[0]) == null ? void 0 : _b.userId);
140
+ const lastIndex = applyToAnchorList.value.length - 1;
141
+ const userName = ((_a = applyToAnchorList.value[lastIndex]) == null ? void 0 : _a.userName) || ((_b = applyToAnchorList.value[lastIndex]) == null ? void 0 : _b.userId);
141
142
  if (applyToAnchorList.value.length === 1) {
142
143
  return `${userName} ${t("Applying for the stage")}`;
143
144
  }
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./MemberApplyControl.vue2.mjs";
2
2
  import "./MemberApplyControl.vue3.mjs";
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const MemberApplyControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-24ecea29"]]);
4
+ const MemberApplyControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-915fbd92"]]);
5
5
  export {
6
6
  MemberApplyControl as default
7
7
  };
@@ -107,7 +107,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
107
107
  renderMsg({ type: "warning", message: t("Application to go on stage was rejected") });
108
108
  break;
109
109
  case TUIRequestCallbackType.kRequestTimeout:
110
- renderMsg({ type: "warning", message: t("Failed to go on stage, invitation has timed out") });
110
+ renderMsg({ type: "warning", message: t("The request to go on stage has timed out") });
111
111
  break;
112
112
  }
113
113
  }
@@ -177,7 +177,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
177
177
  }));
178
178
  } catch (error) {
179
179
  if (error.code === TUIErrorCode.ERR_ALL_SEAT_OCCUPIED) {
180
- renderMsg({ type: "warning", message: t("The current number of people on stage has reached the limit") });
180
+ renderMsg({ type: "warning", message: t("The stage is full, please contact the host") });
181
181
  } else {
182
182
  logger.error("Failure of a user to accept/reject a roomOwner invitation", error);
183
183
  }
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./VirtualBackground.vue2.mjs";
2
2
  import "./VirtualBackground.vue3.mjs";
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const VirtualBackground = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f058868a"]]);
4
+ const VirtualBackground = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-46cc60bc"]]);
5
5
  export {
6
6
  VirtualBackground as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, unref, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, nextTick, pushScopeId, popScopeId } from "vue";
1
+ import { defineComponent, computed, ref, unref, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createCommentVNode, normalizeClass, toDisplayString, createTextVNode, nextTick } from "vue";
2
2
  import IconButton from "../common/base/IconButton.vue.mjs";
3
3
  import VirtualBackgroundIcon from "../common/icons/VirtualBackgroundIcon.vue.mjs";
4
4
  import { useI18n } from "../../locales/index.mjs";
@@ -10,46 +10,75 @@ import "../../services/manager/roomActionManager.mjs";
10
10
  import Dialog from "../common/base/Dialog/index.vue.mjs";
11
11
  import CloseVirtualBackground from "../../assets/imgs/close-virtual-background.png.mjs";
12
12
  import BlurredBackground from "../../assets/imgs/blurred-background.png.mjs";
13
- const _withScopeId = (n) => (pushScopeId("data-v-f058868a"), n = n(), popScopeId(), n);
13
+ import TuiButton from "../common/base/Button.vue.mjs";
14
14
  const _hoisted_1 = {
15
15
  key: 0,
16
16
  class: "virtualBackground-control-container"
17
17
  };
18
- const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", {
18
+ const _hoisted_2 = {
19
19
  id: "stream-preview",
20
20
  class: "stream-preview"
21
- }, null, -1));
22
- const _hoisted_3 = { class: "setting" };
23
- const _hoisted_4 = { class: "setting-item-icon" };
24
- const _hoisted_5 = ["src"];
21
+ };
22
+ const _hoisted_3 = {
23
+ key: 0,
24
+ class: "mask"
25
+ };
26
+ const _hoisted_4 = {
27
+ key: 1,
28
+ class: "spinner"
29
+ };
30
+ const _hoisted_5 = { class: "setting" };
25
31
  const _hoisted_6 = { class: "setting-item-icon" };
26
32
  const _hoisted_7 = ["src"];
33
+ const _hoisted_8 = { class: "setting-item-icon" };
34
+ const _hoisted_9 = ["src"];
35
+ const _hoisted_10 = { class: "footer" };
27
36
  const _sfc_main = /* @__PURE__ */ defineComponent({
28
37
  __name: "VirtualBackground",
29
38
  setup(__props) {
30
39
  const { t } = useI18n();
31
40
  const componentConfig = roomService.componentManager.getComponentConfig("VirtualBackground");
32
- const currentVirtualBackground = ref("close");
41
+ const isAllowed = computed(() => roomService.roomStore.localStream.hasVideoStream);
42
+ const appliedBackground = ref("close");
43
+ const selectedBackground = ref("close");
33
44
  const isDialogVisible = ref(false);
45
+ const isLoading = ref(false);
34
46
  const openSettingPanel = async () => {
35
47
  var _a;
36
48
  roomService.virtualBackground.initVirtualBackground();
37
49
  isDialogVisible.value = true;
50
+ isLoading.value = true;
38
51
  await nextTick();
39
- (_a = roomService.roomEngine.instance) == null ? void 0 : _a.startCameraDeviceTest({ view: "stream-preview" });
52
+ await ((_a = roomService.roomEngine.instance) == null ? void 0 : _a.startCameraDeviceTest({ view: "stream-preview" }));
53
+ await applyVirtualBackground(appliedBackground.value);
54
+ isLoading.value = false;
40
55
  };
41
- const closeSettingPanel = () => {
56
+ const closeSettingPanel = async () => {
42
57
  var _a;
43
58
  isDialogVisible.value = false;
44
59
  (_a = roomService.roomEngine.instance) == null ? void 0 : _a.stopCameraDeviceTest();
60
+ selectedBackground.value = appliedBackground.value;
45
61
  };
46
- const openBlurredBackground = () => {
47
- currentVirtualBackground.value = "blur";
48
- roomService.virtualBackground.toggleVirtualBackground(true);
62
+ const confirmVirtualBackground = async () => {
63
+ if (!isAllowed.value)
64
+ return;
65
+ appliedBackground.value = selectedBackground.value;
66
+ closeSettingPanel();
67
+ if (selectedBackground.value === "blur") {
68
+ await roomService.virtualBackground.toggleVirtualBackground(true);
69
+ }
70
+ if (selectedBackground.value === "close") {
71
+ await roomService.virtualBackground.toggleVirtualBackground(false);
72
+ }
49
73
  };
50
- const closeVirtualBackground = () => {
51
- currentVirtualBackground.value = "close";
52
- roomService.virtualBackground.toggleVirtualBackground(false);
74
+ const applyVirtualBackground = async (type) => {
75
+ isLoading.value = true;
76
+ try {
77
+ selectedBackground.value = type;
78
+ await roomService.virtualBackground.toggleTestVirtualBackground(type === "blur");
79
+ } finally {
80
+ isLoading.value = false;
81
+ }
53
82
  };
54
83
  return (_ctx, _cache) => {
55
84
  return unref(componentConfig).visible ? (openBlock(), createElementBlock("div", _hoisted_1, [
@@ -64,7 +93,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
64
93
  }, 8, ["title"]),
65
94
  createVNode(Dialog, {
66
95
  modelValue: isDialogVisible.value,
67
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isDialogVisible.value = $event),
96
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isDialogVisible.value = $event),
68
97
  title: unref(t)("VirtualBackground"),
69
98
  width: "600px",
70
99
  modal: true,
@@ -72,33 +101,64 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
72
101
  onClose: closeSettingPanel
73
102
  }, {
74
103
  default: withCtx(() => [
75
- _hoisted_2,
76
- createElementVNode("div", _hoisted_3, [
104
+ createElementVNode("div", _hoisted_2, [
105
+ isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_3)) : createCommentVNode("", true),
106
+ isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_4)) : createCommentVNode("", true)
107
+ ]),
108
+ createElementVNode("div", _hoisted_5, [
77
109
  createElementVNode("div", {
78
- class: normalizeClass(["setting-item", currentVirtualBackground.value === "close" ? "active" : ""]),
79
- onClick: closeVirtualBackground
110
+ class: normalizeClass([
111
+ "setting-item",
112
+ selectedBackground.value === "close" ? "active" : ""
113
+ ]),
114
+ onClick: _cache[0] || (_cache[0] = ($event) => applyVirtualBackground("close"))
80
115
  }, [
81
- createElementVNode("i", _hoisted_4, [
116
+ createElementVNode("i", _hoisted_6, [
82
117
  createElementVNode("img", {
83
118
  src: unref(CloseVirtualBackground),
84
119
  alt: "close",
85
120
  style: { "width": "32px" }
86
- }, null, 8, _hoisted_5)
121
+ }, null, 8, _hoisted_7)
87
122
  ]),
88
123
  createElementVNode("span", null, toDisplayString(unref(t)("Close")), 1)
89
124
  ], 2),
90
125
  createElementVNode("div", {
91
- class: normalizeClass(["setting-item", currentVirtualBackground.value === "blur" ? "active" : ""]),
92
- onClick: openBlurredBackground
126
+ class: normalizeClass([
127
+ "setting-item",
128
+ selectedBackground.value === "blur" ? "active" : ""
129
+ ]),
130
+ onClick: _cache[1] || (_cache[1] = ($event) => applyVirtualBackground("blur"))
93
131
  }, [
94
- createElementVNode("i", _hoisted_6, [
132
+ createElementVNode("i", _hoisted_8, [
95
133
  createElementVNode("img", {
96
134
  src: unref(BlurredBackground),
97
135
  alt: "blurred"
98
- }, null, 8, _hoisted_7)
136
+ }, null, 8, _hoisted_9)
99
137
  ]),
100
138
  createElementVNode("span", null, toDisplayString(unref(t)("BlurredBackground")), 1)
101
139
  ], 2)
140
+ ]),
141
+ createElementVNode("div", _hoisted_10, [
142
+ createVNode(TuiButton, {
143
+ class: "button",
144
+ disabled: !isAllowed.value,
145
+ onClick: confirmVirtualBackground
146
+ }, {
147
+ default: withCtx(() => [
148
+ createTextVNode(toDisplayString(unref(t)("Save")), 1)
149
+ ]),
150
+ _: 1
151
+ }, 8, ["disabled"]),
152
+ createVNode(TuiButton, {
153
+ class: "button",
154
+ type: "primary",
155
+ onClick: closeSettingPanel
156
+ }, {
157
+ default: withCtx(() => [
158
+ createTextVNode(toDisplayString(unref(t)("Cancel")), 1)
159
+ ]),
160
+ _: 1
161
+ })
102
162
  ])
103
163
  ]),
104
164
  _: 1
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  import "./index.vue3.mjs";
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const RoomFooter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0175eb1f"]]);
4
+ const RoomFooter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cc1a7a3e"]]);
5
5
  export {
6
6
  RoomFooter as default
7
7
  };
@@ -13,7 +13,6 @@ import EndControl from "../EndControl/index.vue.mjs";
13
13
  import _sfc_main$6 from "../SettingControl.vue.mjs";
14
14
  import VirtualBackground from "../VirtualBackground.vue.mjs";
15
15
  import bus from "../../../hooks/useMitt.mjs";
16
- import roomAegis from "../../../utils/aegis/index.mjs";
17
16
  import useRoomFooter from "./useRoomFooterHooks.mjs";
18
17
  const _hoisted_1 = { class: "footer-container" };
19
18
  const _hoisted_2 = { class: "left-container" };
@@ -29,7 +28,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
28
  isAudience
30
29
  } = useRoomFooter();
31
30
  function handleControlClick(name) {
32
- roomAegis.reportEvent({ name, ext1: name });
33
31
  bus.emit("experience-communication", name);
34
32
  }
35
33
  return (_ctx, _cache) => {
@@ -17,7 +17,7 @@ function useRoomInfo() {
17
17
  const basicStore = useBasicStore();
18
18
  const roomStore = useRoomStore();
19
19
  const { roomId, isRoomLinkVisible } = storeToRefs(basicStore);
20
- const { masterUserId } = storeToRefs(roomStore);
20
+ const { masterUserId, roomName } = storeToRefs(roomStore);
21
21
  const { t } = useI18n();
22
22
  const isShowRoomInfo = ref(false);
23
23
  const roomType = computed(() => roomStore.isFreeSpeakMode ? t("Free Speech Room") : t("On-stage Speaking Room"));
@@ -25,7 +25,7 @@ function useRoomInfo() {
25
25
  const roomLinkConfig = roomService.getComponentConfig("RoomLink");
26
26
  const masterUserName = computed(() => roomStore.getUserName(masterUserId.value) || masterUserId.value);
27
27
  const isShowRoomInfoTitle = computed(() => masterUserName.value);
28
- const conferenceTitle = computed(() => `${masterUserName.value}${t("Quick Meeting")}`);
28
+ const conferenceTitle = computed(() => `${roomName.value}`);
29
29
  const roomInfoTabList = computed(() => [
30
30
  { id: 1, title: "Host", content: masterUserName.value, copyLink: "", isShowCopyIcon: false, visible: true },
31
31
  { id: 2, title: "Room Type", content: roomType.value, copyLink: "", isShowCopyIcon: false, visible: true },
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./LayoutControl.vue2.mjs";
2
2
  import "./LayoutControl.vue3.mjs";
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const LayoutControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-80cb6f9f"]]);
4
+ const LayoutControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7afa85d3"]]);
5
5
  export {
6
6
  LayoutControl as default
7
7
  };
@@ -3,7 +3,6 @@ import { LAYOUT } from "../../../constants/render.mjs";
3
3
  import { useBasicStore } from "../../../stores/basic.mjs";
4
4
  import { useRoomStore } from "../../../stores/room.mjs";
5
5
  import { storeToRefs } from "pinia";
6
- import roomAegis from "../../../utils/aegis/index.mjs";
7
6
  import { useI18n } from "../../../locales/index.mjs";
8
7
  import { IconButtonLayout } from "../../../constants/room.mjs";
9
8
  import IconButton from "../../common/base/IconButton.vue.mjs";
@@ -14,7 +13,7 @@ import { roomService } from "../../../services/roomService.mjs";
14
13
  import "@tencentcloud/tuiroom-engine-electron";
15
14
  import "mitt";
16
15
  import "../../../services/manager/roomActionManager.mjs";
17
- const _withScopeId = (n) => (pushScopeId("data-v-80cb6f9f"), n = n(), popScopeId(), n);
16
+ const _withScopeId = (n) => (pushScopeId("data-v-7afa85d3"), n = n(), popScopeId(), n);
18
17
  const _hoisted_1 = {
19
18
  key: 0,
20
19
  class: "layout-container"
@@ -46,7 +45,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
45
  const layoutControlConfig = roomService.getComponentConfig("LayoutControl");
47
46
  function handleClick(layout2) {
48
47
  basicStore.setLayout(layout2);
49
- roomAegis.reportEvent({ name: "layout", ext1: layout2 });
50
48
  }
51
49
  function handleClickLayoutIcon() {
52
50
  if (isStreamNumberLessThanTwo.value) {
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./NetworkInfo.vue2.mjs";
2
2
  import "./NetworkInfo.vue3.mjs";
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const NetworkInfo = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7764fd2c"]]);
4
+ const NetworkInfo = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4b8a18b9"]]);
5
5
  export {
6
6
  NetworkInfo as default
7
7
  };
@@ -1,7 +1,6 @@
1
1
  import { defineComponent, ref, reactive, shallowRef, watchEffect, onUnmounted, withDirectives, openBlock, createElementBlock, createVNode, unref, withCtx, createElementVNode, normalizeClass, toDisplayString, createCommentVNode } from "vue";
2
2
  import { useBasicStore } from "../../../stores/basic.mjs";
3
3
  import { storeToRefs } from "pinia";
4
- import roomAegis from "../../../utils/aegis/index.mjs";
5
4
  import { useI18n } from "../../../locales/index.mjs";
6
5
  import TUIRoomEngine, { TUINetworkQuality, TUIRoomEvents } from "@tencentcloud/tuiroom-engine-electron";
7
6
  import useGetRoomEngine from "../../../hooks/useRoomEngine.mjs";
@@ -65,7 +64,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
65
64
  });
66
65
  function handleClickNetworkIcon() {
67
66
  showNetworkInfo.value = !showNetworkInfo.value;
68
- roomAegis.reportEvent({ name: "networkInfo", ext1: "networkInfo" });
69
67
  }
70
68
  function handleClickOutSide() {
71
69
  if (showNetworkInfo.value) {
@@ -2,7 +2,9 @@ import { createVNode, render } from "vue";
2
2
  import TUIMessageBox from "./index.vue.mjs";
3
3
  const MessageBox = ({ title, message, callback, confirmButtonText }) => {
4
4
  const container = document.createElement("div");
5
- const fullscreenElement = document.fullscreenElement || document.getElementById("roomContainer") || document.body;
5
+ const fullscreenElement = document.fullscreenElement || document.getElementById("roomContainer") || document.getElementById("pre-conference-container");
6
+ if (!fullscreenElement)
7
+ return;
6
8
  fullscreenElement.appendChild(container);
7
9
  const onRemove = () => {
8
10
  render(null, container);
@@ -55,7 +55,7 @@ declare class Conference implements IConference {
55
55
  tim?: ChatSDK;
56
56
  }): Promise<void>;
57
57
  logout(): Promise<void>;
58
- getRoomEngine(): any;
58
+ getRoomEngine(): TUIRoomEngine | null;
59
59
  on(eventType: RoomEvent, callback: () => any): void;
60
60
  off(eventType: RoomEvent, callback: () => void): void;
61
61
  start(roomId: string, params?: StartParams): Promise<void>;
@@ -2,7 +2,7 @@ import _sfc_main from "./conference.vue2.mjs";
2
2
  import "./conference.vue3.mjs";
3
3
  import "./conference.vue4.mjs";
4
4
  import _export_sfc from "./_virtual/_plugin-vue_export-helper.mjs";
5
- const ConferenceMainView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a415c478"]]);
5
+ const ConferenceMainView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-66f598bb"]]);
6
6
  export {
7
7
  ConferenceMainView as default
8
8
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, onMounted, onUnmounted, watch, ref, openBlock, createElementBlock, normalizeClass, withDirectives, createVNode, vShow, unref, createCommentVNode } from "vue";
1
+ import { defineComponent, computed, onMounted, onUnmounted, ref, watch, openBlock, createElementBlock, normalizeClass, withDirectives, createVNode, vShow, unref, createCommentVNode } from "vue";
2
2
  import RoomHeader from "./components/RoomHeader/index/index.vue.mjs";
3
3
  import RoomFooter from "./components/RoomFooter/index/index.vue.mjs";
4
4
  import _sfc_main$1 from "./components/RoomSidebar/index.vue.mjs";
@@ -8,7 +8,6 @@ import { debounce, throttle } from "./utils/utils.mjs";
8
8
  import { useBasicStore } from "./stores/basic.mjs";
9
9
  import { isMobile, isWeChat } from "./utils/environment.mjs";
10
10
  import vTap from "./directives/vTap.mjs";
11
- import roomAegis from "./utils/aegis/index.mjs";
12
11
  import MessageBox from "./components/common/base/MessageBox/index.mjs";
13
12
  import renderMsg from "./components/common/base/Message/Message.mjs";
14
13
  import "./services/main.mjs";
@@ -101,18 +100,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
100
  roomService.resetStore();
102
101
  });
103
102
  const { sdkAppId, showHeaderTool } = roomService.basicStore;
104
- watch(
105
- () => sdkAppId,
106
- (val) => {
107
- if (val) {
108
- roomAegis.setSdkAppId(val);
109
- roomAegis.reportEvent({
110
- name: "loaded",
111
- ext1: "loaded-success"
112
- });
113
- }
114
- }
115
- );
116
103
  const tuiRoomClass = computed(() => {
117
104
  const roomClassList = ["tui-room", `tui-theme-${roomService.basicStore.defaultTheme}`];
118
105
  if (isMobile) {
@@ -1,3 +1,5 @@
1
+ import { TRTCVideoResolution } from '@tencentcloud/tuiroom-engine-electron';
2
+
1
3
  export declare enum SpeechMode {
2
4
  FREE_SPEECH = "FreeSpeech",
3
5
  APPLY_SPEECH = "ApplySpeech"
@@ -13,7 +15,7 @@ export declare enum MediaDeviceState {
13
15
  UNAVAILABLE = "UNAVAILABLE"
14
16
  }
15
17
  export declare const SMALL_VIDEO_ENC_PARAM: {
16
- videoResolution: any;
18
+ videoResolution: TRTCVideoResolution;
17
19
  videoFps: number;
18
20
  videoBitrate: number;
19
21
  };
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./RoomMessageCard.vue2.mjs";
2
2
  import "./RoomMessageCard.vue3.mjs";
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const RoomMessageCard = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1ec3d8c6"]]);
4
+ const RoomMessageCard = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-95ab4274"]]);
5
5
  export {
6
6
  RoomMessageCard as default
7
7
  };
@@ -2,7 +2,7 @@ import { defineComponent, ref, watchEffect, computed, openBlock, createElementBl
2
2
  import { RoomState, chatExtension } from "../chatExtension.mjs";
3
3
  import { HandleRoomMessage } from "./handleRoomMessage.mjs";
4
4
  import { useI18n } from "../../locales/index.mjs";
5
- const _withScopeId = (n) => (pushScopeId("data-v-1ec3d8c6"), n = n(), popScopeId(), n);
5
+ const _withScopeId = (n) => (pushScopeId("data-v-95ab4274"), n = n(), popScopeId(), n);
6
6
  const _hoisted_1 = { class: "content" };
7
7
  const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "icon" }, null, -1));
8
8
  const _hoisted_3 = { key: 0 };
@@ -167,7 +167,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
167
167
  unref(RoomState).CREATED === roomCardData.value.roomState ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(unref(t)("Meeting in progress")), 1)) : (openBlock(), createElementBlock("p", _hoisted_4, toDisplayString(unref(t)("Meeting")), 1))
168
168
  ], 2),
169
169
  createElementVNode("div", _hoisted_5, [
170
- createElementVNode("div", _hoisted_6, toDisplayString(`${roomCardData.value.ownerName || roomCardData.value.owner}${unref(t)("Quick Meeting")}`), 1),
170
+ createElementVNode("div", _hoisted_6, toDisplayString(`${roomCardData.value.ownerName || roomCardData.value.owner}${unref(t)("Quick Conference")}`), 1),
171
171
  createElementVNode("ul", _hoisted_7, [
172
172
  (openBlock(true), createElementBlock(Fragment, null, renderList(roomCardData.value.userList, (user, index) => {
173
173
  return openBlock(), createElementBlock(Fragment, {
@@ -208,7 +208,7 @@ const _ChatExtension = class _ChatExtension {
208
208
  const chatType = params == null ? void 0 : params.chatType;
209
209
  const extension = {
210
210
  weight: -1,
211
- text: ((_a = this.service) == null ? void 0 : _a.t("quick meeting")) || "快速会议",
211
+ text: ((_a = this.service) == null ? void 0 : _a.t("quick conference")) || "快速会议",
212
212
  icon: "https://qcloudimg.tencent-cloud.cn/raw/148ab10dfe654076b41f0d0945bb82e8.png",
213
213
  data: {
214
214
  name: "quickRoom"
@@ -1,8 +1,10 @@
1
+ import { TUIRoomDeviceManager } from '@tencentcloud/tuiroom-engine-electron';
2
+
1
3
  export default function (options?: {
2
4
  listenForDeviceChange: boolean;
3
5
  }): {
4
6
  deviceManager: {
5
- instance: any;
7
+ instance: TUIRoomDeviceManager | null | undefined;
6
8
  };
7
9
  initMediaDeviceList: () => Promise<void>;
8
10
  };