@tencentcloud/tuiroom-engine-electron 2.4.2 → 2.6.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.
package/index.d.ts CHANGED
@@ -27,11 +27,12 @@ declare enum TUIErrorCode {
27
27
  ERR_OPERATION_INVALID_BEFORE_ENTER_ROOM = -2101,
28
28
  ERR_EXIT_NOT_SUPPORTED_FOR_ROOM_OWNER = -2102,
29
29
  ERR_OPERATION_NOT_SUPPORTED_IN_CURRENT_ROOM_TYPE = -2103,
30
- ERR_OPERATION_NOT_SUPPORTED_IN_CURRENT_SPEECH_MODE = -2104,
31
30
  ERR_ROOM_ID_INVALID = -2105,
32
31
  ERR_ROOM_ID_OCCUPIED = -2106,
33
32
  ERR_ROOM_NAME_INVALID = -2107,
34
33
  ERR_ALREADY_IN_OTHER_ROOM = -2108,
34
+ ERR_NEED_PASSWORD = -2109,
35
+ ERR_WRONG_PASSWORD = -2110,
35
36
  ERR_ROOM_USER_FULL = -2111,
36
37
  ERR_USER_NOT_EXIST = -2200,
37
38
  ERR_USER_NOT_ENTERED = -2201,
@@ -64,6 +65,7 @@ type TUIRoomInfo = {
64
65
  roomType: TUIRoomType;
65
66
  isSeatEnabled: boolean;
66
67
  seatMode: TUISeatMode;
68
+ password: string;
67
69
  isMicrophoneDisableForAllUser: boolean;
68
70
  isScreenShareDisableForAllUser: boolean;
69
71
  isCameraDisableForAllUser: boolean;
@@ -76,6 +78,9 @@ type TUIRoomInfo = {
76
78
  createTime: number;
77
79
  roomMemberCount: number;
78
80
  };
81
+ type TUIEnterRoomOptions = {
82
+ password: string;
83
+ };
79
84
  type TUILoginUserInfo = {
80
85
  userId: string;
81
86
  userName: string;
@@ -171,11 +176,6 @@ declare enum TUIRoomType {
171
176
  kConference = 1,
172
177
  kLive = 2
173
178
  }
174
- declare enum TUISpeechMode {
175
- kFreeToSpeak = 1,
176
- kApplyToSpeak = 2,
177
- kSpeakAfterTakingSeat = 3
178
- }
179
179
  declare enum TUISeatMode {
180
180
  kFreeToTake = 1,
181
181
  kApplyToTake = 2
@@ -231,6 +231,7 @@ declare enum TUIRoomDismissedReason {
231
231
  type TUIUserInfo = {
232
232
  userId: string;
233
233
  userName: string;
234
+ nameCard: string;
234
235
  avatarUrl: string;
235
236
  userRole: TUIRole;
236
237
  hasAudioStream: boolean;
@@ -243,6 +244,7 @@ type TUISeatInfo = {
243
244
  index: number;
244
245
  userId: string;
245
246
  userName: string;
247
+ nameCard: string;
246
248
  avatarUrl: string;
247
249
  locked: boolean;
248
250
  isVideoLocked: boolean;
@@ -254,6 +256,7 @@ type TUIRequest = {
254
256
  requestId: string;
255
257
  userId: string;
256
258
  userName: string;
259
+ nameCard: string;
257
260
  avatarUrl: string;
258
261
  content: string;
259
262
  };
@@ -289,6 +292,52 @@ type TUIDeviceInfo = {
289
292
  }[];
290
293
  };
291
294
  };
295
+ declare enum TUIConferenceStatus {
296
+ kConferenceStatusNone = 0,
297
+ kConferenceStatusNotStarted = 1,
298
+ kConferenceStatusRunning = 2
299
+ }
300
+ declare enum TUIConferenceCancelReason {
301
+ kConferenceCancelReasonCancelledByAdmin = 0,
302
+ kConferenceCancelReasonRemovedFromAttendees = 1
303
+ }
304
+ type TUIConferenceInfo = {
305
+ scheduleStartTime: number;
306
+ scheduleEndTime: number;
307
+ scheduleAttendees: string[];
308
+ reminderSecondsBeforeStart: number;
309
+ status: TUIConferenceStatus;
310
+ basicRoomInfo: TUIRoomInfo;
311
+ };
312
+ type TUIConferenceModifyInfo = {
313
+ scheduleStartTime?: number;
314
+ scheduleEndTime?: number;
315
+ basicRoomInfo: {
316
+ roomId: string;
317
+ roomName?: string;
318
+ };
319
+ };
320
+ declare enum TUIInvitationStatus {
321
+ kNone = 0,
322
+ kPending = 1,
323
+ kTimeout = 2,
324
+ kAccepted = 3,
325
+ kRejected = 4
326
+ }
327
+ declare enum TUIInvitationCode {
328
+ kSuccess = 0,
329
+ kAlreadyInInvitationList = 1,
330
+ kAlreadyInConference = 2
331
+ }
332
+ declare enum TUIInvitationRejectedReason {
333
+ kRejectToEnter = 0,
334
+ kInOtherConference = 1
335
+ }
336
+ type TUIInvitation = {
337
+ status: TUIInvitationStatus;
338
+ invitee: TUIUserInfo;
339
+ inviter: TUIUserInfo;
340
+ };
292
341
  /**
293
342
  * **TUIRoomEngine 事件列表**<br>
294
343
  * @namespace TUIRoomEvents
@@ -379,20 +428,6 @@ declare enum TUIRoomEvents {
379
428
  * });
380
429
  */
381
430
  onRoomNameChanged = "onRoomNameChanged",
382
- /**
383
- * @description 房间模式修改事件
384
- * @deprecated 该事件自 v2.0.0 版本废弃
385
- * @default 'onRoomSpeechModeChanged'
386
- * @event TUIRoomEvents#onRoomSpeechModeChanged
387
- * @param {object} options
388
- * @param {TUISpeechMode} options.speechMode 房间模式
389
- * @example
390
- * const roomEngine = new TUIRoomEngine();
391
- * roomEngine.on(TUIRoomEvents.onRoomSpeechModeChanged, ({ roomId, speechMode }) =>{
392
- * console.log('roomEngine.onRoomSpeechModeChanged', roomId, speechMode);
393
- * });
394
- */
395
- onRoomSpeechModeChanged = "onRoomSpeechModeChanged",
396
431
  /**
397
432
  * @description 上麦模式修改事件
398
433
  * @default 'onRoomSeatModeChanged'
@@ -446,18 +481,18 @@ declare enum TUIRoomEvents {
446
481
  */
447
482
  onAllUserMicrophoneDisableChanged = "onAllUserMicrophoneDisableChanged",
448
483
  /**
449
- * @since v2.2.0
450
- * @description 房间内所有用户屏幕分享被禁用事件
451
- * @default 'onScreenShareForAllUserDisableChanged'
452
- * @event TUIRoomEvents#onScreenShareForAllUserDisableChanged
453
- * @param {object} options
454
- * @param {boolean} options.isDisable 是否开启禁止屏幕分享
455
- * @example
456
- * const roomEngine = new TUIRoomEngine();
457
- * roomEngine.on(TUIRoomEvents.onScreenShareForAllUserDisableChanged, ({ isDisable }) =>{
458
- * console.log('roomEngine.onScreenShareForAllUserDisableChanged', isDisable);
459
- * });
460
- */
484
+ * @since v2.2.0
485
+ * @description 房间内所有用户屏幕分享被禁用事件
486
+ * @default 'onScreenShareForAllUserDisableChanged'
487
+ * @event TUIRoomEvents#onScreenShareForAllUserDisableChanged
488
+ * @param {object} options
489
+ * @param {boolean} options.isDisable 是否开启禁止屏幕分享
490
+ * @example
491
+ * const roomEngine = new TUIRoomEngine();
492
+ * roomEngine.on(TUIRoomEvents.onScreenShareForAllUserDisableChanged, ({ isDisable }) =>{
493
+ * console.log('roomEngine.onScreenShareForAllUserDisableChanged', isDisable);
494
+ * });
495
+ */
461
496
  onScreenShareForAllUserDisableChanged = "onScreenShareForAllUserDisableChanged",
462
497
  /**
463
498
  * @description 所有成员发送消息权限改变事件
@@ -513,9 +548,24 @@ declare enum TUIRoomEvents {
513
548
  * });
514
549
  */
515
550
  onRemoteUserLeaveRoom = "onRemoteUserLeaveRoom",
551
+ /**
552
+ * @since v2.5.0
553
+ * @description 房间内用户信息改变事件
554
+ * @default 'onUserInfoChanged'
555
+ * @event TUIRoomEvents#onUserInfoChanged
556
+ * @param {object} options
557
+ * @param {TUIUserInfo} options.userInfo 用户信息
558
+ * @example
559
+ * const roomEngine = new TUIRoomEngine();
560
+ * roomEngine.on(TUIRoomEvents.onUserInfoChanged, ({ userInfo }) => {
561
+ * console.log('roomEngine.onUserInfoChanged', userInfo);
562
+ * });
563
+ */
564
+ onUserInfoChanged = "onUserInfoChanged",
516
565
  /**
517
566
  * @description 用户角色改变事件
518
- * @default 'onKickedOutOfRoom'
567
+ * @deprecated 该接口自 v2.5.0 版本废弃,请使用'onUserInfoChanged'.
568
+ * @default 'onUserRoleChanged'
519
569
  * @event TUIRoomEvents#onUserRoleChanged
520
570
  * @param {object} options
521
571
  * @param {string} options.userId 用户Id
@@ -779,6 +829,283 @@ declare enum TUIRoomDeviceMangerEvents {
779
829
  * });
780
830
  */
781
831
  onTestSpeakerVolume = "onTestSpeakerVolume"
832
+ }
833
+ /**
834
+ * @since v2.5.0
835
+ * **TUIConferenceListManager 事件列表**<br>
836
+ * @namespace TUIConferenceListManagerEvents
837
+ */
838
+ declare enum TUIConferenceListManagerEvents {
839
+ /**
840
+ * @description 会议预定回调
841
+ * @default 'onConferenceScheduled'
842
+ * @event TUIConferenceListManagerEvents#onConferenceScheduled
843
+ * @param {object} options
844
+ * @param {string} options.conferenceInfo 会议信息。
845
+ *
846
+ * @example
847
+ * const roomEngine = new TUIRoomEngine();
848
+ * const conferenceListManager = roomEngine.getConferenceListManager();
849
+ * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceScheduled, ({ conferenceInfo }) => {
850
+ * console.log('conferenceListManager.onConferenceScheduled', conferenceInfo);
851
+ * })
852
+ */
853
+ onConferenceScheduled = "onConferenceScheduled",
854
+ /**
855
+ * @description 会议即将开始回调
856
+ * @default 'onConferenceWillStart'
857
+ * @event TUIConferenceListManagerEvents#onConferenceWillStart
858
+ * @param {object} options
859
+ * @param {string} options.conferenceInfo 会议信息。
860
+ *
861
+ * @example
862
+ * const roomEngine = new TUIRoomEngine();
863
+ * const conferenceListManager = roomEngine.getConferenceListManager();
864
+ * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceWillStart, ({ conferenceInfo }) => {
865
+ * console.log('conferenceListManager.onConferenceWillStart', conferenceInfo);
866
+ * })
867
+ */
868
+ onConferenceWillStart = "onConferenceWillStart",
869
+ /**
870
+ * @description 会议取消回调
871
+ *
872
+ * @param {object} options
873
+ * @param {string} options.roomId 会议Id,即房间 roomId 。
874
+ * @param {TUIConferenceCancelReason} options.reason 会议取消原因。
875
+ * @param {TUIUserInfo} options.operateUser 取消会议操作者信息。
876
+ *
877
+ * @example
878
+ * const roomEngine = new TUIRoomEngine();
879
+ * const conferenceListManager = roomEngine.getConferenceListManager();
880
+ * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceCancelled, ({ roomId, reason, operateUser }) => {
881
+ * console.log('conferenceListManager.onConferenceCancelled', roomId, reason, operateUser);
882
+ * })
883
+ */
884
+ onConferenceCancelled = "onConferenceCancelled",
885
+ /**
886
+ * @description 会议信息变更回调
887
+ *
888
+ * @param {object} options
889
+ * @param {TUIConferenceModifyInfo} options.conferenceModifyInfo 会议信息。
890
+ *
891
+ * @example
892
+ * const roomEngine = new TUIRoomEngine();
893
+ * const conferenceListManager = roomEngine.getConferenceListManager();
894
+ * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceInfoChanged, ({ conferenceModifyInfo }) => {
895
+ * console.log('conferenceListManager.onConferenceInfoChanged', conferenceModifyInfo);
896
+ * })
897
+ */
898
+ onConferenceInfoChanged = "onConferenceInfoChanged",
899
+ /**
900
+ * @description 参会人员变更回调
901
+ *
902
+ * @param {object} options
903
+ * @param {string} options.roomId 会议Id,即房间roomId。
904
+ * @param {Array<TUIUserInfo>} options.leftUsers 离开成员列表。
905
+ * @param {Array<TUIUserInfo>} options.joinedUsers 新加入成员列表。
906
+ *
907
+ * @example
908
+ * const roomEngine = new TUIRoomEngine();
909
+ * const conferenceListManager = roomEngine.getConferenceListManager();
910
+ * conferenceListManager.on(TUIConferenceListManagerEvents.onScheduleAttendeesChanged, ({ roomId, leftUsers, joinedUsers }) => {
911
+ * console.log('conferenceListManager.onScheduleAttendeesChanged', roomId, leftUsers, joinedUsers);
912
+ * })
913
+ */
914
+ onScheduleAttendeesChanged = "onScheduleAttendeesChanged",
915
+ /**
916
+ * @description 会议状态变更回调
917
+ *
918
+ * @param {object} options
919
+ * @param {string} options.roomId 会议Id,即房间roomId。
920
+ * @param {TUIConferenceStatus} options.status 会议状态。
921
+ *
922
+ * @example
923
+ * const roomEngine = new TUIRoomEngine();
924
+ * const conferenceListManager = roomEngine.getConferenceListManager();
925
+ * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceStatusChanged, ({ roomId, status }) => {
926
+ * console.log('conferenceListManager.onConferenceStatusChanged', roomId, status );
927
+ * })
928
+ */
929
+ onConferenceStatusChanged = "onConferenceStatusChanged"
930
+ }
931
+ /**
932
+ * @since v2.6.0
933
+ * **TUIConferenceInvitationManager 事件列表**<br>
934
+ * @namespace TUIConferenceInvitationManagerEvents
935
+ */
936
+ declare enum TUIConferenceInvitationManagerEvents {
937
+ /**
938
+ * @description 收到会中邀请回调
939
+ * @default 'onReceiveInvitation'
940
+ * @event TUIConferenceInvitationManagerEvents#onReceiveInvitation
941
+ * @param {object} options
942
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
943
+ * @param {TUIInvitation} options.invitation 邀请信息。
944
+ * @param {string} options.extensionInfo 自定义扩展信息
945
+ *
946
+ *
947
+ * @example
948
+ * const roomEngine = new TUIRoomEngine();
949
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
950
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onReceiveInvitation, ({ roomInfo, invitation, extensionInfo }) => {
951
+ * console.log('conferenceInvitationManager.onReceiveInvitation', roomInfo, invitation, extensionInfo);
952
+ * })
953
+ */
954
+ onReceiveInvitation = "onReceiveInvitation",
955
+ /**
956
+ * @description 邀请在其他设备处理的回调
957
+ * @default 'onInvitationHandledByOtherDevice'
958
+ * @event TUIConferenceInvitationManagerEvents#onInvitationHandledByOtherDevice
959
+ * @param {object} options
960
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
961
+ * @param {boolean} options.accepted 接受状态。
962
+ *
963
+ *
964
+ * @example
965
+ * const roomEngine = new TUIRoomEngine();
966
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
967
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationHandledByOtherDevice, ({ roomInfo, accepted }) => {
968
+ * console.log('conferenceInvitationManager.onInvitationHandledByOtherDevice', roomInfo, accepted);
969
+ * })
970
+ */
971
+ onInvitationHandledByOtherDevice = "onInvitationHandledByOtherDevice",
972
+ /**
973
+ * @description 会中邀请取消的回调
974
+ * @default 'onInvitationCancelled'
975
+ * @event TUIConferenceInvitationManagerEvents#onInvitationCancelled
976
+ * @param {object} options
977
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
978
+ * @param {TUIInvitation} options.invitation 邀请信息。
979
+ *
980
+ *
981
+ * @example
982
+ * const roomEngine = new TUIRoomEngine();
983
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
984
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationCancelled, ({ roomInfo, invitation }) => {
985
+ * console.log('conferenceInvitationManager.onInvitationCancelled', roomInfo, invitation);
986
+ * })
987
+ */
988
+ onInvitationCancelled = "onInvitationCancelled",
989
+ /**
990
+ * @description 会中邀请接受的回调
991
+ * @default 'onInvitationAccepted'
992
+ * @event TUIConferenceInvitationManagerEvents#onInvitationAccepted
993
+ * @param {object} options
994
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
995
+ * @param {TUIInvitation} options.invitation 邀请信息。
996
+ *
997
+ *
998
+ * @example
999
+ * const roomEngine = new TUIRoomEngine();
1000
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1001
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationAccepted, ({ roomInfo, invitation }) => {
1002
+ * console.log('conferenceInvitationManager.onInvitationAccepted', roomInfo, invitation);
1003
+ * })
1004
+ */
1005
+ onInvitationAccepted = "onInvitationAccepted",
1006
+ /**
1007
+ * @description 会中邀请拒绝的回调
1008
+ * @default 'onInvitationRejected'
1009
+ * @event TUIConferenceInvitationManagerEvents#onInvitationRejected
1010
+ * @param {object} options
1011
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
1012
+ * @param {TUIInvitation} options.invitation 邀请信息。
1013
+ *
1014
+ *
1015
+ * @example
1016
+ * const roomEngine = new TUIRoomEngine();
1017
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1018
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationRejected, ({ roomInfo, invitation }) => {
1019
+ * console.log('conferenceInvitationManager.onInvitationRejected', roomInfo, invitation);
1020
+ * })
1021
+ */
1022
+ onInvitationRejected = "onInvitationRejected",
1023
+ /**
1024
+ * @description 会中邀请超时的回调
1025
+ * @default 'onInvitationTimeout'
1026
+ * @event TUIConferenceInvitationManagerEvents#onInvitationTimeout
1027
+ * @param {object} options
1028
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
1029
+ * @param {TUIInvitation} options.invitation 邀请信息。
1030
+ *
1031
+ *
1032
+ * @example
1033
+ * const roomEngine = new TUIRoomEngine();
1034
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1035
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationTimeout, ({ roomInfo, invitation }) => {
1036
+ * console.log('conferenceInvitationManager.onInvitationTimeout', roomInfo, invitation);
1037
+ * })
1038
+ */
1039
+ onInvitationTimeout = "onInvitationTimeout",
1040
+ /**
1041
+ * @description 会中邀请被管理员撤回的回调
1042
+ * @default 'onInvitationRevokedByAdmin'
1043
+ * @event TUIConferenceInvitationManagerEvents#onInvitationRevokedByAdmin
1044
+ * @param {object} options
1045
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
1046
+ * @param {TUIInvitation} options.invitation 邀请信息。
1047
+ * @param {TUIUserInfo} options.operateUser 撤回邀请的人的信息
1048
+ *
1049
+ *
1050
+ * @example
1051
+ * const roomEngine = new TUIRoomEngine();
1052
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1053
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationRevokedByAdmin, ({ roomInfo, invitation, userRole }) => {
1054
+ * console.log('conferenceInvitationManager.onInvitationRevokedByAdmin', roomInfo, invitation, operateUser);
1055
+ * })
1056
+ */
1057
+ onInvitationRevokedByAdmin = "onInvitationRevokedByAdmin",
1058
+ /**
1059
+ * @description 新添加会中邀请的回调
1060
+ * @default 'onInvitationAdded'
1061
+ * @event TUIConferenceInvitationManagerEvents#onInvitationAdded
1062
+ * @param {object} options
1063
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
1064
+ * @param {TUIInvitation} options.invitation 邀请信息。
1065
+ *
1066
+ *
1067
+ * @example
1068
+ * const roomEngine = new TUIRoomEngine();
1069
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1070
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationAdded, ({ roomInfo, invitation }) => {
1071
+ * console.log('conferenceInvitationManager.onInvitationAdded', roomInfo, invitation);
1072
+ * })
1073
+ */
1074
+ onInvitationAdded = "onInvitationAdded",
1075
+ /**
1076
+ * @description 会中邀请被移除的回调
1077
+ * @default 'onInvitationRemoved'
1078
+ * @event TUIConferenceInvitationManagerEvents#onInvitationRemoved
1079
+ * @param {object} options
1080
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
1081
+ * @param {TUIInvitation} options.invitation 邀请信息。
1082
+ *
1083
+ *
1084
+ * @example
1085
+ * const roomEngine = new TUIRoomEngine();
1086
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1087
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationRemoved, ({ roomInfo, invitation }) => {
1088
+ * console.log('conferenceInvitationManager.onInvitationRemoved', roomInfo, invitation);
1089
+ * })
1090
+ */
1091
+ onInvitationRemoved = "onInvitationRemoved",
1092
+ /**
1093
+ * @description 会中邀请状态变更的回调
1094
+ * @default 'onInvitationStatusChanged'
1095
+ * @event TUIConferenceInvitationManagerEvents#onInvitationStatusChanged
1096
+ * @param {object} options
1097
+ * @param {TUIRoomInfo} options.roomInfo 会议信息。
1098
+ * @param {TUIInvitation} options.invitation 邀请信息。
1099
+ *
1100
+ *
1101
+ * @example
1102
+ * const roomEngine = new TUIRoomEngine();
1103
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1104
+ * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationStatusChanged, ({ roomInfo, invitation }) => {
1105
+ * console.log('conferenceInvitationManager.onInvitationStatusChanged', roomInfo, invitation);
1106
+ * })
1107
+ */
1108
+ onInvitationStatusChanged = "onInvitationStatusChanged"
782
1109
  }
783
1110
 
784
1111
  declare class Logger {
@@ -790,7 +1117,7 @@ declare class Logger {
790
1117
  sdkAppId: number;
791
1118
  seq: number;
792
1119
  });
793
- getLogMessage(params: any[]): string;
1120
+ getLogMessage(params: any[]): string | any[];
794
1121
  update(options: {
795
1122
  sdkAppId: number;
796
1123
  userId: string;
@@ -810,9 +1137,11 @@ declare class TUIRoomDeviceManager {
810
1137
  private deviceManagerWASM;
811
1138
  private logger;
812
1139
  private static deviceManager;
1140
+ private trtcCloud;
813
1141
  constructor(options: {
814
1142
  Module: any;
815
1143
  logger: Logger;
1144
+ trtcCloud: TRTCCloud;
816
1145
  });
817
1146
  setDeviceManagerWASM(deviceManagerWASM: any): void;
818
1147
  /**
@@ -959,6 +1288,409 @@ declare class TUIRoomDeviceManager {
959
1288
  off(event: string, func: (...args: any[]) => void): void;
960
1289
  }
961
1290
 
1291
+ /**
1292
+ * 会议列表
1293
+ * @class conferenceListManager
1294
+ */
1295
+ declare class TUIConferenceListManager {
1296
+ private static readonly ROOM_NAME;
1297
+ private static readonly SCHEDULED_START_TIME;
1298
+ private static readonly SCHEDULED_END_TIME;
1299
+ private conferenceListManagerWASM;
1300
+ private logger;
1301
+ private static conferenceListManager;
1302
+ constructor(options: {
1303
+ Module: any;
1304
+ logger: Logger;
1305
+ roomEngineWASM: any;
1306
+ });
1307
+ /**
1308
+ * @private
1309
+ * 调用 TUIRoomEngineWASM 的异步方法
1310
+ * @param funcName
1311
+ * @param args
1312
+ */
1313
+ private JSCallNativeFunctionPromise;
1314
+ /**
1315
+ * 预定会议
1316
+ * @param {object} options
1317
+ * @param {string} options.roomId 房间 Id,必填, roomId 限制长度为64字节,且仅支持以下范围的字符集:<br>
1318
+ * - 大小写英文字母(a-zA-Z)
1319
+ * - 数字(0-9)
1320
+ * - 空格 ! # $ % & ( ) + - : ; < = . > ? @ [ ] ^ _ { } | ~ ,
1321
+ * @param {number} [options.scheduleStartTime] 预定会议开始时间(计数单位为秒的时间戳)
1322
+ * @param {number} [options.scheduleEndTime] 预定会议结束时间(计数单位为秒的时间戳)
1323
+ * @param {array=} [options.scheduleAttendees=[]] 预定会议邀请成员 userId 列表
1324
+ * @param {number=} [options.reminderSecondsBeforeStart=0] 会议开始前提醒时间,单位秒
1325
+ * @param {string=} [options.roomName=roomId] 房间名称,默认值为 roomId,传入的值不能为空字符串
1326
+ * @param {TUIRoomType=} [options.roomType=TUIRoomType.kConference] 房间类型, 默认值为 TUIRoomType.kConference <br>
1327
+ * 办公协同、医疗问诊、远程会议、教育场景,roomType 设置为 TUIRoomType.kConference
1328
+ * 电商直播、语聊房场景,roomType 设置为 TUIRoomType.kLive
1329
+ * @param {boolean=} [options.isSeatEnabled=false] 是否开启麦位控制,默认值为 false
1330
+ * @param {TUISeatMode=} [options.seatMode=TUISeatMode.kFreeToTake] 上麦模式(开启麦位控制后生效),默认值为 TUISeatMode.kFreeToTake <br>
1331
+ * 自由上麦模式,台下观众可以自由上麦,无需申请,seatMode 设置为 TUISeatMode.kFreeToTake
1332
+ * 申请上麦模式,台下观众上麦需要房主或者管理员同意后才能上麦,seatMode 设置为 TUISeatMode.kApplyToTake
1333
+ * @param {boolean=} [options.isMicrophoneDisableForAllUser=false] 是否开启全员禁麦,默认不开启全员禁麦(创建房间可选参数)
1334
+ * @param {boolean=} [options.isScreenShareDisableForAllUser=false] 是否开启禁止屏幕分享,默认不开启禁止屏幕分享权限(该属性自 v2.2.0 版本 以后支持,创建房间可选参数)
1335
+ * @param {boolean=} [options.isCameraDisableForAllUser=false] 是否开启全员禁画,默认不开启全员禁画(创建房间可选参数)
1336
+ * @param {boolean=} [options.isMessageDisableForAllUser=false] 是否允许成员发送消息,默认不禁止(创建房间可选参数)
1337
+ * @param {number=} options.maxSeatCount 最大麦位数量 (创建房间可选参数)
1338
+ * @param {string=} [options.password=''] 房间密码,(该属性自 v2.5.0 版本支持)
1339
+ * @returns {Promise<void>}
1340
+ *
1341
+ * @example
1342
+ * const roomEngine = new TUIRoomEngine();
1343
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1344
+ * await conferenceListManager.scheduleConference({
1345
+ * roomId: '12345', // 填入您的房间 Id, 注意房间 Id 要求为字符串类型
1346
+ * scheduleStartTime: 1720004257, // 填入您的会议预定开始时间的时间戳,单位秒。
1347
+ * scheduleEndTime: 1720001317, // 填入您的会议预定结束时间的时间戳,单位秒。
1348
+ * });
1349
+ */
1350
+ scheduleConference(options: {
1351
+ scheduleStartTime: number;
1352
+ scheduleEndTime: number;
1353
+ scheduleAttendees?: string[];
1354
+ reminderSecondsBeforeStart?: number;
1355
+ roomId: string;
1356
+ roomName?: string;
1357
+ roomType?: TUIRoomType;
1358
+ isSeatEnabled?: boolean;
1359
+ seatMode?: TUISeatMode;
1360
+ isMicrophoneDisableForAllUser?: boolean;
1361
+ isScreenShareDisableForAllUser?: boolean;
1362
+ isCameraDisableForAllUser?: boolean;
1363
+ isMessageDisableForAllUser?: boolean;
1364
+ maxSeatCount?: number;
1365
+ password?: string;
1366
+ }): Promise<void>;
1367
+ /**
1368
+ * 取消预定会议
1369
+ *
1370
+ * @param {object} options
1371
+ * @param {string} options.roomId 要取消会议Id,即房间roomId。
1372
+ * @returns {Promise<void>}
1373
+ *
1374
+ * @example
1375
+ * const roomEngine = new TUIRoomEngine();
1376
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1377
+ * await conferenceListManager.cancelConference({
1378
+ * roomId: '12345', // 填入您要取消的会议 Id ,即房间 roomId 。
1379
+ * });
1380
+ */
1381
+ cancelConference(options: {
1382
+ roomId: string;
1383
+ }): Promise<void>;
1384
+ /**
1385
+ * 更新预定会议信息
1386
+ *
1387
+ * @param {object} options
1388
+ * @param {string} options.roomId 会议的房间Id。
1389
+ * @param {string} options.roomName 会议的名称。
1390
+ * @param {number} options.scheduleStartTime 预定会议的开始时间(计数单位为秒的时间戳)。
1391
+ * @param {number} options.scheduleEndTime 预定会议的结束时间(计数单位为秒的时间戳)。
1392
+ * @returns {Promise<void>}
1393
+ *
1394
+ * @example
1395
+ * const roomEngine = new TUIRoomEngine();
1396
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1397
+ * await conferenceListManager.updateConferenceInfo({
1398
+ * roomId: '12345', // 填入您要更新的会议房间 roomId 。
1399
+ * roomName: 'myRoomName', // 填入您更新后的会议名称。
1400
+ * scheduleStartTime: 1720004257, // 填入您更新后的会议预定开始时间的时间戳,单位秒。
1401
+ * scheduleEndTime: 1720001317, // 填入您更新后的会议预定结束时间的时间戳,单位秒。
1402
+ * });
1403
+ */
1404
+ updateConferenceInfo(options: {
1405
+ roomId: string;
1406
+ roomName?: string;
1407
+ scheduleStartTime?: number;
1408
+ scheduleEndTime?: number;
1409
+ }): Promise<void>;
1410
+ /**
1411
+ * 获取预定会议列表
1412
+ *
1413
+ * @param {object} options
1414
+ * @param {Array<TUIConferenceStatus>} options.statusArray 会议状态数组,默认值为拉取全部状态会议。
1415
+ * @param {string} options.cursor 分页获取索引,第一次拉取填 '',回调成功 如果callback返回的数据中 cursor 不为 '',表示需要分页,请以返回的 cursor 作为参数再次调用接口拉取,直至返回的cursor为 '',表示数据已经全部拉取。
1416
+ * @param {number} options.count 本次拉取数量。
1417
+ *
1418
+ * @example
1419
+ * const roomEngine = new TUIRoomEngine();
1420
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1421
+ * const conferenceList = [];
1422
+ * let result;
1423
+ * let cursor = '';
1424
+ * let count = 20;
1425
+ * do {
1426
+ * result = await conferenceListManager.fetchScheduledConferenceList({ cursor, count });
1427
+ * conferenceList.push(...result.conferenceList);
1428
+ * cursor = result.cursor;
1429
+ * } while (cursor !== '')
1430
+ */
1431
+ fetchScheduledConferenceList(options: {
1432
+ statusArray?: TUIConferenceStatus[];
1433
+ cursor: string;
1434
+ count: number;
1435
+ }): Promise<Array<TUIConferenceInfo>>;
1436
+ /**
1437
+ * 获取预定会议邀请成员列表
1438
+ *
1439
+ * @param {object} options
1440
+ * @param {string} options.roomId 会议 Id ,即房间 roomId 。
1441
+ * @param {string} options.cursor 分页获取索引,第一次拉取填 "",回调成功 如果 callback 返回的数据中 cursor 不为"",表示需要分页,请以返回的 cursor 作为参数再次调用接口拉取,直至返回的 cursor 为"",表示数据已经全部拉取。
1442
+ * @param {number} options.count 本次拉取数量。
1443
+ *
1444
+ * @example
1445
+ * const roomEngine = new TUIRoomEngine();
1446
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1447
+ * const attendeeList = [];
1448
+ * let result;
1449
+ * let cursor = '';
1450
+ * let totalCount = 0;
1451
+ * let roomId = '12345';
1452
+ * let count = 20;
1453
+ * do {
1454
+ * result = await conferenceListManager.fetchAttendeeList({ roomId, cursor, count });
1455
+ * attendeeList.push(...result.attendeeList);
1456
+ * cursor = result.cursor;
1457
+ * totalCount = result.totalCount;
1458
+ * } while (cursor !== '')
1459
+ */
1460
+ fetchAttendeeList(options: {
1461
+ roomId: string;
1462
+ cursor: string;
1463
+ count: number;
1464
+ }): Promise<Array<TUIUserInfo>>;
1465
+ /**
1466
+ * 添加成员至邀请列表
1467
+ *
1468
+ * @param {object} options
1469
+ * @param {string} options.roomId 会议 Id ,即房间 roomId 。
1470
+ * @param {Array<string>} options.userIdList 成员 userId 列表。
1471
+ * @returns {Promise<void>}
1472
+ *
1473
+ * @example
1474
+ * const roomEngine = new TUIRoomEngine();
1475
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1476
+ * await conferenceListManager.addAttendeesByAdmin({
1477
+ * roomId: '12345', // 填入您要添加成员的会议 Id ,即房间 roomId 。
1478
+ * userIdList: ['123'], // 填入您要邀请的成员 Id 数组。
1479
+ * });
1480
+ */
1481
+ addAttendeesByAdmin(options: {
1482
+ roomId: string;
1483
+ userIdList: string[];
1484
+ }): Promise<void>;
1485
+ /**
1486
+ * 从邀请列表移除成员
1487
+ *
1488
+ * @param {object} options
1489
+ * @param {string} options.roomId 会议 Id ,即房间 roomId 。
1490
+ * @param {Array<string>} options.userIdList 成员 userId 列表。
1491
+ * @returns {Promise<void>}
1492
+ *
1493
+ * @example
1494
+ * const roomEngine = new TUIRoomEngine();
1495
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1496
+ * await conferenceListManager.removeAttendeesByAdmin({
1497
+ * roomId: '12345', // 填入您要移除成员的会议 Id ,即房间 roomId 。
1498
+ * userIdList: ['123'], // 填入您要移除的成员 Id 数组。
1499
+ * });
1500
+ */
1501
+ removeAttendeesByAdmin(options: {
1502
+ roomId: string;
1503
+ userIdList: string[];
1504
+ }): Promise<void>;
1505
+ /**
1506
+ * 监听 conferenceListManager 的事件
1507
+ * @param event TUIConferenceListManagerEvents
1508
+ * @param func function
1509
+ * @returns {void}
1510
+ *
1511
+ * @example
1512
+ * const roomEngine = new TUIRoomEngine();
1513
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1514
+ * conferenceListManager.on(event, func);
1515
+ */
1516
+ on(event: TUIConferenceListManagerEvents, func: (...args: any[]) => void): void;
1517
+ private observerFunction;
1518
+ private handleConferenceChangedEvent;
1519
+ /**
1520
+ * 取消监听 ConferenceListManager 的事件
1521
+ * @param event TUIConferenceListManagerEvents
1522
+ * @param func function
1523
+ * @returns {void}
1524
+ *
1525
+ * @example
1526
+ * const roomEngine = new TUIRoomEngine();
1527
+ * const conferenceListManager = roomEngine.getConferenceListManager();
1528
+ * conferenceListManager.off(event, func);
1529
+ */
1530
+ off(event: string, func: (...args: any[]) => void): void;
1531
+ }
1532
+
1533
+ /**
1534
+ * 会中呼叫
1535
+ * @class conferenceInvitationManager
1536
+ */
1537
+ declare class TUIConferenceInvitationManager {
1538
+ private conferenceInvitationManagerWASM;
1539
+ private logger;
1540
+ private static conferenceInvitationManager;
1541
+ constructor(options: {
1542
+ Module: any;
1543
+ logger: Logger;
1544
+ roomEngineWASM: any;
1545
+ });
1546
+ /**
1547
+ * @private
1548
+ * 调用 TUIRoomEngineWASM 的异步方法
1549
+ * @param funcName
1550
+ * @param args
1551
+ */
1552
+ private JSCallNativeFunctionPromise;
1553
+ /**
1554
+ * 会中呼叫
1555
+ * @param {object} options
1556
+ * @param {string} options.roomId 房间 Id,必填, roomId 限制长度为64字节,且仅支持以下范围的字符集:<br>
1557
+ * - 大小写英文字母(a-zA-Z)
1558
+ * - 数字(0-9)
1559
+ * - 空格 ! # $ % & ( ) + - : ; < = . > ? @ [ ] ^ _ { } | ~ ,
1560
+ * @param {string} options.userIdList 成员 userId 列表。
1561
+ * @param {number} options.timeout 超时时间。若 timeout 设置为 0s ,则无超时时间
1562
+ * @param {string} options.extensionInfo 自定义扩展信息
1563
+ * @returns {Promise<void>}
1564
+ *
1565
+ * @example
1566
+ * const roomEngine = new TUIRoomEngine();
1567
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1568
+ * await conferenceInvitationManager.inviteUsers({
1569
+ * roomId: '12345', // 填入您的房间 Id, 注意房间 Id 要求为字符串类型
1570
+ * userIdList: ['123'], // 填入您要呼叫的成员 Id 数组。
1571
+ * timeout: 0,
1572
+ * })
1573
+ */
1574
+ inviteUsers(options: {
1575
+ roomId: string;
1576
+ userIdList: string[];
1577
+ timeout: number;
1578
+ extensionInfo?: string;
1579
+ }): Promise<void>;
1580
+ /**
1581
+ * 取消呼叫
1582
+ *
1583
+ * @param {object} options
1584
+ * @param {string} options.roomId 会议的房间Id。
1585
+ * @param {string} options.userIdList 成员 userId 列表。
1586
+ * @returns {Promise<void>}
1587
+ *
1588
+ * @example
1589
+ * const roomEngine = new TUIRoomEngine();
1590
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1591
+ * await conferenceInvitationManager.cancelInvitation({
1592
+ * roomId: '12345', // 填入您的房间 Id, 注意房间 Id 要求为字符串类型
1593
+ * userIdList: ['123'], // 填入您要取消呼叫的成员 Id 数组。
1594
+ * })
1595
+ */
1596
+ cancelInvitation(options: {
1597
+ roomId: string;
1598
+ userIdList: string[];
1599
+ }): Promise<void>;
1600
+ /**
1601
+ * 接受呼叫
1602
+ *
1603
+ * @param {object} options
1604
+ * @param {string} options.roomId 会议的房间Id。
1605
+ * @returns {Promise<void>}
1606
+ *
1607
+ * @example
1608
+ * const roomEngine = new TUIRoomEngine();
1609
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1610
+ * await conferenceInvitationManager.accept({
1611
+ * roomId: '12345', // 填入您的房间 Id, 注意房间 Id 要求为字符串类型
1612
+ * })
1613
+ */
1614
+ accept(options: {
1615
+ roomId: string;
1616
+ }): Promise<void>;
1617
+ /**
1618
+ * 拒绝呼叫
1619
+ *
1620
+ * @param {object} options
1621
+ * @param {string} options.roomId 会议的房间Id。
1622
+ * @param {TUIInvitationRejectedReason}options.reason 拒绝邀请的原因
1623
+ * @returns {Promise<void>}
1624
+ *
1625
+ * @example
1626
+ * const roomEngine = new TUIRoomEngine();
1627
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1628
+ * await conferenceInvitationManager.reject({
1629
+ * roomId: '12345', // 填入您的房间 Id, 注意房间 Id 要求为字符串类型
1630
+ * reason: TUIInvitationRejectedReason.kRejectToEnter, // 主动拒绝进入会议
1631
+ * })
1632
+ */
1633
+ reject(options: {
1634
+ roomId: string;
1635
+ reason: TUIInvitationRejectedReason;
1636
+ }): Promise<void>;
1637
+ /**
1638
+ * 获取呼叫列表
1639
+ *
1640
+ * @param {object} options
1641
+ * @param {string} options.roomId 会议的房间Id。
1642
+ * @param {string} options.cursor 分页获取索引,第一次拉取填 "",回调成功 如果 callback 返回的数据中 cursor 不为"",表示需要分页,请以返回的 cursor 作为参数再次调用接口拉取,直至返回的 cursor 为"",表示数据已经全部拉取。
1643
+ * @param {string} options.count 本次拉取数量。
1644
+ * @returns {Promise<Array<TUIInvitation>>}
1645
+ *
1646
+ * @example
1647
+ * const roomEngine = new TUIRoomEngine();
1648
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1649
+ * const invitationList = [];
1650
+ * let result;
1651
+ * let cursor = '';
1652
+ * let totalCount = 0;
1653
+ * let roomId = '12345';
1654
+ * let count = 20;
1655
+ * do {
1656
+ * result = await conferenceInvitationManager.getInvitationList({ roomId, cursor, count });
1657
+ * attendeeList.push(...result.attendeeList);
1658
+ * cursor = result.cursor;
1659
+ * totalCount = result.totalCount;
1660
+ * } while (cursor !== '')
1661
+ */
1662
+ getInvitationList(options: {
1663
+ roomId: string;
1664
+ cursor: string;
1665
+ count: number;
1666
+ }): Promise<Array<TUIInvitation>>;
1667
+ /**
1668
+ * 监听 conferenceInvitationManager 的事件
1669
+ * @param event TUIConferenceListManagerEvents
1670
+ * @param func function
1671
+ * @returns {void}
1672
+ *
1673
+ * @example
1674
+ * const roomEngine = new TUIRoomEngine();
1675
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1676
+ * conferenceInvitationManager.on(event, func);
1677
+ */
1678
+ on(event: TUIConferenceInvitationManagerEvents, func: (...args: any[]) => void): void;
1679
+ private observerFunction;
1680
+ /**
1681
+ * 取消监听 ConferenceInvitationManager 的事件
1682
+ * @param event TUIConferenceListManagerEvents
1683
+ * @param func function
1684
+ * @returns {void}
1685
+ *
1686
+ * @example
1687
+ * const roomEngine = new TUIRoomEngine();
1688
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
1689
+ * conferenceInvitationManager.off(event, func);
1690
+ */
1691
+ off(event: string, func: (...args: any[]) => void): void;
1692
+ }
1693
+
962
1694
  /**
963
1695
  * TUIRoomEngine 提供了音视频房间的能力
964
1696
  *
@@ -968,17 +1700,24 @@ declare class TUIRoomEngine {
968
1700
  static className: string;
969
1701
  private static isReady;
970
1702
  private roomEngineWASM;
1703
+ private trtcCloud;
971
1704
  private deviceManager;
1705
+ private conferenceListManager;
1706
+ private conferenceInvitationManager;
972
1707
  private static userId;
973
1708
  private static sdkAppId;
974
1709
  private static Module;
1710
+ private static shareInstance;
975
1711
  private logger;
976
1712
  private roomId;
977
1713
  private localVideoQuality;
978
1714
  private localAudioQuality;
979
1715
  static setModule(Module: any): void;
980
1716
  static once(event: string, func: (...args: any[]) => void): void;
981
- constructor();
1717
+ static getInstance(): TUIRoomEngine;
1718
+ constructor(options?: {
1719
+ isSharedInstance?: boolean;
1720
+ });
982
1721
  /**
983
1722
  * @private
984
1723
  * 调用 TUIRoomEngineWASM 的静态方法
@@ -1086,7 +1825,8 @@ declare class TUIRoomEngine {
1086
1825
  * @param {boolean=} [options.isScreenShareDisableForAllUser=false] 是否开启禁止屏幕分享,默认不开启禁止屏幕分享权限(该属性自 v2.2.0 版本 以后支持,创建房间可选参数)
1087
1826
  * @param {boolean=} [options.isCameraDisableForAllUser=false] 是否开启全员禁画,默认不开启全员禁画(创建房间可选参数)
1088
1827
  * @param {boolean=} [options.isMessageDisableForAllUser=false] 是否允许成员发送消息,默认不禁止(创建房间可选参数)
1089
- * @param {number=} options.maxSeatCount 最大麦位数量 (创建房间可选参数)<br>
1828
+ * @param {number=} options.maxSeatCount 最大麦位数量 (创建房间可选参数)
1829
+ * @param {string=} [options.password=''] 房间密码,(该属性自 v2.5.0 版本支持) <br>
1090
1830
  * roomType 为 TUIRoomType.kConference (教育及会议场景) 时,maxSeatCount 值不做限制;
1091
1831
  * roomType 为 TUIRoomType.kLive(直播场景) 时,maxSeatCount 最大限制为 16;
1092
1832
  * @returns {Promise<void>}
@@ -1098,6 +1838,7 @@ declare class TUIRoomEngine {
1098
1838
  * roomName: 'Test Room', // 填入您的房间名称, 房间名称默认为 roomId,最长 30 字节
1099
1839
  * roomType: TUIRoomType.kConference, // 设置房间类型为 TUIRoomType.kConference 类型
1100
1840
  * isSeatEnabled: false, // 不开启麦位控制
1841
+ * password: '1234', // 填入您的房间密码,不填入则不设置房间密码
1101
1842
  * });
1102
1843
  */
1103
1844
  createRoom(options: {
@@ -1111,12 +1852,14 @@ declare class TUIRoomEngine {
1111
1852
  isCameraDisableForAllUser?: boolean;
1112
1853
  isMessageDisableForAllUser?: boolean;
1113
1854
  maxSeatCount?: number;
1855
+ password?: string;
1114
1856
  }): Promise<void>;
1115
1857
  /**
1116
1858
  * 进入房间接口
1117
1859
  * @param {object} options
1118
1860
  * @param {string} options.roomId 房间号,字符串类型
1119
1861
  * @param {TUIRoomType} options.roomType 房间类型, 默认值为 TUIRoomType.kConference (自 v2.3.0 支持)
1862
+ * @param {TUIEnterRoomOptions} options.options 进入房间的可选参数 (自 v2.5.0 支持)
1120
1863
  * @returns {Promise<TUIRoomInfo>} roomInfo
1121
1864
  * 该接口返回当前房间信息
1122
1865
  *
@@ -1125,11 +1868,15 @@ declare class TUIRoomEngine {
1125
1868
  * const roomDetailInfo = await roomEngine.enterRoom({
1126
1869
  * roomId: '12345',
1127
1870
  * roomType: TUIRoomType.kConference, // 设置房间类型为 TUIRoomType.kConference 类型
1871
+ * options: {
1872
+ * password: '1234',
1873
+ * }
1128
1874
  * });
1129
1875
  */
1130
1876
  enterRoom(options: {
1131
1877
  roomId: string;
1132
1878
  roomType: TUIRoomType;
1879
+ options?: TUIEnterRoomOptions;
1133
1880
  }): Promise<TUIRoomInfo>;
1134
1881
  /**
1135
1882
  * 解散房间接口,解散房间必须由房间所有者发起,解散房间之后房间不可进入
@@ -1151,14 +1898,21 @@ declare class TUIRoomEngine {
1151
1898
  exitRoom(): Promise<void>;
1152
1899
  /**
1153
1900
  * 获取房间信息
1901
+ * @param {object} options
1902
+ * @param {string} options.roomId 要获取信息的房间Id。
1903
+ * @param {TUIRoomType} options.roomType 要获取信息的房间类型。
1154
1904
  * @returns {Promise<TUIRoomInfo>} roomInfo
1155
- * 获取房间信息
1156
- *
1157
1905
  * @example
1158
1906
  * const roomEngine = new TUIRoomEngine();
1159
- * const roomInfo = await roomEngine.fetchRoomInfo();
1907
+ * const roomInfo = await roomEngine.fetchRoomInfo({
1908
+ * roomId: '12345',
1909
+ * roomType: TUIRoomType.kConference,
1910
+ * });
1160
1911
  */
1161
- fetchRoomInfo(): Promise<TUIRoomInfo>;
1912
+ fetchRoomInfo(options?: {
1913
+ roomId: string;
1914
+ roomType: TUIRoomType;
1915
+ }): Promise<TUIRoomInfo>;
1162
1916
  /**
1163
1917
  * 更新房间的名字(仅群主或者管理员可以调用)
1164
1918
  * @param {object} options
@@ -1172,16 +1926,6 @@ declare class TUIRoomEngine {
1172
1926
  updateRoomNameByAdmin(options: {
1173
1927
  roomName: string;
1174
1928
  }): Promise<void>;
1175
- /**
1176
- * 更新房间的发言模式(仅群主或者管理员可以调用)
1177
- * @deprecated 该接口自 v2.0.0 版本废弃
1178
- * @param {object} options
1179
- * @param {TUISpeechMode} options.speechMode 发言类型
1180
- * @returns {Promise<void>}
1181
- */
1182
- updateRoomSpeechModeByAdmin(options: {
1183
- speechMode: TUISpeechMode;
1184
- }): Promise<void>;
1185
1929
  /**
1186
1930
  * 更新房间上麦模式(仅群主或者管理员可以调用)
1187
1931
  * 房间上麦模式更新后,roomEngine 会通过 TUIRoomEvents.onRoomSeatModeChanged 回调通知房间内用户
@@ -1199,6 +1943,23 @@ declare class TUIRoomEngine {
1199
1943
  updateRoomSeatModeByAdmin(options: {
1200
1944
  seatMode: TUISeatMode;
1201
1945
  }): Promise<void>;
1946
+ /**
1947
+ * 更新房间密码(仅群主或者管理员可以调用)
1948
+ *
1949
+ * @since v2.5.0
1950
+ * @param {object} options
1951
+ * @param {string} options.password 房间密码,传入空字符串则代表关闭房间密码
1952
+ * @returns {Promise<void>}
1953
+ *
1954
+ * @example
1955
+ * const roomEngine = new TUIRoomEngine();
1956
+ * await roomEngine.updateRoomPasswordByAdmin({
1957
+ * password: '1234', // 更新密码为 1234
1958
+ * });
1959
+ */
1960
+ updateRoomPasswordByAdmin(options: {
1961
+ password: string;
1962
+ }): Promise<void>;
1202
1963
  /**
1203
1964
  * 获取当前房间用户列表,注意该接口一次拉取的用户列表量最大为 50 个
1204
1965
  *
@@ -1772,6 +2533,27 @@ declare class TUIRoomEngine {
1772
2533
  userId: string;
1773
2534
  userRole: TUIRole;
1774
2535
  }): Promise<void>;
2536
+ /**
2537
+ * 修改房间内用户名称
2538
+ * @since v2.5.0
2539
+ * @param {object} options 修改房间内用户名称,普通成员可修改自己的,管理员可修改自己和普通成员的。
2540
+ * @param {string} options.userId 用户 Id
2541
+ * @param {string} options.nameCard 房间内用户名称
2542
+ * @returns {Promise<void>}
2543
+ *
2544
+ * @example
2545
+ * const roomEngine = new TUIRoomEngine();
2546
+ * // 修改房间内用户名称
2547
+ * await roomEngine.changeUserNameCard({
2548
+ * userId: 'user_1234',
2549
+ * nameCard: 'jack',
2550
+ * });
2551
+ *
2552
+ */
2553
+ changeUserNameCard(options: {
2554
+ userId: string;
2555
+ nameCard: string;
2556
+ }): Promise<void>;
1775
2557
  /**
1776
2558
  * 将用户踢出房间,仅主持人和管理员可调用该接口
1777
2559
  * @param {object} options
@@ -2108,7 +2890,7 @@ declare class TUIRoomEngine {
2108
2890
  * roomEngine.on(event, func);
2109
2891
  */
2110
2892
  on(event: TUIRoomEvents, func: (...args: any[]) => void): void;
2111
- private setObserver;
2893
+ private observerFunction;
2112
2894
  private supportForDeprecatedEvents;
2113
2895
  /**
2114
2896
  * 取消监听 roomEngine 的事件
@@ -2260,16 +3042,38 @@ declare class TUIRoomEngine {
2260
3042
  * @returns {TUIRoomDeviceManager} deviceManager
2261
3043
  */
2262
3044
  getMediaDeviceManager(): TUIRoomDeviceManager;
3045
+ /**
3046
+ * v2.5.0 版本起支持使用 getConferenceListManager 获取 conferenceListManager 模块
3047
+ * @since v2.5.0
3048
+ *
3049
+ * @example
3050
+ * // 获取会议列表
3051
+ * const conferenceListManager = roomEngine.getConferenceListManager();
3052
+ *
3053
+ * @returns {TUIConferenceListManager} conferenceListManager
3054
+ */
3055
+ getConferenceListManager(): TUIConferenceListManager;
3056
+ /**
3057
+ * v2.6.0 版本起支持使用 getConferenceInvitationManager 获取 conferenceInvitation 模块
3058
+ * @since v2.6.0
3059
+ *
3060
+ * @example
3061
+ * //获取会中邀请
3062
+ * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager();
3063
+ *
3064
+ * @returns {TUIConferenceInvitationManager} conferenceInvitationManager
3065
+ */
3066
+ getConferenceInvitationManager(): TUIConferenceInvitationManager;
2263
3067
  /**
2264
3068
  * 获取 trtcCloud 实例
2265
3069
  * @returns {TRTCCloud} trtcCloud
2266
- * web 端 trtcCloud 能力请查看:https://web.sdk.qcloud.com/trtc/webrtc/trtcCloud/doc/TRTCCloud.html
3070
+ * web 端 trtcCloud 能力请查看:https://web.sdk.qcloud.com/trtc/webrtc/trtcCloud/doc/this.trtcCloud.html
2267
3071
  *
2268
3072
  * @example
2269
3073
  * const roomEngine = new TUIRoomEngine();
2270
3074
  * const trtcCloud = roomEngine.getTRTCCloud();
2271
3075
  */
2272
- getTRTCCloud(): TRTCCloud;
3076
+ getTRTCCloud(): any;
2273
3077
  /**
2274
3078
  * 获取 tim 实例
2275
3079
  * @returns {TIM} tim
@@ -2291,4 +3095,4 @@ declare class TUIRoomEngine {
2291
3095
  private static handleSetFramework;
2292
3096
  }
2293
3097
 
2294
- export { TRTCRole, TUIAudioQuality, TUIAudioRoute, TUICaptureSourceType, TUIChangeReason, type TUIDeviceInfo, TUIErrorCode, TUIKickedOutOfRoomReason, type TUILoginUserInfo, TUIMediaDevice, TUIMediaDeviceState, TUIMediaDeviceType, type TUIMessage, type TUINetwork, TUINetworkQuality, type TUIRequest, TUIRequestAction, type TUIRequestCallback, TUIRequestCallbackType, TUIResolutionMode, TUIRole, TUIRoomDeviceManager, TUIRoomDeviceMangerEvents, TUIRoomDismissedReason, TUIRoomEvents, type TUIRoomInfo, TUIRoomType, type TUISeatInfo, type TUISeatLockParams, TUISeatMode, TUISpeechMode, type TUIUserInfo, type TUIVideoEncoderParams, TUIVideoQuality, TUIVideoStreamType, TUIRoomEngine as default };
3098
+ export { TRTCRole, TUIAudioQuality, TUIAudioRoute, TUICaptureSourceType, TUIChangeReason, TUIConferenceCancelReason, type TUIConferenceInfo, TUIConferenceInvitationManager, TUIConferenceInvitationManagerEvents, TUIConferenceListManager, TUIConferenceListManagerEvents, type TUIConferenceModifyInfo, TUIConferenceStatus, type TUIDeviceInfo, type TUIEnterRoomOptions, TUIErrorCode, type TUIInvitation, TUIInvitationCode, TUIInvitationRejectedReason, TUIInvitationStatus, TUIKickedOutOfRoomReason, type TUILoginUserInfo, TUIMediaDevice, TUIMediaDeviceState, TUIMediaDeviceType, type TUIMessage, type TUINetwork, TUINetworkQuality, type TUIRequest, TUIRequestAction, type TUIRequestCallback, TUIRequestCallbackType, TUIResolutionMode, TUIRole, TUIRoomDeviceManager, TUIRoomDeviceMangerEvents, TUIRoomDismissedReason, TUIRoomEvents, type TUIRoomInfo, TUIRoomType, type TUISeatInfo, type TUISeatLockParams, TUISeatMode, type TUIUserInfo, type TUIVideoEncoderParams, TUIVideoQuality, TUIVideoStreamType, TUIRoomEngine as default };