@tencentcloud/roomkit-electron-vue3 2.7.1 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.d.ts +2 -0
- package/es/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.mjs +67 -0
- package/es/components/Chat/ChatKit/components/TUIChat/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/index.vue2.mjs +23 -10
- package/es/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue2.mjs +14 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.vue.d.ts +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue2.mjs +13 -13
- package/es/components/Chat/ChatKit/components/TUIChat/message-list/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-list/index.vue2.mjs +2 -2
- package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue2.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/message-revoked.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue2.mjs +2 -1
- package/es/components/Chat/ChatKit/components/TUIChat/server.d.ts +1 -1
- package/es/components/Chat/ChatKit/components/TUIChat/server.mjs +12 -3
- package/es/components/Chat/ChatKit/components/TUIChat/utils/sendMessage.mjs +2 -1
- package/es/components/Chat/ChatKit/components/common/BottomPopup/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/common/BottomPopup/index.vue2.mjs +2 -2
- package/es/components/Chat/ChatKit/components/common/ImagePreviewer/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/common/Overlay/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/common/Toast/index.vue.d.ts +1 -1
- package/es/components/Chat/ChatKit/components/common/Transfer/index.vue.mjs +1 -1
- package/es/components/Chat/ChatKit/components/common/Transfer/index.vue2.mjs +3 -3
- package/es/components/Chat/ChatKit/locales/en/TUIChat.d.ts +3 -0
- package/es/components/Chat/ChatKit/locales/en/TUIChat.mjs +5 -2
- package/es/components/Chat/ChatKit/locales/en/index.d.ts +3 -0
- package/es/components/Chat/ChatKit/locales/en/message.mjs +2 -2
- package/es/components/Chat/ChatKit/locales/index.d.ts +4 -1083
- package/es/components/Chat/ChatKit/locales/index.mjs +3 -1
- package/es/components/Chat/ChatKit/locales/zh_cn/TUIChat.d.ts +3 -0
- package/es/components/Chat/ChatKit/locales/zh_cn/TUIChat.mjs +4 -1
- package/es/components/Chat/ChatKit/locales/zh_cn/index.d.ts +3 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIChat.d.ts +153 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIChat.mjs +155 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIContact.d.ts +65 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIContact.mjs +67 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIConversation.d.ts +23 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIConversation.mjs +25 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIGroup.d.ts +86 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUIGroup.mjs +88 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUISearch.d.ts +40 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/TUISearch.mjs +42 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/component.d.ts +20 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/component.mjs +22 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/emoji.d.ts +3 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/emoji.mjs +4 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/evaluate.d.ts +10 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/evaluate.mjs +12 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/index.d.ts +513 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/index.mjs +39 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/message.d.ts +61 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/message.mjs +63 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/time.d.ts +36 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/time.mjs +38 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/translate.d.ts +163 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/words.d.ts +13 -0
- package/es/components/Chat/ChatKit/locales/zh_tw/words.mjs +15 -0
- package/es/components/Chat/ChatKit/utils/riseInput.d.ts +1 -0
- package/es/components/Chat/ChatKit/utils/riseInput.mjs +45 -0
- package/es/components/Chat/index/index.vue.mjs +1 -1
- package/es/components/Chat/index/index.vue2.mjs +4 -19
- package/es/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +2 -2
- package/es/components/ManageMember/MemberControl/useMemberControlHooks.mjs +3 -3
- package/es/components/ManageMember/MemberInvite/MemberInvite.vue2.mjs +1 -1
- package/es/components/PreRoom/PasswordDialog.vue.mjs +1 -1
- package/es/components/PreRoom/PasswordDialog.vue2.mjs +21 -12
- package/es/components/RoomContent/StreamContainer/index.vue.d.ts +1 -14
- package/es/components/RoomContent/StreamContainer/index.vue.mjs +1 -1
- package/es/components/RoomContent/StreamContainer/index.vue2.mjs +111 -262
- package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +2 -9
- package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.mjs +11 -0
- package/es/components/RoomContent/index.vue.d.ts +1 -14
- package/es/components/RoomContent/index.vue.mjs +1 -1
- package/es/components/RoomContent/index.vue2.mjs +1 -4
- package/es/components/RoomFooter/AIControl.vue.d.ts +1 -5
- package/es/components/RoomFooter/AIControl.vue.mjs +1 -1
- package/es/components/RoomFooter/AIControl.vue2.mjs +5 -8
- package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.mjs +1 -1
- package/es/components/RoomFooter/BasicBeauty.vue.mjs +1 -1
- package/es/components/RoomFooter/BasicBeauty.vue2.mjs +6 -3
- package/es/components/RoomFooter/ChatControl.vue.mjs +2 -1
- package/es/components/RoomFooter/EndControl/index.vue.mjs +1 -1
- package/es/components/RoomFooter/EndControl/index.vue2.mjs +4 -6
- package/es/components/RoomFooter/EndControl/useEndControlHooks.mjs +8 -12
- package/es/components/RoomFooter/FullScreenControl.vue.mjs +1 -1
- package/es/components/RoomFooter/InviteControl.vue.mjs +1 -1
- package/es/components/RoomFooter/InviteControl.vue2.mjs +2 -1
- package/es/components/RoomFooter/ManageMemberControl.vue.mjs +1 -1
- package/es/components/RoomFooter/MoreControl/index.vue.mjs +1 -1
- package/es/components/RoomFooter/ScreenShareControl/Index.vue.mjs +1 -1
- package/es/components/RoomFooter/ScreenShareControl/Index.vue2.mjs +3 -3
- package/es/components/RoomFooter/VirtualBackground.vue.mjs +1 -1
- package/es/components/RoomFooter/VirtualBackground.vue2.mjs +5 -2
- package/es/components/RoomFooter/WhiteboardControl.vue.mjs +13 -3
- package/es/components/RoomFooter/index/index.vue.d.ts +1 -5
- package/es/components/RoomFooter/index/index.vue.mjs +1 -1
- package/es/components/RoomFooter/index/index.vue2.mjs +2 -8
- package/es/components/RoomHeader/UserInfo/index.vue.mjs +1 -1
- package/es/components/RoomHeader/UserInfo/index.vue2.mjs +3 -2
- package/es/components/RoomHeader/index/LayoutControl.vue2.mjs +1 -1
- package/es/components/RoomHeader/index/index.vue.d.ts +1 -5
- package/es/components/RoomHeader/index/index.vue.mjs +1 -1
- package/es/components/RoomHeader/index/index.vue2.mjs +0 -15
- package/es/components/RoomHome/RoomControl/index.vue.d.ts +0 -5
- package/es/components/RoomHome/RoomControl/index.vue.mjs +1 -1
- package/es/components/RoomHome/RoomControl/index.vue2.mjs +1 -2
- package/es/components/RoomInvite/InvitationNotification.vue2.mjs +1 -1
- package/es/components/RoomInvite/useRoomInviteHooks.mjs +2 -2
- package/es/components/RoomOverlay/RoomOverlay.vue.mjs +16 -0
- package/es/components/RoomOverlay/RoomOverlay.vue2.mjs +4 -0
- package/es/components/RoomOverlay/useRoomOverlayHooks.d.ts +15 -0
- package/es/components/RoomOverlay/useRoomOverlayHooks.mjs +30 -0
- package/es/components/RoomSidebar/index.vue.mjs +1 -1
- package/es/components/ScheduleConference/InvitePanel.vue.mjs +1 -1
- package/es/components/ScheduleConference/ScheduleConferencePanel/index.vue.mjs +1 -1
- package/es/components/ScheduleConference/ScheduleConferencePanel/index.vue2.mjs +11 -7
- package/es/components/ScheduleConference/ScheduleRoomControl.vue.mjs +1 -1
- package/es/components/ScheduleConference/ScheduleRoomControl.vue2.mjs +3 -3
- package/es/components/ScheduleConference/ScheduleRoomList.vue2.mjs +2 -2
- package/es/components/ScheduleConference/ShareLink.vue2.mjs +1 -1
- package/es/components/ScheduleConference/TimezonePicker.vue.mjs +1 -1
- package/es/components/Stream/MultiStreamView/index.vue.d.ts +33 -0
- package/es/components/{Chat/MessageList → Stream/MultiStreamView}/index.vue.mjs +2 -2
- package/es/components/Stream/MultiStreamView/index.vue2.mjs +99 -0
- package/es/components/Stream/MultiStreamView/useMultiStreamViewHook.d.ts +17 -0
- package/es/components/Stream/MultiStreamView/useMultiStreamViewHook.mjs +95 -0
- package/es/components/Stream/SingleStreamView/index.vue.d.ts +25 -0
- package/es/components/Stream/SingleStreamView/index.vue.mjs +30 -0
- package/es/components/Stream/SingleStreamView/index.vue2.mjs +4 -0
- package/es/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue.mjs +1 -1
- package/es/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue2.mjs +23 -58
- package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.mjs +1 -1
- package/es/components/Stream/common/StreamList/index.vue.d.ts +27 -0
- package/es/components/{RoomContent → Stream/common}/StreamList/index.vue.mjs +2 -2
- package/es/components/{RoomContent → Stream/common}/StreamList/index.vue2.mjs +59 -95
- package/{lib/components/RoomContent/StreamRegion → es/components/Stream/common}/StreamPlay/index.vue.d.ts +9 -6
- package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue.mjs +1 -1
- package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue2.mjs +17 -12
- package/es/components/Stream/common/StreamRegion/index.vue.d.ts +25 -0
- package/es/components/{RoomContent → Stream/common}/StreamRegion/index.vue.mjs +2 -2
- package/es/components/{RoomContent → Stream/common}/StreamRegion/index.vue2.mjs +24 -27
- package/es/components/common/Language.vue.mjs +1 -1
- package/es/components/common/SwitchTheme.vue.mjs +1 -1
- package/es/components/common/base/Button.vue.d.ts +1 -1
- package/es/components/common/base/Checkbox/index.vue.d.ts +1 -1
- package/es/components/common/base/Dialog/index.vue.d.ts +4 -4
- package/es/components/common/base/IconButton.vue.d.ts +3 -3
- package/es/components/common/base/Input/index.vue.d.ts +4 -4
- package/es/components/common/base/Message/Message.vue.d.ts +4 -4
- package/es/components/common/base/MessageBox/index.vue.d.ts +1 -1
- package/es/components/common/base/Notification/index.vue.d.ts +1 -1
- package/es/components/common/base/Select/index.vue.d.ts +1 -1
- package/es/components/common/base/Select/index.vue2.mjs +1 -1
- package/es/components/common/base/Slider.vue.d.ts +1 -1
- package/es/components/{AITools → common/widgets/AITools}/AISubtitles.vue.mjs +2 -2
- package/es/components/{AITools → common/widgets/AITools}/AISubtitles.vue2.mjs +8 -7
- package/es/components/{AITools → common/widgets/AITools}/AITranscription.vue.mjs +2 -2
- package/es/components/{AITools → common/widgets/AITools}/AITranscription.vue2.mjs +9 -8
- package/es/conference.d.ts +6 -0
- package/es/conference.mjs +7 -1
- package/es/conference.vue.mjs +1 -1
- package/es/conference.vue2.mjs +14 -24
- package/es/extension/chatExtension.mjs +1 -1
- package/es/extension/utils/interact.mjs +1 -1
- package/es/extension/utils/setLanguage.mjs +1 -1
- package/es/hooks/useMasterApplyControl.mjs +2 -1
- package/es/index.d.ts +1 -0
- package/es/index.mjs +969 -1197
- package/es/locales/en-US.d.ts +2 -1
- package/es/locales/en-US.mjs +3 -2
- package/es/locales/zh-CN.d.ts +2 -1
- package/es/locales/zh-CN.mjs +2 -1
- package/es/preConference.vue.d.ts +5 -0
- package/es/preConference.vue.mjs +1 -1
- package/es/preConference.vue2.mjs +7 -4
- package/es/services/index.d.ts +1 -0
- package/es/services/manager/chatManager.d.ts +0 -2
- package/es/services/manager/chatManager.mjs +6 -12
- package/{lib/services/manager/MediaManager.d.ts → es/services/manager/mediaManager.d.ts} +16 -13
- package/es/services/manager/{MediaManager.mjs → mediaManager.mjs} +110 -113
- package/es/services/manager/roomActionManager.d.ts +3 -0
- package/es/services/manager/roomActionManager.mjs +7 -0
- package/es/services/manager/scheduleConferenceManager.d.ts +1 -0
- package/es/services/manager/scheduleConferenceManager.mjs +24 -1
- package/es/services/manager/trackingManager.d.ts +11 -0
- package/es/services/manager/trackingManager.mjs +20 -0
- package/es/services/manager/userManager.d.ts +11 -1
- package/es/services/manager/userManager.mjs +159 -9
- package/es/services/roomService.d.ts +3 -2
- package/es/services/roomService.mjs +23 -41
- package/es/stores/basic.mjs +6 -1
- package/es/stores/room.d.ts +29 -1
- package/es/stores/room.mjs +49 -59
- package/es/utils/domOperation.d.ts +4 -0
- package/es/utils/domOperation.mjs +17 -23
- package/es/utils/utils.d.ts +11 -0
- package/es/utils/utils.mjs +43 -0
- package/lib/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.d.ts +2 -0
- package/lib/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.js +67 -0
- package/lib/components/Chat/ChatKit/components/TUIChat/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/index.vue2.js +22 -9
- package/lib/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue2.js +13 -0
- package/lib/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.vue.d.ts +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue2.js +13 -13
- package/lib/components/Chat/ChatKit/components/TUIChat/message-list/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-list/index.vue2.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue2.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/message-revoked.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue2.js +1 -0
- package/lib/components/Chat/ChatKit/components/TUIChat/server.d.ts +1 -1
- package/lib/components/Chat/ChatKit/components/TUIChat/server.js +12 -3
- package/lib/components/Chat/ChatKit/components/TUIChat/utils/sendMessage.js +2 -1
- package/lib/components/Chat/ChatKit/components/common/BottomPopup/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/common/BottomPopup/index.vue2.js +2 -2
- package/lib/components/Chat/ChatKit/components/common/ImagePreviewer/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/common/Overlay/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/common/Toast/index.vue.d.ts +1 -1
- package/lib/components/Chat/ChatKit/components/common/Transfer/index.vue.js +1 -1
- package/lib/components/Chat/ChatKit/components/common/Transfer/index.vue2.js +2 -2
- package/lib/components/Chat/ChatKit/locales/en/TUIChat.d.ts +3 -0
- package/lib/components/Chat/ChatKit/locales/en/TUIChat.js +5 -2
- package/lib/components/Chat/ChatKit/locales/en/index.d.ts +3 -0
- package/lib/components/Chat/ChatKit/locales/en/message.js +2 -2
- package/lib/components/Chat/ChatKit/locales/index.d.ts +4 -1083
- package/lib/components/Chat/ChatKit/locales/index.js +3 -1
- package/lib/components/Chat/ChatKit/locales/zh_cn/TUIChat.d.ts +3 -0
- package/lib/components/Chat/ChatKit/locales/zh_cn/TUIChat.js +4 -1
- package/lib/components/Chat/ChatKit/locales/zh_cn/index.d.ts +3 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIChat.d.ts +153 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIChat.js +155 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIContact.d.ts +65 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIContact.js +67 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIConversation.d.ts +23 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIConversation.js +25 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIGroup.d.ts +86 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUIGroup.js +88 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUISearch.d.ts +40 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/TUISearch.js +42 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/component.d.ts +20 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/component.js +22 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/emoji.d.ts +3 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/emoji.js +4 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/evaluate.d.ts +10 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/evaluate.js +12 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/index.d.ts +513 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/index.js +39 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/message.d.ts +61 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/message.js +63 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/time.d.ts +36 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/time.js +38 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/translate.d.ts +163 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/words.d.ts +13 -0
- package/lib/components/Chat/ChatKit/locales/zh_tw/words.js +15 -0
- package/lib/components/Chat/ChatKit/utils/riseInput.d.ts +1 -0
- package/lib/components/Chat/ChatKit/utils/riseInput.js +45 -0
- package/lib/components/Chat/index/index.vue.js +1 -1
- package/lib/components/Chat/index/index.vue2.js +2 -17
- package/lib/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +2 -2
- package/lib/components/ManageMember/MemberControl/useMemberControlHooks.js +3 -3
- package/lib/components/ManageMember/MemberInvite/MemberInvite.vue2.js +1 -1
- package/lib/components/PreRoom/PasswordDialog.vue.js +1 -1
- package/lib/components/PreRoom/PasswordDialog.vue2.js +20 -11
- package/lib/components/RoomContent/StreamContainer/index.vue.d.ts +1 -14
- package/lib/components/RoomContent/StreamContainer/index.vue.js +1 -1
- package/lib/components/RoomContent/StreamContainer/index.vue2.js +109 -260
- package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +2 -9
- package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.js +11 -0
- package/lib/components/RoomContent/index.vue.d.ts +1 -14
- package/lib/components/RoomContent/index.vue.js +1 -1
- package/lib/components/RoomContent/index.vue2.js +1 -4
- package/lib/components/RoomFooter/AIControl.vue.d.ts +1 -5
- package/lib/components/RoomFooter/AIControl.vue.js +1 -1
- package/lib/components/RoomFooter/AIControl.vue2.js +5 -8
- package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.js +1 -1
- package/lib/components/RoomFooter/BasicBeauty.vue.js +1 -1
- package/lib/components/RoomFooter/BasicBeauty.vue2.js +6 -3
- package/lib/components/RoomFooter/ChatControl.vue.js +2 -1
- package/lib/components/RoomFooter/EndControl/index.vue.js +1 -1
- package/lib/components/RoomFooter/EndControl/index.vue2.js +4 -6
- package/lib/components/RoomFooter/EndControl/useEndControlHooks.js +8 -12
- package/lib/components/RoomFooter/FullScreenControl.vue.js +1 -1
- package/lib/components/RoomFooter/InviteControl.vue.js +1 -1
- package/lib/components/RoomFooter/InviteControl.vue2.js +2 -1
- package/lib/components/RoomFooter/ManageMemberControl.vue.js +1 -1
- package/lib/components/RoomFooter/MoreControl/index.vue.js +1 -1
- package/lib/components/RoomFooter/ScreenShareControl/Index.vue.js +1 -1
- package/lib/components/RoomFooter/ScreenShareControl/Index.vue2.js +3 -3
- package/lib/components/RoomFooter/VirtualBackground.vue.js +1 -1
- package/lib/components/RoomFooter/VirtualBackground.vue2.js +5 -2
- package/lib/components/RoomFooter/WhiteboardControl.vue.js +13 -3
- package/lib/components/RoomFooter/index/index.vue.d.ts +1 -5
- package/lib/components/RoomFooter/index/index.vue.js +1 -1
- package/lib/components/RoomFooter/index/index.vue2.js +2 -8
- package/lib/components/RoomHeader/UserInfo/index.vue.js +1 -1
- package/lib/components/RoomHeader/UserInfo/index.vue2.js +3 -2
- package/lib/components/RoomHeader/index/LayoutControl.vue2.js +1 -1
- package/lib/components/RoomHeader/index/index.vue.d.ts +1 -5
- package/lib/components/RoomHeader/index/index.vue.js +1 -1
- package/lib/components/RoomHeader/index/index.vue2.js +0 -15
- package/lib/components/RoomHome/RoomControl/index.vue.d.ts +0 -5
- package/lib/components/RoomHome/RoomControl/index.vue.js +1 -1
- package/lib/components/RoomHome/RoomControl/index.vue2.js +1 -2
- package/lib/components/RoomInvite/InvitationNotification.vue2.js +1 -1
- package/lib/components/RoomInvite/useRoomInviteHooks.js +2 -2
- package/lib/components/RoomOverlay/RoomOverlay.vue.js +16 -0
- package/lib/components/RoomOverlay/RoomOverlay.vue2.js +4 -0
- package/lib/components/RoomOverlay/useRoomOverlayHooks.d.ts +15 -0
- package/lib/components/RoomOverlay/useRoomOverlayHooks.js +30 -0
- package/lib/components/RoomSidebar/index.vue.js +1 -1
- package/lib/components/ScheduleConference/InvitePanel.vue.js +1 -1
- package/lib/components/ScheduleConference/ScheduleConferencePanel/index.vue.js +1 -1
- package/lib/components/ScheduleConference/ScheduleConferencePanel/index.vue2.js +11 -7
- package/lib/components/ScheduleConference/ScheduleRoomControl.vue.js +1 -1
- package/lib/components/ScheduleConference/ScheduleRoomControl.vue2.js +3 -3
- package/lib/components/ScheduleConference/ScheduleRoomList.vue2.js +2 -2
- package/lib/components/ScheduleConference/ShareLink.vue2.js +1 -1
- package/lib/components/ScheduleConference/TimezonePicker.vue.js +1 -1
- package/lib/components/Stream/MultiStreamView/index.vue.d.ts +33 -0
- package/lib/components/{Chat/MessageList → Stream/MultiStreamView}/index.vue.js +2 -2
- package/lib/components/Stream/MultiStreamView/index.vue2.js +99 -0
- package/lib/components/Stream/MultiStreamView/useMultiStreamViewHook.d.ts +17 -0
- package/lib/components/Stream/MultiStreamView/useMultiStreamViewHook.js +95 -0
- package/lib/components/Stream/SingleStreamView/index.vue.d.ts +25 -0
- package/lib/components/Stream/SingleStreamView/index.vue.js +30 -0
- package/lib/components/Stream/SingleStreamView/index.vue2.js +4 -0
- package/lib/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue.js +1 -1
- package/lib/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue2.js +22 -57
- package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.js +1 -1
- package/lib/components/Stream/common/StreamList/index.vue.d.ts +27 -0
- package/lib/components/{RoomContent → Stream/common}/StreamList/index.vue.js +2 -2
- package/lib/components/{RoomContent → Stream/common}/StreamList/index.vue2.js +60 -96
- package/{es/components/RoomContent/StreamRegion → lib/components/Stream/common}/StreamPlay/index.vue.d.ts +9 -6
- package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue.js +1 -1
- package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue2.js +21 -16
- package/lib/components/Stream/common/StreamRegion/index.vue.d.ts +25 -0
- package/lib/components/{RoomContent → Stream/common}/StreamRegion/index.vue.js +2 -2
- package/lib/components/{RoomContent → Stream/common}/StreamRegion/index.vue2.js +24 -27
- package/lib/components/common/Language.vue.js +1 -1
- package/lib/components/common/SwitchTheme.vue.js +1 -1
- package/lib/components/common/base/Button.vue.d.ts +1 -1
- package/lib/components/common/base/Checkbox/index.vue.d.ts +1 -1
- package/lib/components/common/base/Dialog/index.vue.d.ts +4 -4
- package/lib/components/common/base/IconButton.vue.d.ts +3 -3
- package/lib/components/common/base/Input/index.vue.d.ts +4 -4
- package/lib/components/common/base/Message/Message.vue.d.ts +4 -4
- package/lib/components/common/base/MessageBox/index.vue.d.ts +1 -1
- package/lib/components/common/base/Notification/index.vue.d.ts +1 -1
- package/lib/components/common/base/Select/index.vue.d.ts +1 -1
- package/lib/components/common/base/Select/index.vue2.js +1 -1
- package/lib/components/common/base/Slider.vue.d.ts +1 -1
- package/lib/components/{AITools → common/widgets/AITools}/AISubtitles.vue.js +2 -2
- package/lib/components/{AITools → common/widgets/AITools}/AISubtitles.vue2.js +8 -7
- package/lib/components/{AITools → common/widgets/AITools}/AITranscription.vue.js +2 -2
- package/lib/components/{AITools → common/widgets/AITools}/AITranscription.vue2.js +9 -8
- package/lib/conference.d.ts +6 -0
- package/lib/conference.js +7 -1
- package/lib/conference.vue.js +1 -1
- package/lib/conference.vue2.js +14 -24
- package/lib/extension/chatExtension.js +1 -1
- package/lib/extension/utils/interact.js +1 -1
- package/lib/extension/utils/setLanguage.js +1 -1
- package/lib/hooks/useMasterApplyControl.js +2 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +969 -1197
- package/lib/locales/en-US.d.ts +2 -1
- package/lib/locales/en-US.js +3 -2
- package/lib/locales/zh-CN.d.ts +2 -1
- package/lib/locales/zh-CN.js +2 -1
- package/lib/preConference.vue.d.ts +5 -0
- package/lib/preConference.vue.js +1 -1
- package/lib/preConference.vue2.js +6 -3
- package/lib/services/index.d.ts +1 -0
- package/lib/services/manager/chatManager.d.ts +0 -2
- package/lib/services/manager/chatManager.js +6 -12
- package/{es/services/manager/MediaManager.d.ts → lib/services/manager/mediaManager.d.ts} +16 -13
- package/lib/services/manager/{MediaManager.js → mediaManager.js} +109 -112
- package/lib/services/manager/roomActionManager.d.ts +3 -0
- package/lib/services/manager/roomActionManager.js +7 -0
- package/lib/services/manager/scheduleConferenceManager.d.ts +1 -0
- package/lib/services/manager/scheduleConferenceManager.js +23 -0
- package/lib/services/manager/trackingManager.d.ts +11 -0
- package/lib/services/manager/trackingManager.js +20 -0
- package/lib/services/manager/userManager.d.ts +11 -1
- package/lib/services/manager/userManager.js +158 -8
- package/lib/services/roomService.d.ts +3 -2
- package/lib/services/roomService.js +24 -42
- package/lib/stores/basic.js +6 -1
- package/lib/stores/room.d.ts +29 -1
- package/lib/stores/room.js +49 -59
- package/lib/utils/domOperation.d.ts +4 -0
- package/lib/utils/domOperation.js +17 -23
- package/lib/utils/utils.d.ts +11 -0
- package/lib/utils/utils.js +43 -0
- package/package.json +4 -4
- package/src/TUIRoom/components/Chat/ChatKit/CHANGELOG.md +35 -0
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.ts +66 -0
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/index.vue +24 -8
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue +15 -1
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue +13 -13
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/index.vue +1 -1
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue +2 -1
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/message-revoked.vue +4 -6
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue +9 -3
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/server.ts +12 -3
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/utils/sendMessage.ts +1 -0
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIContact/contact-list/index.vue +3 -1
- package/src/TUIRoom/components/Chat/ChatKit/components/TUIGroup/manage-group/index.vue +2 -2
- package/src/TUIRoom/components/Chat/ChatKit/components/common/BottomPopup/index.vue +1 -1
- package/src/TUIRoom/components/Chat/ChatKit/components/common/BottomPopup/style/h5.scss +4 -3
- package/src/TUIRoom/components/Chat/ChatKit/components/common/BottomPopup/style/modal.scss +0 -2
- package/src/TUIRoom/components/Chat/ChatKit/components/common/ImagePreviewer/index.vue +2 -2
- package/src/TUIRoom/components/Chat/ChatKit/components/common/Overlay/index.vue +5 -0
- package/src/TUIRoom/components/Chat/ChatKit/components/common/Transfer/index.vue +2 -2
- package/src/TUIRoom/components/Chat/ChatKit/locales/en/TUIChat.ts +4 -1
- package/src/TUIRoom/components/Chat/ChatKit/locales/en/message.ts +2 -2
- package/src/TUIRoom/components/Chat/ChatKit/locales/index.ts +9 -3
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_cn/TUIChat.ts +3 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIChat.ts +154 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIContact.ts +66 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIConversation.ts +24 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIGroup.ts +87 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUISearch.ts +41 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/component.ts +21 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/emoji.ts +2 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/evaluate.ts +11 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/index.ts +41 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/message.ts +62 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/time.ts +37 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/translate.ts +164 -0
- package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/words.ts +14 -0
- package/src/TUIRoom/components/Chat/ChatKit/utils/riseInput.ts +53 -0
- package/src/TUIRoom/components/Chat/index/index.vue +2 -20
- package/src/TUIRoom/components/ManageMember/MemberControl/useMemberControlHooks.ts +7 -4
- package/src/TUIRoom/components/PreRoom/PasswordDialog.vue +21 -11
- package/src/TUIRoom/components/RoomContent/StreamContainer/index.vue +107 -384
- package/src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts +5 -112
- package/src/TUIRoom/components/RoomContent/index.vue +1 -5
- package/src/TUIRoom/components/RoomFooter/AIControl.vue +7 -6
- package/src/TUIRoom/components/RoomFooter/BasicBeauty.vue +1 -1
- package/src/TUIRoom/components/RoomFooter/ChatControl.vue +1 -0
- package/src/TUIRoom/components/RoomFooter/EndControl/index.vue +4 -3
- package/src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts +4 -10
- package/src/TUIRoom/components/RoomFooter/InviteControl.vue +1 -0
- package/src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue +3 -3
- package/src/TUIRoom/components/RoomFooter/VirtualBackground.vue +1 -1
- package/src/TUIRoom/components/RoomFooter/WhiteboardControl.vue +13 -2
- package/src/TUIRoom/components/RoomFooter/index/index.vue +0 -6
- package/src/TUIRoom/components/RoomHeader/UserInfo/index.vue +2 -5
- package/src/TUIRoom/components/RoomHeader/index/index.vue +0 -17
- package/src/TUIRoom/components/RoomHome/RoomControl/index.vue +0 -2
- package/src/TUIRoom/components/RoomInvite/useRoomInviteHooks.ts +2 -2
- package/src/TUIRoom/components/RoomOverlay/RoomOverlay.vue +13 -0
- package/src/TUIRoom/components/RoomOverlay/useRoomOverlayHooks.ts +21 -0
- package/src/TUIRoom/components/RoomSidebar/index.vue +1 -1
- package/src/TUIRoom/components/ScheduleConference/InvitePanel.vue +1 -0
- package/src/TUIRoom/components/ScheduleConference/ScheduleConferencePanel/index.vue +10 -4
- package/src/TUIRoom/components/ScheduleConference/ScheduleRoomControl.vue +1 -0
- package/src/TUIRoom/components/Stream/MultiStreamView/index.vue +161 -0
- package/src/TUIRoom/components/Stream/MultiStreamView/useMultiStreamViewHook.ts +107 -0
- package/src/TUIRoom/components/Stream/SingleStreamView/index.vue +32 -0
- package/src/TUIRoom/components/Stream/common/LocalScreenView/index.vue +150 -0
- package/src/TUIRoom/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue +1 -6
- package/src/TUIRoom/components/{RoomContent → Stream/common}/StreamList/index.vue +74 -124
- package/src/TUIRoom/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue +28 -13
- package/src/TUIRoom/components/{RoomContent → Stream/common}/StreamRegion/index.vue +27 -32
- package/src/TUIRoom/components/common/base/Swiper.vue +20 -6
- package/src/TUIRoom/components/{AITools → common/widgets/AITools}/AISubtitles.vue +2 -2
- package/src/TUIRoom/components/{AITools → common/widgets/AITools}/AITranscription.vue +3 -3
- package/src/TUIRoom/conference.ts +14 -0
- package/src/TUIRoom/conference.vue +10 -23
- package/src/TUIRoom/hooks/useMasterApplyControl.ts +2 -1
- package/src/TUIRoom/index.ts +3 -1
- package/src/TUIRoom/locales/en-US.ts +4 -3
- package/src/TUIRoom/locales/zh-CN.ts +3 -1
- package/src/TUIRoom/preConference.vue +3 -1
- package/src/TUIRoom/services/index.ts +1 -0
- package/src/TUIRoom/services/manager/chatManager.ts +7 -16
- package/src/TUIRoom/services/manager/{MediaManager.ts → mediaManager.ts} +125 -136
- package/src/TUIRoom/services/manager/roomActionManager.ts +5 -0
- package/src/TUIRoom/services/manager/scheduleConferenceManager.ts +24 -1
- package/src/TUIRoom/services/manager/trackingManager.ts +22 -0
- package/src/TUIRoom/services/manager/userManager.ts +201 -7
- package/src/TUIRoom/services/roomService.ts +5 -24
- package/src/TUIRoom/stores/basic.ts +6 -0
- package/src/TUIRoom/stores/room.ts +60 -71
- package/src/TUIRoom/utils/domOperation.ts +27 -0
- package/src/TUIRoom/utils/utils.ts +61 -0
- package/es/components/Chat/ChatEditor/index.vue.mjs +0 -7
- package/es/components/Chat/ChatEditor/index.vue2.mjs +0 -45
- package/es/components/Chat/ChatEditor/useChatEditor.mjs +0 -83
- package/es/components/Chat/EditorTools/index.vue.d.ts +0 -6
- package/es/components/Chat/EditorTools/index.vue.mjs +0 -7
- package/es/components/Chat/EditorTools/index.vue2.mjs +0 -59
- package/es/components/Chat/MessageList/index.vue2.mjs +0 -101
- package/es/components/Chat/MessageList/useMessageListHook.mjs +0 -142
- package/es/components/Chat/MessageTypes/MessageText.vue.d.ts +0 -8
- package/es/components/Chat/MessageTypes/MessageText.vue.mjs +0 -7
- package/es/components/Chat/MessageTypes/MessageText.vue2.mjs +0 -31
- package/es/components/Chat/util.mjs +0 -432
- package/es/components/RoomContent/StreamList/index.vue.d.ts +0 -39
- package/es/components/RoomContent/StreamRegion/LocalScreenView/index.vue.d.ts +0 -14
- package/es/components/RoomContent/StreamRegion/index.vue.d.ts +0 -42
- package/es/components/common/icons/EmojiIcon.vue.mjs +0 -21
- package/lib/components/Chat/ChatEditor/index.vue.js +0 -7
- package/lib/components/Chat/ChatEditor/index.vue2.js +0 -45
- package/lib/components/Chat/ChatEditor/useChatEditor.js +0 -83
- package/lib/components/Chat/EditorTools/index.vue.d.ts +0 -6
- package/lib/components/Chat/EditorTools/index.vue.js +0 -7
- package/lib/components/Chat/EditorTools/index.vue2.js +0 -59
- package/lib/components/Chat/MessageList/index.vue.d.ts +0 -2
- package/lib/components/Chat/MessageList/index.vue2.js +0 -101
- package/lib/components/Chat/MessageList/useMessageListHook.js +0 -142
- package/lib/components/Chat/MessageTypes/MessageText.vue.d.ts +0 -8
- package/lib/components/Chat/MessageTypes/MessageText.vue.js +0 -7
- package/lib/components/Chat/MessageTypes/MessageText.vue2.js +0 -31
- package/lib/components/Chat/util.js +0 -432
- package/lib/components/RoomContent/StreamList/index.vue.d.ts +0 -39
- package/lib/components/RoomContent/StreamRegion/LocalScreenView/index.vue.d.ts +0 -14
- package/lib/components/RoomContent/StreamRegion/index.vue.d.ts +0 -42
- package/lib/components/common/icons/EmojiIcon.vue.d.ts +0 -2
- package/lib/components/common/icons/EmojiIcon.vue.js +0 -21
- /package/es/components/{AITools/AISubtitles.vue.d.ts → RoomOverlay/RoomOverlay.vue.d.ts} +0 -0
- /package/es/components/{Chat/ChatEditor → Stream/common/LocalScreenView}/index.vue.d.ts +0 -0
- /package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.d.ts +0 -0
- /package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue2.mjs +0 -0
- /package/{lib/components → es/components/common/widgets}/AITools/AISubtitles.vue.d.ts +0 -0
- /package/es/components/{AITools → common/widgets/AITools}/AITranscription.vue.d.ts +0 -0
- /package/{es/components/Chat/MessageList/index.vue.d.ts → lib/components/RoomOverlay/RoomOverlay.vue.d.ts} +0 -0
- /package/lib/components/{Chat/ChatEditor → Stream/common/LocalScreenView}/index.vue.d.ts +0 -0
- /package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.d.ts +0 -0
- /package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue2.js +0 -0
- /package/{es/components/common/icons/EmojiIcon.vue.d.ts → lib/components/common/widgets/AITools/AISubtitles.vue.d.ts} +0 -0
- /package/lib/components/{AITools → common/widgets/AITools}/AITranscription.vue.d.ts +0 -0
|
@@ -5,11 +5,7 @@
|
|
|
5
5
|
ref="roomRef"
|
|
6
6
|
:class="tuiRoomClass"
|
|
7
7
|
>
|
|
8
|
-
<room-header
|
|
9
|
-
v-show="showRoomTool && showHeaderTool"
|
|
10
|
-
class="header"
|
|
11
|
-
@log-out="logOut"
|
|
12
|
-
/>
|
|
8
|
+
<room-header v-show="showRoomTool && showHeaderTool" class="header" />
|
|
13
9
|
<room-content
|
|
14
10
|
ref="roomContentRef"
|
|
15
11
|
v-tap.lazy="handleRoomContentTap"
|
|
@@ -23,7 +19,7 @@
|
|
|
23
19
|
/>
|
|
24
20
|
<room-sidebar />
|
|
25
21
|
<room-setting />
|
|
26
|
-
<
|
|
22
|
+
<room-overlay />
|
|
27
23
|
<RoomInviteOverlay v-if="overlayMap.RoomInviteOverlay.visible" />
|
|
28
24
|
<loading-overlay v-if="isShowLoading" />
|
|
29
25
|
<password-dialog
|
|
@@ -51,9 +47,9 @@ import RoomFooter from './components/RoomFooter/index/index.vue';
|
|
|
51
47
|
import RoomSidebar from './components/RoomSidebar/index.vue';
|
|
52
48
|
import RoomContent from './components/RoomContent/index.vue';
|
|
53
49
|
import RoomSetting from './components/RoomSetting/index.vue';
|
|
50
|
+
import RoomOverlay from './components/RoomOverlay/RoomOverlay.vue';
|
|
54
51
|
import LoadingOverlay from './components/PreRoom/LoadingOverlay.vue';
|
|
55
52
|
import PasswordDialog from './components/PreRoom/PasswordDialog.vue';
|
|
56
|
-
import AISubtitlesOverlay from './components/AITools/AISubtitles.vue';
|
|
57
53
|
import RoomInviteOverlay from './components/RoomInvite/index.vue';
|
|
58
54
|
import { debounce, throttle } from './utils/utils';
|
|
59
55
|
import { useBasicStore } from './stores/basic';
|
|
@@ -75,6 +71,7 @@ import {
|
|
|
75
71
|
RoomInitData,
|
|
76
72
|
} from './services/index';
|
|
77
73
|
import useDeviceManager from './hooks/useDeviceManager';
|
|
74
|
+
import { storeToRefs } from 'pinia';
|
|
78
75
|
|
|
79
76
|
const isShowPasswordContainer = ref(false);
|
|
80
77
|
const isShowLoading = ref(true);
|
|
@@ -181,7 +178,6 @@ onMounted(() => {
|
|
|
181
178
|
roomService.on(EventType.ROOM_JOIN, onJoinRoom);
|
|
182
179
|
roomService.on(EventType.ROOM_LEAVE, onLeaveRoom);
|
|
183
180
|
roomService.on(EventType.ROOM_DISMISS, onDismissRoom);
|
|
184
|
-
roomService.on(EventType.USER_LOGOUT, onLogout);
|
|
185
181
|
roomService.on(EventType.ROOM_NEED_PASSWORD, onRoomNeedPassword);
|
|
186
182
|
});
|
|
187
183
|
onUnmounted(() => {
|
|
@@ -194,7 +190,6 @@ onUnmounted(() => {
|
|
|
194
190
|
roomService.off(EventType.ROOM_JOIN, onJoinRoom);
|
|
195
191
|
roomService.off(EventType.ROOM_LEAVE, onLeaveRoom);
|
|
196
192
|
roomService.off(EventType.ROOM_DISMISS, onDismissRoom);
|
|
197
|
-
roomService.off(EventType.USER_LOGOUT, onLogout);
|
|
198
193
|
roomService.off(EventType.ROOM_NEED_PASSWORD, onRoomNeedPassword);
|
|
199
194
|
roomService.resetStore();
|
|
200
195
|
});
|
|
@@ -219,10 +214,10 @@ const tuiRoomClass = computed(() => {
|
|
|
219
214
|
*
|
|
220
215
|
**/
|
|
221
216
|
const roomContentRef = ref<InstanceType<typeof RoomContent>>();
|
|
222
|
-
const showRoomTool: Ref<boolean> = ref(true);
|
|
223
217
|
const roomRef: Ref<Node | undefined> = ref();
|
|
218
|
+
const { showRoomTool } = storeToRefs(basicStore);
|
|
224
219
|
function handleHideRoomTool() {
|
|
225
|
-
|
|
220
|
+
basicStore.setShowRoomTool(false);
|
|
226
221
|
}
|
|
227
222
|
|
|
228
223
|
watch(
|
|
@@ -241,11 +236,11 @@ watch(
|
|
|
241
236
|
const handleHideRoomToolDebounce = debounce(handleHideRoomTool, 5000);
|
|
242
237
|
const handleHideRoomToolThrottle = throttle(handleHideRoomToolDebounce, 1000);
|
|
243
238
|
const showTool = () => {
|
|
244
|
-
|
|
239
|
+
basicStore.setShowRoomTool(true);
|
|
245
240
|
handleHideRoomToolDebounce();
|
|
246
241
|
};
|
|
247
242
|
const showToolThrottle = () => {
|
|
248
|
-
|
|
243
|
+
basicStore.setShowRoomTool(true);
|
|
249
244
|
handleHideRoomToolThrottle();
|
|
250
245
|
};
|
|
251
246
|
const hideTool = () => {
|
|
@@ -265,7 +260,7 @@ const removeRoomContainerEvent = (container: Node) => {
|
|
|
265
260
|
};
|
|
266
261
|
|
|
267
262
|
function handleRoomContentTap() {
|
|
268
|
-
|
|
263
|
+
basicStore.setShowRoomTool(!showRoomTool.value);
|
|
269
264
|
if (showRoomTool.value) {
|
|
270
265
|
handleHideRoomToolDebounce();
|
|
271
266
|
}
|
|
@@ -312,10 +307,6 @@ function resetStore() {
|
|
|
312
307
|
roomService.resetStore();
|
|
313
308
|
}
|
|
314
309
|
|
|
315
|
-
const logOut = () => {
|
|
316
|
-
roomService.logOut();
|
|
317
|
-
};
|
|
318
|
-
|
|
319
310
|
const onStartRoom = () => {
|
|
320
311
|
isShowLoading.value = false;
|
|
321
312
|
emit('on-create-room', { code: 0, message: 'create room' });
|
|
@@ -335,10 +326,6 @@ const onDismissRoom = () => {
|
|
|
335
326
|
emit('on-destroy-room', { code: 0, message: 'destroy room' });
|
|
336
327
|
};
|
|
337
328
|
|
|
338
|
-
const onLogout = () => {
|
|
339
|
-
emit('on-log-out', { code: 0, message: 'user logout' });
|
|
340
|
-
};
|
|
341
|
-
|
|
342
329
|
const onKickedOutOfRoom = async (eventInfo: {
|
|
343
330
|
roomId: string;
|
|
344
331
|
reason: TUIKickedOutOfRoomReason;
|
|
@@ -388,7 +375,7 @@ const onKickedOffLine = (eventInfo: { message: string }) => {
|
|
|
388
375
|
position: absolute;
|
|
389
376
|
top: 0;
|
|
390
377
|
left: 0;
|
|
391
|
-
z-index:
|
|
378
|
+
z-index: 1;
|
|
392
379
|
width: 100%;
|
|
393
380
|
height: 64px;
|
|
394
381
|
background-color: var(--background-color-2);
|
|
@@ -17,6 +17,7 @@ import logger from '../utils/common/logger';
|
|
|
17
17
|
import { useBasicStore } from '../stores/basic';
|
|
18
18
|
import TUINotification from '../components/common/base/Notification';
|
|
19
19
|
import { isMobile } from '../utils/environment';
|
|
20
|
+
import { arrayIsEqual } from '../utils/utils';
|
|
20
21
|
|
|
21
22
|
const roomEngine = useGetRoomEngine();
|
|
22
23
|
|
|
@@ -303,7 +304,7 @@ export default function () {
|
|
|
303
304
|
|
|
304
305
|
function handleShowNotification() {
|
|
305
306
|
watch(applyToAnchorUserIdList, (newVal, oldVal) => {
|
|
306
|
-
if (newVal
|
|
307
|
+
if (arrayIsEqual(newVal, oldVal)) {
|
|
307
308
|
return;
|
|
308
309
|
}
|
|
309
310
|
if (newVal.length === 0) {
|
package/src/TUIRoom/index.ts
CHANGED
|
@@ -14,6 +14,8 @@ import { roomService } from './services';
|
|
|
14
14
|
export * from './components/common/base/index';
|
|
15
15
|
export * from './services/manager/scheduleConferenceManager';
|
|
16
16
|
export * from './services/manager/configManager';
|
|
17
|
+
export { createComparator, combineComparators } from './utils/utils';
|
|
18
|
+
|
|
17
19
|
export {
|
|
18
20
|
ConferenceMainView,
|
|
19
21
|
PreConferenceView,
|
|
@@ -28,7 +30,7 @@ export {
|
|
|
28
30
|
};
|
|
29
31
|
export type { ThemeOption };
|
|
30
32
|
|
|
31
|
-
ConferenceMainView.install = app => {
|
|
33
|
+
(ConferenceMainView as any).install = (app: any) => {
|
|
32
34
|
app.component('ConferenceView', ConferenceMainView);
|
|
33
35
|
};
|
|
34
36
|
|
|
@@ -25,7 +25,7 @@ export default {
|
|
|
25
25
|
Room: 'Room',
|
|
26
26
|
Join: 'Join',
|
|
27
27
|
Sure: 'Sure',
|
|
28
|
-
'Switch Theme': '
|
|
28
|
+
'Switch Theme': 'Theme',
|
|
29
29
|
Layout: 'Layout',
|
|
30
30
|
'New Room': 'New Room',
|
|
31
31
|
'Room Type': 'Room Type',
|
|
@@ -65,6 +65,8 @@ export default {
|
|
|
65
65
|
'Others will no longer see your screen after you stop sharing.',
|
|
66
66
|
'You currently do not have sharing permission, please raise your hand to apply for sharing permission first':
|
|
67
67
|
'You currently do not have sharing permission, please raise your hand to apply for sharing permission first',
|
|
68
|
+
'You currently do not have whiteboard permission, please raise your hand to apply for whiteboard permission first':
|
|
69
|
+
'You currently do not have whiteboard permission, please raise your hand to apply for whiteboard permission first',
|
|
68
70
|
Host: 'Host',
|
|
69
71
|
Admin: 'Admin',
|
|
70
72
|
RoomOwner: 'RoomOwner',
|
|
@@ -252,8 +254,7 @@ export default {
|
|
|
252
254
|
'You have been banned from text chat': 'You have been banned from text chat',
|
|
253
255
|
'You are allowed to text chat': 'You are allowed to text chat',
|
|
254
256
|
'kicked out of the room by the host': 'kicked out of the room by the host',
|
|
255
|
-
'kicked out of the room
|
|
256
|
-
'kicked out of the room by other device',
|
|
257
|
+
'kicked out of the room': 'kicked out of the room',
|
|
257
258
|
'kicked out of the room by serve': 'kicked out of the room by serve',
|
|
258
259
|
'Reject sb on stage failed, please retry': ({ named }: any) =>
|
|
259
260
|
`Reject ${named('name')} on Stage failed, please retry`,
|
|
@@ -59,6 +59,8 @@ export default {
|
|
|
59
59
|
'停止后所有人将无法继续观看屏幕内容',
|
|
60
60
|
'You currently do not have sharing permission, please raise your hand to apply for sharing permission first':
|
|
61
61
|
'您当前没有共享权限,请先举手申请上台获取共享权限',
|
|
62
|
+
'You currently do not have whiteboard permission, please raise your hand to apply for whiteboard permission first':
|
|
63
|
+
'您当前没有白板权限,请先举手申请上台获取白板权限',
|
|
62
64
|
Host: '房主',
|
|
63
65
|
Me: '我',
|
|
64
66
|
me: '我',
|
|
@@ -243,7 +245,7 @@ export default {
|
|
|
243
245
|
'You have been banned from text chat': '您被禁止文字聊天',
|
|
244
246
|
'You are allowed to text chat': '您被允许文字聊天',
|
|
245
247
|
'kicked out of the room by the host': '被主持人踢出房间',
|
|
246
|
-
'kicked out of the room
|
|
248
|
+
'kicked out of the room': '被踢出房间',
|
|
247
249
|
'kicked out of the room by serve': '被服务端踢出房间',
|
|
248
250
|
'Reject sb on stage failed, please retry': ({ named }: any) =>
|
|
249
251
|
`拒绝 ${named('name')} 上台失败, 请重试`,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
id="pre-conference-container"
|
|
4
4
|
:class="['pre-conference-container', tuiRoomThemeClass]"
|
|
5
5
|
>
|
|
6
|
-
<div class="header">
|
|
6
|
+
<div class="header" v-show="props.isShowHeaderInfo">
|
|
7
7
|
<div class="left-header">
|
|
8
8
|
<switch-theme class="header-item" />
|
|
9
9
|
</div>
|
|
@@ -86,6 +86,7 @@ const props = withDefaults(
|
|
|
86
86
|
roomId: string;
|
|
87
87
|
enableScheduledConference: boolean;
|
|
88
88
|
isShowLogo?: boolean;
|
|
89
|
+
isShowHeaderInfo?: boolean;
|
|
89
90
|
}>(),
|
|
90
91
|
{
|
|
91
92
|
userInfo: () => ({
|
|
@@ -97,6 +98,7 @@ const props = withDefaults(
|
|
|
97
98
|
roomId: '',
|
|
98
99
|
enableScheduledConference: true,
|
|
99
100
|
isShowLogo: true,
|
|
101
|
+
isShowHeaderInfo: true,
|
|
100
102
|
}
|
|
101
103
|
);
|
|
102
104
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { TUIConstants, TUICore } from '@tencentcloud/tui-core';
|
|
2
2
|
import { EventType, IRoomService } from '../types';
|
|
3
|
-
import TUIRoomEngine, {
|
|
4
|
-
TUIRoomEvents,
|
|
5
|
-
} from '@tencentcloud/tuiroom-engine-electron';
|
|
3
|
+
import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-electron';
|
|
6
4
|
import { UserInfo } from '../../stores/room';
|
|
7
5
|
import defaultAvatar from '../../assets/imgs/avatar.png';
|
|
8
6
|
|
|
@@ -14,7 +12,6 @@ const THEME = {
|
|
|
14
12
|
export class ChatManager {
|
|
15
13
|
static instance?: ChatManager;
|
|
16
14
|
private service: IRoomService;
|
|
17
|
-
private isRoomType = false;
|
|
18
15
|
|
|
19
16
|
constructor(service: IRoomService) {
|
|
20
17
|
this.service = service;
|
|
@@ -50,21 +47,15 @@ export class ChatManager {
|
|
|
50
47
|
);
|
|
51
48
|
}
|
|
52
49
|
|
|
53
|
-
public setChatType(type: boolean) {
|
|
54
|
-
this.isRoomType = type;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
50
|
public async onNotifyEvent(eventName: string, subKey: string, options?: any) {
|
|
58
|
-
if (
|
|
51
|
+
if (options.groupID !== this.service.basicStore.roomId) return;
|
|
59
52
|
if (eventName === TUIConstants.TUIChat.EVENT.CHAT_STATE_CHANGED) {
|
|
60
53
|
if (subKey === TUIConstants.TUIChat.EVENT_SUB_KEY.CHAT_OPENED) {
|
|
61
|
-
TUICore.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
},
|
|
67
|
-
});
|
|
54
|
+
TUICore.notifyEvent(
|
|
55
|
+
TUIConstants.TUIChat.EVENT.CHAT_TYPE_CHANGED,
|
|
56
|
+
TUIConstants.TUIChat.EVENT_SUB_KEY.CHANGE_SUCCESS,
|
|
57
|
+
{ chatType: TUIConstants.TUIChat.TYPE.ROOM }
|
|
58
|
+
);
|
|
68
59
|
const result = Object.fromEntries(
|
|
69
60
|
this.service.roomStore.userList.map(item => [
|
|
70
61
|
item.userId,
|
|
@@ -18,6 +18,18 @@ interface ObserverData {
|
|
|
18
18
|
isIntersection?: boolean;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
export enum StreamPlayMode {
|
|
22
|
+
PLAY = 'play',
|
|
23
|
+
STOP = 'stop',
|
|
24
|
+
PLAY_IN_VISIBLE = 'playInVisible',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export enum StreamPlayQuality {
|
|
28
|
+
HIGH = 'high',
|
|
29
|
+
LOW = 'low',
|
|
30
|
+
Default = 'default',
|
|
31
|
+
}
|
|
32
|
+
|
|
21
33
|
export class MediaManager {
|
|
22
34
|
private service: IRoomService;
|
|
23
35
|
|
|
@@ -32,62 +44,6 @@ export class MediaManager {
|
|
|
32
44
|
this.bindRoomEngineEvents();
|
|
33
45
|
}
|
|
34
46
|
|
|
35
|
-
private getRecordStreamType(streamType: TUIVideoStreamType | undefined) {
|
|
36
|
-
if (streamType === TUIVideoStreamType.kCameraStreamLow) {
|
|
37
|
-
return TUIVideoStreamType.kCameraStream;
|
|
38
|
-
}
|
|
39
|
-
return streamType;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
private intersectionObserverCallback(entries: IntersectionObserverEntry[]) {
|
|
43
|
-
entries.forEach((entry: IntersectionObserverEntry) => {
|
|
44
|
-
const { isIntersecting, target } = entry;
|
|
45
|
-
const observerData = this.observerDataMap.get(target as HTMLElement);
|
|
46
|
-
if (!observerData) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
const { userId, streamType } = observerData;
|
|
50
|
-
const streamInfo = this.service.roomStore.getStreamInfo(
|
|
51
|
-
userId,
|
|
52
|
-
streamType
|
|
53
|
-
);
|
|
54
|
-
if (!streamInfo) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const { playDomList } = streamInfo;
|
|
58
|
-
if (isIntersecting && playDomList?.length) {
|
|
59
|
-
observerData.isIntersection = true;
|
|
60
|
-
this.doStartPlayVideo({ userId, streamType, view: playDomList });
|
|
61
|
-
} else {
|
|
62
|
-
observerData.isIntersection = false;
|
|
63
|
-
const isContinuePlay = streamInfo?.playDomList?.find(
|
|
64
|
-
item => this.observerDataMap.get(item)?.isIntersection
|
|
65
|
-
);
|
|
66
|
-
if (!isContinuePlay) {
|
|
67
|
-
this.doStopPlayVideo({ userId, streamType });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
private initIntersectionObserver() {
|
|
74
|
-
if (
|
|
75
|
-
!this.intersectionObserver ||
|
|
76
|
-
document.getElementById('roomContainer') !== this.observerRoot
|
|
77
|
-
) {
|
|
78
|
-
const observerRoot = document.getElementById('roomContainer');
|
|
79
|
-
this.intersectionObserver = new IntersectionObserver(
|
|
80
|
-
this.intersectionObserverCallback.bind(this),
|
|
81
|
-
{
|
|
82
|
-
root: observerRoot,
|
|
83
|
-
rootMargin: '0px',
|
|
84
|
-
}
|
|
85
|
-
);
|
|
86
|
-
this.observerDataMap = new Map();
|
|
87
|
-
this.observerRoot = observerRoot;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
47
|
public async startPlayVideo(options: {
|
|
92
48
|
userId: string;
|
|
93
49
|
streamType: TUIVideoStreamType;
|
|
@@ -106,42 +62,14 @@ export class MediaManager {
|
|
|
106
62
|
if (!streamInfo) {
|
|
107
63
|
return;
|
|
108
64
|
}
|
|
109
|
-
|
|
110
|
-
newPlayDomList.push(view);
|
|
111
|
-
newPlayDomList = [...new Set(newPlayDomList)];
|
|
65
|
+
streamInfo!.playDomMap?.set(view, streamType);
|
|
112
66
|
|
|
113
67
|
if (!observerViewInVisible) {
|
|
114
|
-
this.
|
|
115
|
-
userId,
|
|
116
|
-
streamType,
|
|
117
|
-
playDomList: newPlayDomList,
|
|
118
|
-
});
|
|
119
|
-
await this.doStartPlayVideo({ userId, streamType, view: newPlayDomList });
|
|
68
|
+
await this.doStartPlayVideo({ userId, streamType });
|
|
120
69
|
return;
|
|
121
70
|
}
|
|
122
71
|
|
|
123
72
|
this.initIntersectionObserver();
|
|
124
|
-
|
|
125
|
-
// If the dom playing A stream is no longer playing, cancel the listen and update the playlist.
|
|
126
|
-
streamInfo?.playDomList?.forEach(playDom => {
|
|
127
|
-
if (!newPlayDomList.includes(playDom)) {
|
|
128
|
-
if (
|
|
129
|
-
this.observerDataMap.get(playDom)?.userId === userId &&
|
|
130
|
-
this.getRecordStreamType(
|
|
131
|
-
this.observerDataMap.get(playDom)?.streamType
|
|
132
|
-
) === this.getRecordStreamType(streamType)
|
|
133
|
-
) {
|
|
134
|
-
this.observerDataMap.delete(playDom);
|
|
135
|
-
this.intersectionObserver?.unobserve(playDom);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
this.service.roomStore.updateStreamInfo({
|
|
140
|
-
userId,
|
|
141
|
-
streamType,
|
|
142
|
-
playDomList: newPlayDomList,
|
|
143
|
-
});
|
|
144
|
-
|
|
145
73
|
this.observerDataMap.set(
|
|
146
74
|
view,
|
|
147
75
|
Object.assign(this.observerDataMap.get(view) || {}, {
|
|
@@ -155,22 +83,126 @@ export class MediaManager {
|
|
|
155
83
|
// At this point, the dom already exists and will no longer trigger the intersection event,
|
|
156
84
|
// so when you realize it's already visible, you should play it immediately.
|
|
157
85
|
if (this.observerDataMap.get(view)?.isIntersection) {
|
|
158
|
-
await this.doStartPlayVideo({ userId, streamType
|
|
86
|
+
await this.doStartPlayVideo({ userId, streamType });
|
|
159
87
|
}
|
|
160
88
|
}
|
|
161
89
|
|
|
162
|
-
|
|
90
|
+
// If only one view wants to stop playing, update the viewList, but don't stop the stream.
|
|
91
|
+
// If no view is passed in, the stream is stopped.
|
|
92
|
+
public async stopPlayVideo(options: {
|
|
163
93
|
userId: string;
|
|
164
94
|
streamType: TUIVideoStreamType;
|
|
165
|
-
view:
|
|
95
|
+
view: HTMLElement;
|
|
166
96
|
}) {
|
|
167
97
|
const { userId, streamType, view } = options;
|
|
168
|
-
|
|
98
|
+
logger.info('MediaManager.stopPlayVideo', userId, streamType, view);
|
|
99
|
+
const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
|
|
100
|
+
if (!streamInfo?.playDomMap || streamInfo?.playDomMap.size === 0) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (this.observerDataMap.get(view)) {
|
|
105
|
+
this.observerDataMap.delete(view);
|
|
106
|
+
this.intersectionObserver?.unobserve(view);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
streamInfo?.playDomMap.delete(view);
|
|
110
|
+
if (streamInfo?.playDomMap.size > 0) {
|
|
111
|
+
await this.doStartPlayVideo({
|
|
112
|
+
userId,
|
|
113
|
+
streamType,
|
|
114
|
+
});
|
|
115
|
+
} else {
|
|
116
|
+
await this.doStopPlayVideo(options);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
private initIntersectionObserver() {
|
|
121
|
+
if (
|
|
122
|
+
!this.intersectionObserver ||
|
|
123
|
+
document.getElementById('roomContainer') !== this.observerRoot
|
|
124
|
+
) {
|
|
125
|
+
const observerRoot = document.getElementById('roomContainer');
|
|
126
|
+
this.intersectionObserver = new IntersectionObserver(
|
|
127
|
+
this.intersectionObserverCallback.bind(this),
|
|
128
|
+
{
|
|
129
|
+
root: observerRoot,
|
|
130
|
+
rootMargin: '0px',
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
this.observerDataMap = new Map();
|
|
134
|
+
this.observerRoot = observerRoot;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
private intersectionObserverCallback(entries: IntersectionObserverEntry[]) {
|
|
139
|
+
entries.forEach((entry: IntersectionObserverEntry) => {
|
|
140
|
+
const { isIntersecting, target } = entry;
|
|
141
|
+
const observerData = this.observerDataMap.get(target as HTMLElement);
|
|
142
|
+
if (!observerData) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const { userId, streamType } = observerData;
|
|
146
|
+
const streamInfo = this.service.roomStore.getStreamInfo(
|
|
147
|
+
userId,
|
|
148
|
+
streamType
|
|
149
|
+
);
|
|
150
|
+
if (!streamInfo) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (isIntersecting) {
|
|
154
|
+
observerData.isIntersection = true;
|
|
155
|
+
if (streamInfo?.playDomMap && streamInfo?.playDomMap.size > 0) {
|
|
156
|
+
this.doStartPlayVideo({ userId, streamType });
|
|
157
|
+
}
|
|
158
|
+
} else {
|
|
159
|
+
observerData.isIntersection = false;
|
|
160
|
+
const isContinuePlay = Array.from(
|
|
161
|
+
streamInfo?.playDomMap?.keys() || []
|
|
162
|
+
).find(
|
|
163
|
+
item =>
|
|
164
|
+
!this.observerDataMap.get(item) ||
|
|
165
|
+
this.observerDataMap.get(item)?.isIntersection
|
|
166
|
+
);
|
|
167
|
+
if (!isContinuePlay) {
|
|
168
|
+
this.doStopPlayVideo({ userId, streamType });
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
private getPlayStreamType(userId: string, streamType: TUIVideoStreamType) {
|
|
175
|
+
if (streamType === TUIVideoStreamType.kScreenStream) {
|
|
176
|
+
return streamType;
|
|
177
|
+
}
|
|
178
|
+
const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
|
|
179
|
+
if (streamInfo?.playDomMap && streamInfo?.playDomMap.size > 0) {
|
|
180
|
+
const playStreamTypeList = Array.from(streamInfo?.playDomMap?.values());
|
|
181
|
+
if (playStreamTypeList.includes(TUIVideoStreamType.kCameraStream)) {
|
|
182
|
+
return TUIVideoStreamType.kCameraStream;
|
|
183
|
+
}
|
|
184
|
+
return TUIVideoStreamType.kCameraStreamLow;
|
|
185
|
+
}
|
|
186
|
+
return streamType;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
private async doStartPlayVideo(options: {
|
|
190
|
+
userId: string;
|
|
191
|
+
streamType: TUIVideoStreamType;
|
|
192
|
+
}) {
|
|
193
|
+
const { userId, streamType } = options;
|
|
194
|
+
const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
|
|
195
|
+
if (!streamInfo) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
const playStreamType = this.getPlayStreamType(userId, streamType);
|
|
199
|
+
const viewIdList = Array.from(streamInfo!.playDomMap!.keys()).map(item => {
|
|
169
200
|
if (item instanceof HTMLElement) {
|
|
170
201
|
return item?.id;
|
|
171
202
|
}
|
|
172
203
|
return item;
|
|
173
204
|
});
|
|
205
|
+
|
|
174
206
|
this.service.roomStore.updateStreamInfo({
|
|
175
207
|
userId,
|
|
176
208
|
streamType,
|
|
@@ -184,13 +216,13 @@ export class MediaManager {
|
|
|
184
216
|
} else {
|
|
185
217
|
this.service.roomEngine.instance?.setRemoteVideoView({
|
|
186
218
|
userId,
|
|
187
|
-
streamType,
|
|
219
|
+
streamType: playStreamType,
|
|
188
220
|
view: viewIdList,
|
|
189
221
|
});
|
|
190
222
|
await this.setVideoRenderParams({ userId, streamType });
|
|
191
223
|
await this.service.roomEngine.instance?.startPlayRemoteVideo({
|
|
192
224
|
userId,
|
|
193
|
-
streamType,
|
|
225
|
+
streamType: playStreamType,
|
|
194
226
|
});
|
|
195
227
|
}
|
|
196
228
|
this.service.roomStore.updateStreamInfo({
|
|
@@ -223,50 +255,7 @@ export class MediaManager {
|
|
|
223
255
|
}
|
|
224
256
|
}
|
|
225
257
|
|
|
226
|
-
|
|
227
|
-
// If no view is passed in, the stream is stopped.
|
|
228
|
-
public async stopPlayVideo(options: {
|
|
229
|
-
userId: string;
|
|
230
|
-
streamType: TUIVideoStreamType;
|
|
231
|
-
view: HTMLElement;
|
|
232
|
-
}) {
|
|
233
|
-
const { userId, streamType, view } = options;
|
|
234
|
-
logger.info('MediaManager.stopPlayVideo', userId, streamType, view);
|
|
235
|
-
const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
|
|
236
|
-
if (!streamInfo?.playDomList || streamInfo?.playDomList.length === 0) {
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
if (this.observerDataMap.get(view)) {
|
|
241
|
-
this.observerDataMap.delete(view);
|
|
242
|
-
this.intersectionObserver?.unobserve(view);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
const newPlayDomList = streamInfo?.playDomList
|
|
246
|
-
.slice(0)
|
|
247
|
-
.filter(item => item !== view);
|
|
248
|
-
if (newPlayDomList.length > 0) {
|
|
249
|
-
this.service.roomStore.updateStreamInfo({
|
|
250
|
-
userId,
|
|
251
|
-
streamType,
|
|
252
|
-
playDomList: newPlayDomList,
|
|
253
|
-
});
|
|
254
|
-
await this.doStartPlayVideo({
|
|
255
|
-
userId,
|
|
256
|
-
streamType,
|
|
257
|
-
view: newPlayDomList,
|
|
258
|
-
});
|
|
259
|
-
} else {
|
|
260
|
-
this.service.roomStore.updateStreamInfo({
|
|
261
|
-
userId,
|
|
262
|
-
streamType,
|
|
263
|
-
playDomList: [],
|
|
264
|
-
});
|
|
265
|
-
await this.doStopPlayVideo(options);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
public async doStopPlayVideo(options: {
|
|
258
|
+
private async doStopPlayVideo(options: {
|
|
270
259
|
userId: string;
|
|
271
260
|
streamType: TUIVideoStreamType;
|
|
272
261
|
}) {
|
|
@@ -20,6 +20,9 @@ smallParam.videoResolution = TRTCVideoResolution.TRTCVideoResolution_640_360;
|
|
|
20
20
|
smallParam.videoFps = 10;
|
|
21
21
|
smallParam.videoBitrate = 550;
|
|
22
22
|
|
|
23
|
+
export enum FetchRoomInfoErrorCode {
|
|
24
|
+
ROOM_NOT_EXIST = -2100,
|
|
25
|
+
}
|
|
23
26
|
export interface DeviceParams {
|
|
24
27
|
isOpenCamera?: boolean;
|
|
25
28
|
isOpenMicrophone?: boolean;
|
|
@@ -62,6 +65,7 @@ export class RoomActionManager {
|
|
|
62
65
|
password,
|
|
63
66
|
} = params;
|
|
64
67
|
const roomMode = isSeatEnabled ? 'SpeakAfterTakingSeat' : 'FreeToSpeak';
|
|
68
|
+
this.service.roomStore.resetRoomData();
|
|
65
69
|
await this.createRoom({
|
|
66
70
|
roomId,
|
|
67
71
|
roomName,
|
|
@@ -98,6 +102,7 @@ export class RoomActionManager {
|
|
|
98
102
|
defaultSpeakerId,
|
|
99
103
|
password,
|
|
100
104
|
} = params;
|
|
105
|
+
this.service.roomStore.resetRoomData();
|
|
101
106
|
await this.enterRoom({
|
|
102
107
|
roomId,
|
|
103
108
|
roomParam: {
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
} from '@tencentcloud/tuiroom-engine-electron';
|
|
11
11
|
import { EventType, IRoomService } from '../types';
|
|
12
12
|
import mitt from 'mitt';
|
|
13
|
+
import { FetchRoomInfoErrorCode } from './roomActionManager.ts';
|
|
13
14
|
export * from '@tencentcloud/tuiroom-engine-electron';
|
|
14
15
|
interface IScheduleConferenceManager {
|
|
15
16
|
on(
|
|
@@ -75,7 +76,7 @@ export interface IScheduleConferenceOptions {
|
|
|
75
76
|
maxSeatCount?: number;
|
|
76
77
|
password?: string;
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
+
const MAX_ATTEMPTS = 5;
|
|
79
80
|
export class ScheduleConferenceManager implements IScheduleConferenceManager {
|
|
80
81
|
private service: IRoomService;
|
|
81
82
|
private customFriendList?: Array<any>;
|
|
@@ -241,6 +242,28 @@ export class ScheduleConferenceManager implements IScheduleConferenceManager {
|
|
|
241
242
|
this.customFriendList = userList;
|
|
242
243
|
}
|
|
243
244
|
|
|
245
|
+
async generateRoomId(attempt = 1): Promise<string> {
|
|
246
|
+
if (attempt > MAX_ATTEMPTS) {
|
|
247
|
+
throw new Error(
|
|
248
|
+
'Failed to generate a unique room ID after maximum attempts.'
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
const roomId = String(Math.ceil(Math.random() * 1000000));
|
|
253
|
+
try {
|
|
254
|
+
await this.service.roomActionManager?.fetchRoomInfo({
|
|
255
|
+
roomId,
|
|
256
|
+
roomType: TUIRoomType.kConference,
|
|
257
|
+
});
|
|
258
|
+
return await this.generateRoomId(attempt + 1);
|
|
259
|
+
} catch (err: any) {
|
|
260
|
+
if (err?.code === FetchRoomInfoErrorCode.ROOM_NOT_EXIST) {
|
|
261
|
+
return roomId;
|
|
262
|
+
}
|
|
263
|
+
throw err;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
244
267
|
async scheduleConference(options: IScheduleConferenceOptions) {
|
|
245
268
|
return await this.service.roomEngine.instance
|
|
246
269
|
?.getConferenceListManager()
|