@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
@@ -38,7 +38,7 @@ declare const _default: {
38
38
  'Join Room': string;
39
39
  'Enter room ID': string;
40
40
  'video conferencing': string;
41
- 'Quick Meeting': string;
41
+ 'Quick Conference': string;
42
42
  'Room ID': string;
43
43
  'Low Definition': string;
44
44
  'Standard Definition': string;
@@ -71,9 +71,9 @@ declare const _default: {
71
71
  'Full screen': string;
72
72
  Members: string;
73
73
  'Search Member': string;
74
- 'Transfer owner': string;
74
+ 'Make host': string;
75
75
  'Set as administrator': string;
76
- 'Revoke administrator': string;
76
+ 'Remove administrator': string;
77
77
  'The administrator status of sb has been withdrawn': ({ named }: {
78
78
  named: any;
79
79
  }) => string;
@@ -262,7 +262,7 @@ declare const _default: {
262
262
  'An invitation to open the camera has been sent to sb.': ({ named }: {
263
263
  named: any;
264
264
  }) => string;
265
- 'Transfer owner failed, please try again.': string;
265
+ 'Make host failed, please try again.': string;
266
266
  'Sb has been set as an administrator': ({ named }: {
267
267
  named: any;
268
268
  }) => string;
@@ -286,8 +286,7 @@ declare const _default: {
286
286
  'You are now an administrator': string;
287
287
  'The RoomOwner has withdrawn your administrator privileges': string;
288
288
  'This member has already received the same request, please try again later': string;
289
- 'Failed to go on stage, invitation has timed out': string;
290
- 'The current number of people on stage has reached the limit': string;
289
+ 'The request to go on stage has timed out': string;
291
290
  'The invitation to sb to go on stage has timed out': ({ named }: {
292
291
  named: any;
293
292
  }) => string;
@@ -306,7 +305,9 @@ declare const _default: {
306
305
  'and so on number people applying to stage': ({ named }: {
307
306
  named: any;
308
307
  }) => string;
309
- 'quick meeting': string;
308
+ 'The stage is full, please contact the host': string;
309
+ 'The stage is full': string;
310
+ 'quick conference': string;
310
311
  Meeting: string;
311
312
  'Meeting in progress': string;
312
313
  Initiating: string;
@@ -38,7 +38,7 @@ const EN = {
38
38
  "Join Room": "Join Room",
39
39
  "Enter room ID": "Enter room ID",
40
40
  "video conferencing": " 's video conferencing",
41
- "Quick Meeting": " 's Quick Meeting",
41
+ "Quick Conference": " 's Quick Conference",
42
42
  "Room ID": "Room ID",
43
43
  "Low Definition": "Low Definition",
44
44
  "Standard Definition": "Standard Definition",
@@ -71,9 +71,9 @@ const EN = {
71
71
  "Full screen": "Full screen",
72
72
  Members: "Members",
73
73
  "Search Member": "Search Member",
74
- "Transfer owner": "Transfer owner",
74
+ "Make host": "Make host",
75
75
  "Set as administrator": "Set as administrator",
76
- "Revoke administrator": "Revoke administrator",
76
+ "Remove administrator": "Remove administrator",
77
77
  // @ts-ignore
78
78
  "The administrator status of sb has been withdrawn": ({ named }) => `The administrator status of ${named("name")} has been withdrawn`,
79
79
  // @ts-ignore
@@ -252,7 +252,7 @@ const EN = {
252
252
  "An invitation to open the microphone has been sent to sb.": ({ named }) => `An invitation to open the microphone has been sent to ${named("name")}`,
253
253
  // @ts-ignore
254
254
  "An invitation to open the camera has been sent to sb.": ({ named }) => `An invitation to open the camera has been sent to ${named("name")}`,
255
- "Transfer owner failed, please try again.": "Transfer owner failed, please try again.",
255
+ "Make host failed, please try again.": "Make host failed, please try again.",
256
256
  // @ts-ignore
257
257
  "Sb has been set as an administrator": ({ named }) => `${named("name")} has been set as an administrator.`,
258
258
  "Succeed on stage": "Succeed on stage",
@@ -273,8 +273,7 @@ const EN = {
273
273
  "You are now an administrator": "You are now an administrator",
274
274
  "The RoomOwner has withdrawn your administrator privileges": "The RoomOwner has withdrawn your administrator privileges",
275
275
  "This member has already received the same request, please try again later": "This member has already received the same request, please try again later",
276
- "Failed to go on stage, invitation has timed out": "Failed to go on stage, invitation has timed out",
277
- "The current number of people on stage has reached the limit": "The current number of people on stage has reached the limit",
276
+ "The request to go on stage has timed out": "The request to go on stage has timed out",
278
277
  // @ts-ignore
279
278
  "The invitation to sb to go on stage has timed out": ({ named }) => `The invitation to ${named("name")} to go on stage has timed out`,
280
279
  "Currently no member has applied to go on stage": "Currently no member has applied to go on stage",
@@ -291,8 +290,10 @@ const EN = {
291
290
  "people applying to stage": "people applying to stage",
292
291
  // @ts-ignore
293
292
  "and so on number people applying to stage": ({ named }) => `and so on ${named("number")} people applying to stage`,
293
+ "The stage is full, please contact the host": "The stage is full, please contact the host",
294
+ "The stage is full": "The stage is full",
294
295
  // Room Chat Fusion Card Translation
295
- "quick meeting": "quick meeting",
296
+ "quick conference": "quick conference",
296
297
  Meeting: "Meeting",
297
298
  "Meeting in progress": "Meeting in progress",
298
299
  Initiating: "Initiating",
@@ -35,7 +35,7 @@ declare const _default: {
35
35
  'Join Room': string;
36
36
  'Enter room ID': string;
37
37
  'video conferencing': string;
38
- 'Quick Meeting': string;
38
+ 'Quick Conference': string;
39
39
  'Room ID': string;
40
40
  'Low Definition': string;
41
41
  'Standard Definition': string;
@@ -68,9 +68,9 @@ declare const _default: {
68
68
  'Full screen': string;
69
69
  Members: string;
70
70
  'Search Member': string;
71
- 'Transfer owner': string;
71
+ 'Make host': string;
72
72
  'Set as administrator': string;
73
- 'Revoke administrator': string;
73
+ 'Remove administrator': string;
74
74
  'The administrator status of sb has been withdrawn': ({ named }: {
75
75
  named: any;
76
76
  }) => string;
@@ -226,10 +226,10 @@ declare const _default: {
226
226
  'kicked out of the room by the host': string;
227
227
  'kicked out of the room by other device': string;
228
228
  'kicked out of the room by serve': string;
229
- 'Reject sb stage failed, please retry': ({ named }: {
229
+ 'Reject sb on stage failed, please retry': ({ named }: {
230
230
  named: any;
231
231
  }) => string;
232
- 'Agree sb stage failed, please retry': ({ named }: {
232
+ 'Agree sb on stage failed, please retry': ({ named }: {
233
233
  named: any;
234
234
  }) => string;
235
235
  'Has been fully muted and cannot open the microphone': string;
@@ -262,7 +262,7 @@ declare const _default: {
262
262
  'An invitation to open the camera has been sent to sb.': ({ named }: {
263
263
  named: any;
264
264
  }) => string;
265
- 'Transfer owner failed, please try again.': string;
265
+ 'Make host failed, please try again.': string;
266
266
  'Sb has been set as an administrator': ({ named }: {
267
267
  named: any;
268
268
  }) => string;
@@ -286,8 +286,7 @@ declare const _default: {
286
286
  'You are now an administrator': string;
287
287
  'The RoomOwner has withdrawn your administrator privileges': string;
288
288
  'This member has already received the same request, please try again later': string;
289
- 'Failed to go on stage, invitation has timed out': string;
290
- 'The current number of people on stage has reached the limit': string;
289
+ 'The request to go on stage has timed out': string;
291
290
  'The invitation to sb to go on stage has timed out': ({ named }: {
292
291
  named: any;
293
292
  }) => string;
@@ -306,7 +305,9 @@ declare const _default: {
306
305
  'and so on number people applying to stage': ({ named }: {
307
306
  named: any;
308
307
  }) => string;
309
- 'quick meeting': string;
308
+ 'The stage is full, please contact the host': string;
309
+ 'The stage is full': string;
310
+ 'quick conference': string;
310
311
  Meeting: string;
311
312
  'Meeting in progress': string;
312
313
  Initiating: string;
@@ -35,7 +35,7 @@ const ZH = {
35
35
  "Join Room": "进入房间",
36
36
  "Enter room ID": "输入房间号",
37
37
  "video conferencing": " 的视频会议",
38
- "Quick Meeting": "的快速会议",
38
+ "Quick Conference": "的快速会议",
39
39
  "Room ID": "房间号",
40
40
  "Low Definition": "流畅",
41
41
  "Standard Definition": "标清",
@@ -68,9 +68,9 @@ const ZH = {
68
68
  "Full screen": "全屏",
69
69
  Members: "成员",
70
70
  "Search Member": "搜索成员",
71
- "Transfer owner": "转交房主",
71
+ "Make host": "转交房主",
72
72
  "Set as administrator": "设为管理员",
73
- "Revoke administrator": "撤销管理员",
73
+ "Remove administrator": "撤销管理员",
74
74
  // @ts-ignore
75
75
  "The administrator status of sb has been withdrawn": ({ named }) => `已将 ${named("name")} 的管理员身份撤回`,
76
76
  // @ts-ignore
@@ -222,9 +222,9 @@ const ZH = {
222
222
  "kicked out of the room by other device": "相同账号在其他客户端进入房间",
223
223
  "kicked out of the room by serve": "被服务端踢出房间",
224
224
  // @ts-ignore
225
- "Reject sb stage failed, please retry": ({ named }) => `拒绝 ${named("name")} 上台失败, 请重试`,
225
+ "Reject sb on stage failed, please retry": ({ named }) => `拒绝 ${named("name")} 上台失败, 请重试`,
226
226
  // @ts-ignore
227
- "Agree sb stage failed, please retry": ({ named }) => `同意 ${named("name")} 上台失败, 请重试`,
227
+ "Agree sb on stage failed, please retry": ({ named }) => `同意 ${named("name")} 上台失败, 请重试`,
228
228
  "Has been fully muted and cannot open the microphone": "已被全员静音,无法打开麦克风",
229
229
  "Has been muted by the host and cannot open the microphone": "已被主持人静音,无法打开麦克风",
230
230
  "To apply to speak in the room, please raise your hand first to apply for the microphone": "申请发言房间,请先举手申请上麦",
@@ -252,7 +252,7 @@ const ZH = {
252
252
  "An invitation to open the microphone has been sent to sb.": ({ named }) => `已向 ${named("name")} 发出开启麦克风邀请`,
253
253
  // @ts-ignore
254
254
  "An invitation to open the camera has been sent to sb.": ({ named }) => `已向 ${named("name")} 发出开启摄像头邀请`,
255
- "Transfer owner failed, please try again.": "转交房主失败,请重试",
255
+ "Make host failed, please try again.": "转交房主失败,请重试",
256
256
  // @ts-ignore
257
257
  "Sb has been set as an administrator": ({ named }) => `已将 ${named("name")} 设为管理员`,
258
258
  "Succeed on stage": "上台成功",
@@ -273,8 +273,7 @@ const ZH = {
273
273
  "You are now an administrator": "您已成为管理员",
274
274
  "The RoomOwner has withdrawn your administrator privileges": "房主已收回您的管理员权限",
275
275
  "This member has already received the same request, please try again later": "该成员已收到相同请求,请稍后再试",
276
- "Failed to go on stage, invitation has timed out": "上台失败,邀请已超时",
277
- "The current number of people on stage has reached the limit": "当前上台人数已达上限",
276
+ "The request to go on stage has timed out": "上台请求已超时",
278
277
  // @ts-ignore
279
278
  "The invitation to sb to go on stage has timed out": ({ named }) => `对${named("name")}的上台邀请已超时`,
280
279
  "Currently no member has applied to go on stage": "暂无成员申请上台",
@@ -291,8 +290,10 @@ const ZH = {
291
290
  "people applying to stage": "人正在申请上台",
292
291
  // @ts-ignore
293
292
  "and so on number people applying to stage": ({ named }) => `等 ${named("number")} 人正在申请上台`,
293
+ "The stage is full, please contact the host": "台上人数已满,请联系主持人",
294
+ "The stage is full": "台上人数已满",
294
295
  // Room Chat Fusion Card Translation
295
- "quick meeting": "快速会议",
296
+ "quick conference": "快速会议",
296
297
  Meeting: "会议",
297
298
  "Meeting in progress": "会议 进行中",
298
299
  Initiating: "正在发起",
@@ -4,6 +4,7 @@ interface IVirtualBackground {
4
4
  dispose(): void;
5
5
  initVirtualBackground(): Promise<void>;
6
6
  toggleVirtualBackground(enabled: boolean): Promise<void>;
7
+ toggleTestVirtualBackground(enabled: boolean): Promise<void>;
7
8
  }
8
9
  export declare class VirtualBackground implements IVirtualBackground {
9
10
  private service;
@@ -15,5 +16,6 @@ export declare class VirtualBackground implements IVirtualBackground {
15
16
  dispose(): void;
16
17
  initVirtualBackground(): Promise<void>;
17
18
  toggleVirtualBackground(enabled: boolean): Promise<void>;
19
+ toggleTestVirtualBackground(enabled: boolean): Promise<void>;
18
20
  }
19
21
  export {};
@@ -11,6 +11,7 @@ class VirtualBackground {
11
11
  __publicField(this, "virtualBackgroundPluginReady", false);
12
12
  __publicField(this, "handleUnmount", async () => {
13
13
  await this.toggleVirtualBackground(false);
14
+ await this.toggleTestVirtualBackground(false);
14
15
  });
15
16
  this.service = service;
16
17
  if (isElectron)
@@ -36,15 +37,24 @@ class VirtualBackground {
36
37
  async toggleVirtualBackground(enabled) {
37
38
  await this.initVirtualBackground();
38
39
  const { sdkAppId, userId, userSig } = this.service.basicStore;
39
- await this.trtcCloud.callExperimentalAPI(JSON.stringify({
40
- api: "enableVirtualBackground",
41
- params: {
42
- sdkAppId,
43
- userId,
44
- userSig,
45
- enable: enabled
46
- }
47
- }));
40
+ const params = {
41
+ sdkAppId,
42
+ userId,
43
+ userSig,
44
+ enable: enabled
45
+ };
46
+ await this.trtcCloud.callExperimentalAPI(JSON.stringify({ api: "enableVirtualBackground", params }));
47
+ }
48
+ async toggleTestVirtualBackground(enabled) {
49
+ await this.initVirtualBackground();
50
+ const { sdkAppId, userId, userSig } = this.service.basicStore;
51
+ const params = {
52
+ sdkAppId,
53
+ userId,
54
+ userSig,
55
+ enable: enabled
56
+ };
57
+ await this.trtcCloud.callExperimentalAPI(JSON.stringify({ api: "enableTestVirtualBackground", params }));
48
58
  }
49
59
  }
50
60
  export {
@@ -77,6 +77,7 @@ class WaterMark {
77
77
  watermarkContainer.classList.add("watermark-container");
78
78
  targetElement.appendChild(watermarkContainer);
79
79
  const addWatermarkElements = () => {
80
+ watermarkContainer.innerHTML = "";
80
81
  const maxWidth = 200;
81
82
  const watermarkSpacing = maxWidth + 25;
82
83
  for (let y = -watermarkSpacing; y < watermarkContainer.offsetHeight + watermarkSpacing; y += watermarkSpacing) {
@@ -91,6 +92,8 @@ class WaterMark {
91
92
  }
92
93
  };
93
94
  addWatermarkElements();
95
+ const resizeObserver = new ResizeObserver(addWatermarkElements);
96
+ resizeObserver.observe(watermarkContainer);
94
97
  const observerCallback = (mutations, observer) => {
95
98
  mutations.forEach((mutation) => {
96
99
  if (mutation.removedNodes.length > 0) {
@@ -33,7 +33,7 @@ const defaultConfig = {
33
33
  ManageMemberControl: { visible: true },
34
34
  InviteControl: { visible: true },
35
35
  ChatControl: { visible: true },
36
- MoreControl: { visible: true },
36
+ MoreControl: { visible: false },
37
37
  VirtualBackground: { visible: false }
38
38
  };
39
39
  const _ComponentManager = class _ComponentManager {
@@ -102,7 +102,7 @@ class RoomActionManager {
102
102
  const { roomId, roomName, roomMode } = options;
103
103
  const roomParams = {
104
104
  roomId,
105
- name: roomName,
105
+ roomName,
106
106
  roomType: TUIRoomType.kConference,
107
107
  isSeatEnabled: roomMode !== "FreeToSpeak",
108
108
  seatMode: roomMode === "SpeakAfterTakingSeat" ? TUISeatMode.kApplyToTake : void 0
@@ -5,9 +5,10 @@ import { LifeCycleManager } from './manager/lifeCycleManager';
5
5
  import { SelfInfoOptions, UserManager } from './manager/userManager';
6
6
  import { ConfigManager, LanguageOption, ThemeOption } from './manager/configManager';
7
7
  import { ComponentConfig, ComponentManager, ComponentName } from './manager/componentManager';
8
+ import { default as TUIRoomEngine } from '@tencentcloud/tuiroom-engine-electron';
8
9
  import { EventType, IRoomService, RoomInitData, RoomParam } from './types';
9
10
 
10
- export declare const roomEngine: Record<string, any>;
11
+ export declare const roomEngine: Record<string, TUIRoomEngine | null>;
11
12
  export declare class RoomService implements IRoomService {
12
13
  static instance?: RoomService;
13
14
  private emitter;
@@ -18,7 +19,7 @@ export declare class RoomService implements IRoomService {
18
19
  roomActionManager: RoomActionManager;
19
20
  waterMark: WaterMark;
20
21
  virtualBackground: VirtualBackground;
21
- roomEngine: Record<string, any>;
22
+ roomEngine: Record<string, TUIRoomEngine | null>;
22
23
  t: any;
23
24
  get basicStore(): any;
24
25
  get roomStore(): any;
@@ -55,6 +55,8 @@ const useRoomStore = defineStore("room", {
55
55
  seatMode: TUISeatMode.kFreeToTake,
56
56
  maxMembersCount: 5,
57
57
  // Includes local streams and screen shares, above which subsequent streams are played
58
+ maxSeatCount: 20,
59
+ roomName: "",
58
60
  hasVideoStreamObject: {},
59
61
  // Visual area user flow list
60
62
  currentStreamIdListInVisibleView: [],
@@ -425,7 +427,9 @@ const useRoomStore = defineStore("room", {
425
427
  isCameraDisableForAllUser,
426
428
  isMessageDisableForAllUser,
427
429
  isSeatEnabled,
428
- seatMode
430
+ seatMode,
431
+ maxSeatCount,
432
+ roomName
429
433
  } = roomInfo;
430
434
  if (this.localUser.userId === roomOwner) {
431
435
  this.localUser.userRole = TUIRole.kRoomOwner;
@@ -438,6 +442,8 @@ const useRoomStore = defineStore("room", {
438
442
  this.seatMode = seatMode;
439
443
  this.canControlSelfAudio = !this.isMicrophoneDisableForAllUser;
440
444
  this.canControlSelfVideo = !this.isCameraDisableForAllUser;
445
+ this.maxSeatCount = maxSeatCount;
446
+ this.roomName = roomName;
441
447
  },
442
448
  setDisableMicrophoneForAllUserByAdmin(isDisable) {
443
449
  this.isMicrophoneDisableForAllUser = isDisable;
@@ -643,6 +649,8 @@ const useRoomStore = defineStore("room", {
643
649
  this.hasVideoStreamObject = {};
644
650
  this.hasOtherScreenShare = false;
645
651
  this.isOnStateTabActive = true;
652
+ this.maxSeatCount = 20;
653
+ this.roomName = "";
646
654
  }
647
655
  }
648
656
  });
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
4
4
  require("./index.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const MemberControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-bee0d25c"]]);
6
+ const MemberControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4309b988"]]);
7
7
  exports.default = MemberControl;
@@ -41,15 +41,15 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
41
41
  showMoreControl.value = false;
42
42
  }
43
43
  });
44
- function toggleClickMoreBtn() {
44
+ async function toggleClickMoreBtn() {
45
45
  if (showMoreControl.value) {
46
46
  showMoreControl.value = false;
47
47
  } else {
48
- handleDropDownPosition();
48
+ await handleDropDownPosition();
49
49
  showMoreControl.value = true;
50
50
  }
51
51
  }
52
- function handleDropDownPosition() {
52
+ async function handleDropDownPosition() {
53
53
  var _a, _b, _c;
54
54
  const { top, bottom } = (_a = moreBtnRef.value) == null ? void 0 : _a.getBoundingClientRect();
55
55
  const { top: containerTop, bottom: containerBottom } = (_b = document.getElementById("memberListContainer")) == null ? void 0 : _b.getBoundingClientRect();
@@ -61,6 +61,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
61
61
  let dropDownContainerHeight = 0;
62
62
  if (!showMoreControl.value) {
63
63
  operateListRef.value.style = "display:block;position:absolute;z-index:-1000";
64
+ await Vue.nextTick();
64
65
  dropDownContainerHeight = operateListRef.value.offsetHeight;
65
66
  operateListRef.value.style = "";
66
67
  } else {
@@ -35,7 +35,14 @@ function useMemberControl(props) {
35
35
  });
36
36
  const kickOffDialogContent = Vue.computed(() => t("whether to kick sb off the room", { name: props.userInfo.userName || props.userInfo.userId }));
37
37
  const transferOwnerTitle = Vue.computed(() => t("Transfer the roomOwner to sb", { name: props.userInfo.userName || props.userInfo.userId }));
38
- const { isFreeSpeakMode, isSpeakAfterTakingSeatMode, localUser, isGeneralUser } = pinia.storeToRefs(roomStore);
38
+ const {
39
+ isFreeSpeakMode,
40
+ isSpeakAfterTakingSeatMode,
41
+ localUser,
42
+ isGeneralUser,
43
+ anchorUserList,
44
+ maxSeatCount
45
+ } = pinia.storeToRefs(roomStore);
39
46
  const {
40
47
  agreeUserOnStage,
41
48
  denyUserOnStage,
@@ -111,13 +118,13 @@ function useMemberControl(props) {
111
118
  const transferOwner = Vue.computed(() => ({
112
119
  key: "transferOwner",
113
120
  icon: TransferOwnerIcon.default,
114
- title: t("Transfer owner"),
121
+ title: t("Make host"),
115
122
  func: () => handleOpenDialog("transferOwner")
116
123
  }));
117
124
  const setOrRevokeAdmin = Vue.computed(() => ({
118
125
  key: "setOrRevokeAdmin",
119
126
  icon: props.userInfo.userRole === TUIRoomEngine.TUIRole.kAdministrator ? RevokeAdminIcon.default : SetAdminIcon.default,
120
- title: props.userInfo.userRole === TUIRoomEngine.TUIRole.kAdministrator ? t("Revoke administrator") : t("Set as administrator"),
127
+ title: props.userInfo.userRole === TUIRoomEngine.TUIRole.kAdministrator ? t("Remove administrator") : t("Set as administrator"),
121
128
  func: handleSetOrRevokeAdmin
122
129
  }));
123
130
  const kickUser = Vue.computed(() => ({
@@ -145,6 +152,14 @@ function useMemberControl(props) {
145
152
  if (isInvitingUserToAnchor) {
146
153
  cancelInviteUserOnStage(userInfo);
147
154
  } else {
155
+ if (anchorUserList.value.length === maxSeatCount.value) {
156
+ Message.default({
157
+ type: "warning",
158
+ message: `${t("The stage is full")}`,
159
+ duration: message.MESSAGE_DURATION.NORMAL
160
+ });
161
+ return;
162
+ }
148
163
  inviteUserOnStage(userInfo);
149
164
  }
150
165
  }
@@ -273,7 +288,7 @@ function useMemberControl(props) {
273
288
  } catch (error) {
274
289
  Message.default({
275
290
  type: "error",
276
- message: t("Transfer owner failed, please try again."),
291
+ message: t("Make host failed, please try again."),
277
292
  duration: message.MESSAGE_DURATION.NORMAL
278
293
  });
279
294
  }
@@ -139,7 +139,8 @@ function useIndex() {
139
139
  }
140
140
  const applyToAnchorUserContent = Vue.computed(() => {
141
141
  var _a, _b;
142
- const userName = ((_a = applyToAnchorList.value[0]) == null ? void 0 : _a.userName) || ((_b = applyToAnchorList.value[0]) == null ? void 0 : _b.userId);
142
+ const lastIndex = applyToAnchorList.value.length - 1;
143
+ const userName = ((_a = applyToAnchorList.value[lastIndex]) == null ? void 0 : _a.userName) || ((_b = applyToAnchorList.value[lastIndex]) == null ? void 0 : _b.userId);
143
144
  if (applyToAnchorList.value.length === 1) {
144
145
  return `${userName} ${t("Applying for the stage")}`;
145
146
  }
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const MemberApplyControl_vue_vue_type_script_setup_true_lang = require("./MemberApplyControl.vue2.js");
4
4
  require("./MemberApplyControl.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const MemberApplyControl = /* @__PURE__ */ _pluginVue_exportHelper.default(MemberApplyControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-24ecea29"]]);
6
+ const MemberApplyControl = /* @__PURE__ */ _pluginVue_exportHelper.default(MemberApplyControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-915fbd92"]]);
7
7
  exports.default = MemberApplyControl;
@@ -109,7 +109,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
109
109
  Message.default({ type: "warning", message: t("Application to go on stage was rejected") });
110
110
  break;
111
111
  case TUIRoomEngine.TUIRequestCallbackType.kRequestTimeout:
112
- Message.default({ type: "warning", message: t("Failed to go on stage, invitation has timed out") });
112
+ Message.default({ type: "warning", message: t("The request to go on stage has timed out") });
113
113
  break;
114
114
  }
115
115
  }
@@ -179,7 +179,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
179
179
  }));
180
180
  } catch (error) {
181
181
  if (error.code === TUIRoomEngine.TUIErrorCode.ERR_ALL_SEAT_OCCUPIED) {
182
- Message.default({ type: "warning", message: t("The current number of people on stage has reached the limit") });
182
+ Message.default({ type: "warning", message: t("The stage is full, please contact the host") });
183
183
  } else {
184
184
  index$1.default.error("Failure of a user to accept/reject a roomOwner invitation", error);
185
185
  }
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const VirtualBackground_vue_vue_type_script_setup_true_lang = require("./VirtualBackground.vue2.js");
4
4
  require("./VirtualBackground.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
- const VirtualBackground = /* @__PURE__ */ _pluginVue_exportHelper.default(VirtualBackground_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-f058868a"]]);
6
+ const VirtualBackground = /* @__PURE__ */ _pluginVue_exportHelper.default(VirtualBackground_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-46cc60bc"]]);
7
7
  exports.default = VirtualBackground;