@tencentcloud/roomkit-electron-vue3 2.4.1 → 2.5.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/es/components/Chat/ChatEditor/useChatEditor.mjs +1 -1
- package/es/components/Chat/MessageList/index.vue.mjs +1 -1
- package/es/components/Chat/MessageList/index.vue2.mjs +5 -1
- package/es/components/Chat/MessageList/useMessageListHook.mjs +4 -3
- package/es/components/ManageMember/MemberControl/index.vue.mjs +1 -1
- package/es/components/ManageMember/MemberControl/index.vue2.mjs +36 -19
- package/es/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
- package/es/components/ManageMember/MemberControl/useMemberControlHooks.mjs +113 -17
- package/es/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
- package/es/components/ManageMember/MemberItem/useMemberItemHooks.mjs +8 -6
- package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue.mjs +1 -1
- package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue2.mjs +7 -3
- package/es/components/ManageMember/index.vue.mjs +1 -1
- package/es/components/ManageMember/index.vue2.mjs +58 -7
- package/es/components/ManageMember/useIndexHooks.mjs +63 -14
- package/es/components/RoomContent/StreamContainer/index.vue.mjs +1 -1
- package/es/components/RoomContent/StreamContainer/index.vue2.mjs +10 -9
- package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
- package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.mjs +73 -29
- package/es/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
- package/es/components/RoomContent/StreamRegion/index.vue.mjs +1 -1
- package/es/components/RoomContent/StreamRegion/index.vue2.mjs +29 -5
- package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.mjs +1 -1
- package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.mjs +10 -4
- package/es/components/RoomFooter/ApplyControl/MemberApplyControl.vue2.mjs +2 -2
- package/es/components/RoomFooter/AudioControl.vue2.mjs +2 -2
- package/es/components/RoomFooter/EndControl/index.vue.mjs +1 -1
- package/es/components/RoomFooter/EndControl/index.vue2.mjs +1 -1
- package/es/components/RoomFooter/EndControl/useEndControlHooks.mjs +16 -4
- package/es/components/RoomFooter/ScreenShareControl/Index.vue.mjs +1 -1
- package/es/components/RoomFooter/ScreenShareControl/Index.vue2.mjs +11 -3
- package/es/components/RoomFooter/VideoControl.vue.mjs +1 -1
- package/es/components/RoomFooter/VideoControl.vue2.mjs +8 -14
- package/es/components/RoomHeader/RoomInfo/index.vue2.mjs +2 -2
- package/es/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
- package/es/components/RoomHeader/UserInfo/index.vue.mjs +1 -1
- package/es/components/RoomHeader/UserInfo/index.vue2.mjs +9 -92
- package/es/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
- package/es/components/RoomHeader/UserInfo/useUserInfoHooks.mjs +1 -18
- package/es/components/RoomHeader/index/NetworkInfo.vue2.mjs +2 -2
- package/es/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
- package/es/components/RoomHome/RoomControl/index.vue.mjs +1 -1
- package/es/components/RoomHome/RoomControl/index.vue2.mjs +153 -120
- package/es/components/RoomInvite/index.vue2.mjs +2 -2
- package/es/components/RoomMore/index.vue2.mjs +2 -2
- package/es/components/RoomSidebar/useSideBarHooks.mjs +3 -2
- package/es/components/ScheduleConference/Contacts.vue.d.ts +22 -0
- package/es/components/ScheduleConference/Contacts.vue.mjs +7 -0
- package/es/components/ScheduleConference/Contacts.vue2.mjs +212 -0
- package/es/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
- package/es/components/ScheduleConference/DurationTimePicker.vue.mjs +67 -0
- package/es/components/ScheduleConference/DurationTimePicker.vue2.mjs +4 -0
- package/es/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
- package/es/components/ScheduleConference/ScheduleConferencePanel.vue.mjs +7 -0
- package/es/components/ScheduleConference/ScheduleConferencePanel.vue2.mjs +613 -0
- package/es/components/ScheduleConference/ScheduleConferencePanel.vue3.mjs +1 -0
- package/es/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
- package/es/components/ScheduleConference/ScheduleRoomControl.vue.mjs +7 -0
- package/es/components/ScheduleConference/ScheduleRoomControl.vue2.mjs +464 -0
- package/es/components/ScheduleConference/ScheduleRoomControl.vue3.mjs +1 -0
- package/es/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
- package/es/components/ScheduleConference/ScheduleRoomList.vue.mjs +7 -0
- package/es/components/ScheduleConference/ScheduleRoomList.vue2.mjs +219 -0
- package/es/components/ScheduleConference/ScheduleRoomList.vue3.mjs +1 -0
- package/es/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
- package/es/components/ScheduleConference/ShareLink.vue.mjs +7 -0
- package/es/components/ScheduleConference/ShareLink.vue2.mjs +113 -0
- package/es/components/ScheduleConference/ShareLink.vue3.mjs +1 -0
- package/es/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
- package/es/components/ScheduleConference/TimezonePicker.vue.mjs +84 -0
- package/es/components/ScheduleConference/TimezonePicker.vue2.mjs +4 -0
- package/es/components/common/Avatar.vue.mjs +2 -2
- package/es/components/common/DeviceSelect.vue.mjs +1 -1
- package/es/components/common/DeviceSelect.vue2.mjs +58 -19
- package/es/components/common/Logo.vue.mjs +1 -1
- package/es/components/common/Logo.vue2.mjs +3 -3
- package/es/components/common/VideoProfile.vue2.mjs +2 -2
- package/es/components/common/base/Badge.vue.d.ts +1 -1
- package/es/components/common/base/Button.vue.d.ts +2 -2
- package/es/components/common/base/Checkbox.vue.d.ts +4 -2
- package/es/components/common/base/Checkbox.vue.mjs +2 -2
- package/es/components/common/base/Checkbox.vue2.mjs +12 -5
- package/es/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
- package/es/components/common/base/Datepicker/Datepicker.vue.mjs +7 -0
- package/es/components/common/base/Datepicker/Datepicker.vue2.mjs +167 -0
- package/es/components/common/base/Datepicker/Datepicker.vue3.mjs +1 -0
- package/es/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
- package/es/components/common/base/Datepicker/Timepicker.vue.mjs +66 -0
- package/es/components/common/base/Datepicker/Timepicker.vue2.mjs +4 -0
- package/es/components/common/base/Dialog/index.vue.d.ts +8 -4
- package/es/components/common/base/Dialog/index.vue.mjs +1 -1
- package/es/components/common/base/Dialog/index.vue2.mjs +17 -9
- package/es/components/common/base/Drawer.vue.d.ts +1 -1
- package/es/components/common/base/IconButton.vue.d.ts +2 -2
- package/es/components/common/base/Input/index.vue.d.ts +77 -0
- package/es/components/common/base/Input/index.vue.mjs +7 -0
- package/es/components/common/base/Input/index.vue2.mjs +140 -0
- package/es/components/common/base/Input/index.vue3.mjs +1 -0
- package/es/components/common/base/Message/Instance.mjs +1 -1
- package/es/components/common/base/Message/Message.vue.d.ts +4 -4
- package/es/components/common/base/MessageBox/index.d.ts +3 -2
- package/es/components/common/base/MessageBox/index.mjs +2 -1
- package/es/components/common/base/MessageBox/index.vue.d.ts +6 -1
- package/es/components/common/base/MessageBox/index.vue.mjs +1 -1
- package/es/components/common/base/MessageBox/index.vue2.mjs +60 -10
- package/es/components/common/base/Notification/index.vue.d.ts +2 -2
- package/es/components/common/base/Option.vue.d.ts +11 -1
- package/es/components/common/base/Option.vue.mjs +1 -1
- package/es/components/common/base/Option.vue2.mjs +16 -6
- package/es/components/common/base/Select.vue.d.ts +5 -1
- package/es/components/common/base/Select.vue.mjs +1 -1
- package/es/components/common/base/Select.vue2.mjs +12 -11
- package/es/components/common/base/index.d.ts +1 -1
- package/es/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
- package/es/components/common/icons/AllMembersShareScreenIcon.vue.mjs +22 -0
- package/es/components/common/icons/CalendarIcon.vue.d.ts +2 -0
- package/es/components/common/icons/CalendarIcon.vue.mjs +24 -0
- package/es/components/common/icons/CopyIcon.vue.mjs +2 -2
- package/es/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
- package/es/components/common/icons/EditNameCardIcon.vue.mjs +21 -0
- package/es/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
- package/es/components/common/icons/EllipsisIcon.vue.mjs +34 -0
- package/es/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
- package/es/components/common/icons/HostShareScreenIcon.vue.mjs +22 -0
- package/es/components/common/icons/LinkIcon.vue.d.ts +2 -0
- package/es/components/common/icons/LinkIcon.vue.mjs +36 -0
- package/es/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
- package/es/components/common/icons/LoadingScheduleIcon.vue.mjs +24 -0
- package/es/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
- package/es/components/common/icons/ScheduleAttendees.vue.mjs +25 -0
- package/es/components/common/icons/ScheduleAttendees.vue2.mjs +4 -0
- package/es/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
- package/es/components/common/icons/ScheduleRoomIcon.vue.mjs +24 -0
- package/es/components/common/icons/SuccessIcon.vue.d.ts +2 -0
- package/es/components/common/icons/SuccessIcon.vue.mjs +32 -0
- package/es/components/common/icons/WarningIcon.vue.d.ts +2 -0
- package/es/components/common/icons/WarningIcon.vue.mjs +29 -0
- package/es/conference.d.ts +2 -0
- package/es/conference.mjs +3 -0
- package/es/conference.vue.mjs +1 -1
- package/es/conference.vue2.mjs +9 -4
- package/es/directives/vDblTouch.d.ts +10 -0
- package/es/directives/vTap.d.ts +1 -0
- package/es/directives/vTap.mjs +30 -3
- package/es/extension/chatExtension.mjs +3 -3
- package/es/hooks/useDeviceManager.mjs +3 -3
- package/es/hooks/useMasterApplyControl.mjs +5 -5
- package/es/hooks/useRoomEngine.mjs +4 -4
- package/es/index.d.ts +1 -0
- package/es/index.mjs +2581 -1743
- package/es/locales/en-US.d.ts +75 -0
- package/es/locales/en-US.mjs +78 -1
- package/es/locales/zh-CN.d.ts +79 -0
- package/es/locales/zh-CN.mjs +83 -2
- package/es/preConference.vue.d.ts +10 -0
- package/es/preConference.vue.mjs +1 -1
- package/es/preConference.vue2.mjs +89 -13
- package/es/services/function/errorHandler.d.ts +10 -0
- package/es/services/function/errorHandler.mjs +158 -0
- package/es/services/function/virtualBackground.mjs +4 -3
- package/es/services/index.d.ts +1 -0
- package/es/services/manager/roomActionManager.d.ts +1 -0
- package/es/services/manager/roomActionManager.mjs +10 -18
- package/es/services/manager/scheduleConferenceManager.d.ts +113 -0
- package/es/services/manager/scheduleConferenceManager.mjs +141 -0
- package/es/services/manager/userManager.d.ts +2 -0
- package/es/services/manager/userManager.mjs +7 -3
- package/es/services/roomService.d.ts +8 -0
- package/es/services/roomService.mjs +42 -16
- package/es/services/types.d.ts +8 -0
- package/es/services/types.mjs +2 -0
- package/es/stores/basic.mjs +9 -3
- package/es/stores/room.d.ts +2 -0
- package/es/stores/room.mjs +55 -24
- package/es/utils/adapter.mjs +39 -3
- package/es/utils/utils.d.ts +3 -0
- package/es/utils/utils.mjs +64 -0
- package/lib/components/Chat/ChatEditor/useChatEditor.js +1 -1
- package/lib/components/Chat/MessageList/index.vue.js +1 -1
- package/lib/components/Chat/MessageList/index.vue2.js +5 -1
- package/lib/components/Chat/MessageList/useMessageListHook.js +2 -1
- package/lib/components/ManageMember/MemberControl/index.vue.js +1 -1
- package/lib/components/ManageMember/MemberControl/index.vue2.js +35 -18
- package/lib/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
- package/lib/components/ManageMember/MemberControl/useMemberControlHooks.js +113 -17
- package/lib/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
- package/lib/components/ManageMember/MemberItem/useMemberItemHooks.js +8 -6
- package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue.js +1 -1
- package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue2.js +5 -1
- package/lib/components/ManageMember/index.vue.js +1 -1
- package/lib/components/ManageMember/index.vue2.js +57 -6
- package/lib/components/ManageMember/useIndexHooks.js +63 -14
- package/lib/components/RoomContent/StreamContainer/index.vue.js +1 -1
- package/lib/components/RoomContent/StreamContainer/index.vue2.js +10 -9
- package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
- package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.js +72 -28
- package/lib/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
- package/lib/components/RoomContent/StreamRegion/index.vue.js +1 -1
- package/lib/components/RoomContent/StreamRegion/index.vue2.js +27 -3
- package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.js +1 -1
- package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.js +8 -2
- package/lib/components/RoomFooter/EndControl/index.vue.js +1 -1
- package/lib/components/RoomFooter/EndControl/index.vue2.js +1 -1
- package/lib/components/RoomFooter/EndControl/useEndControlHooks.js +14 -2
- package/lib/components/RoomFooter/ScreenShareControl/Index.vue.js +1 -1
- package/lib/components/RoomFooter/ScreenShareControl/Index.vue2.js +9 -1
- package/lib/components/RoomFooter/VideoControl.vue.js +1 -1
- package/lib/components/RoomFooter/VideoControl.vue2.js +6 -12
- package/lib/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
- package/lib/components/RoomHeader/UserInfo/index.vue.js +1 -1
- package/lib/components/RoomHeader/UserInfo/index.vue2.js +6 -89
- package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
- package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.js +1 -18
- package/lib/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
- package/lib/components/RoomHome/RoomControl/index.vue.js +1 -1
- package/lib/components/RoomHome/RoomControl/index.vue2.js +150 -117
- package/lib/components/RoomSidebar/useSideBarHooks.js +3 -2
- package/lib/components/ScheduleConference/Contacts.vue.d.ts +22 -0
- package/lib/components/ScheduleConference/Contacts.vue.js +7 -0
- package/lib/components/ScheduleConference/Contacts.vue2.js +212 -0
- package/lib/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
- package/lib/components/ScheduleConference/DurationTimePicker.vue.js +67 -0
- package/lib/components/ScheduleConference/DurationTimePicker.vue2.js +4 -0
- package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
- package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.js +7 -0
- package/lib/components/ScheduleConference/ScheduleConferencePanel.vue2.js +613 -0
- package/lib/components/ScheduleConference/ScheduleConferencePanel.vue3.js +1 -0
- package/lib/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
- package/lib/components/ScheduleConference/ScheduleRoomControl.vue.js +7 -0
- package/lib/components/ScheduleConference/ScheduleRoomControl.vue2.js +464 -0
- package/lib/components/ScheduleConference/ScheduleRoomControl.vue3.js +1 -0
- package/lib/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
- package/lib/components/ScheduleConference/ScheduleRoomList.vue.js +7 -0
- package/lib/components/ScheduleConference/ScheduleRoomList.vue2.js +219 -0
- package/lib/components/ScheduleConference/ScheduleRoomList.vue3.js +1 -0
- package/lib/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
- package/lib/components/ScheduleConference/ShareLink.vue.js +7 -0
- package/lib/components/ScheduleConference/ShareLink.vue2.js +113 -0
- package/lib/components/ScheduleConference/ShareLink.vue3.js +1 -0
- package/lib/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
- package/lib/components/ScheduleConference/TimezonePicker.vue.js +84 -0
- package/lib/components/ScheduleConference/TimezonePicker.vue2.js +4 -0
- package/lib/components/common/Avatar.vue.js +2 -2
- package/lib/components/common/DeviceSelect.vue.js +1 -1
- package/lib/components/common/DeviceSelect.vue2.js +57 -18
- package/lib/components/common/Logo.vue.js +1 -1
- package/lib/components/common/Logo.vue2.js +2 -2
- package/lib/components/common/base/Badge.vue.d.ts +1 -1
- package/lib/components/common/base/Button.vue.d.ts +2 -2
- package/lib/components/common/base/Checkbox.vue.d.ts +4 -2
- package/lib/components/common/base/Checkbox.vue.js +2 -2
- package/lib/components/common/base/Checkbox.vue2.js +11 -4
- package/lib/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
- package/lib/components/common/base/Datepicker/Datepicker.vue.js +7 -0
- package/lib/components/common/base/Datepicker/Datepicker.vue2.js +167 -0
- package/lib/components/common/base/Datepicker/Datepicker.vue3.js +1 -0
- package/lib/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
- package/lib/components/common/base/Datepicker/Timepicker.vue.js +66 -0
- package/lib/components/common/base/Datepicker/Timepicker.vue2.js +4 -0
- package/lib/components/common/base/Dialog/index.vue.d.ts +8 -4
- package/lib/components/common/base/Dialog/index.vue.js +1 -1
- package/lib/components/common/base/Dialog/index.vue2.js +16 -8
- package/lib/components/common/base/Drawer.vue.d.ts +1 -1
- package/lib/components/common/base/IconButton.vue.d.ts +2 -2
- package/lib/components/common/base/Input/index.vue.d.ts +77 -0
- package/lib/components/common/base/Input/index.vue.js +7 -0
- package/lib/components/common/base/Input/index.vue2.js +140 -0
- package/lib/components/common/base/Input/index.vue3.js +1 -0
- package/lib/components/common/base/Message/Instance.js +1 -1
- package/lib/components/common/base/Message/Message.vue.d.ts +4 -4
- package/lib/components/common/base/MessageBox/index.d.ts +3 -2
- package/lib/components/common/base/MessageBox/index.js +2 -1
- package/lib/components/common/base/MessageBox/index.vue.d.ts +6 -1
- package/lib/components/common/base/MessageBox/index.vue.js +1 -1
- package/lib/components/common/base/MessageBox/index.vue2.js +59 -9
- package/lib/components/common/base/Notification/index.vue.d.ts +2 -2
- package/lib/components/common/base/Option.vue.d.ts +11 -1
- package/lib/components/common/base/Option.vue.js +1 -1
- package/lib/components/common/base/Option.vue2.js +15 -5
- package/lib/components/common/base/Select.vue.d.ts +5 -1
- package/lib/components/common/base/Select.vue.js +1 -1
- package/lib/components/common/base/Select.vue2.js +11 -10
- package/lib/components/common/base/index.d.ts +1 -1
- package/lib/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/AllMembersShareScreenIcon.vue.js +22 -0
- package/lib/components/common/icons/CalendarIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/CalendarIcon.vue.js +24 -0
- package/lib/components/common/icons/CopyIcon.vue.js +2 -2
- package/lib/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/EditNameCardIcon.vue.js +21 -0
- package/lib/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/EllipsisIcon.vue.js +34 -0
- package/lib/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/HostShareScreenIcon.vue.js +22 -0
- package/lib/components/common/icons/LinkIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/LinkIcon.vue.js +36 -0
- package/lib/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/LoadingScheduleIcon.vue.js +24 -0
- package/lib/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
- package/lib/components/common/icons/ScheduleAttendees.vue.js +25 -0
- package/lib/components/common/icons/ScheduleAttendees.vue2.js +4 -0
- package/lib/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/ScheduleRoomIcon.vue.js +24 -0
- package/lib/components/common/icons/SuccessIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/SuccessIcon.vue.js +32 -0
- package/lib/components/common/icons/WarningIcon.vue.d.ts +2 -0
- package/lib/components/common/icons/WarningIcon.vue.js +29 -0
- package/lib/conference.d.ts +2 -0
- package/lib/conference.js +3 -0
- package/lib/conference.vue.js +1 -1
- package/lib/conference.vue2.js +9 -4
- package/lib/directives/vDblTouch.d.ts +10 -0
- package/lib/directives/vTap.d.ts +1 -0
- package/lib/directives/vTap.js +30 -3
- package/lib/extension/chatExtension.js +1 -1
- package/lib/hooks/useMasterApplyControl.js +3 -3
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2588 -1744
- package/lib/locales/en-US.d.ts +75 -0
- package/lib/locales/en-US.js +78 -1
- package/lib/locales/zh-CN.d.ts +79 -0
- package/lib/locales/zh-CN.js +83 -2
- package/lib/preConference.vue.d.ts +10 -0
- package/lib/preConference.vue.js +1 -1
- package/lib/preConference.vue2.js +88 -12
- package/lib/services/function/errorHandler.d.ts +10 -0
- package/lib/services/function/errorHandler.js +158 -0
- package/lib/services/function/virtualBackground.js +3 -2
- package/lib/services/index.d.ts +1 -0
- package/lib/services/manager/roomActionManager.d.ts +1 -0
- package/lib/services/manager/roomActionManager.js +10 -18
- package/lib/services/manager/scheduleConferenceManager.d.ts +113 -0
- package/lib/services/manager/scheduleConferenceManager.js +147 -0
- package/lib/services/manager/userManager.d.ts +2 -0
- package/lib/services/manager/userManager.js +4 -0
- package/lib/services/roomService.d.ts +8 -0
- package/lib/services/roomService.js +38 -12
- package/lib/services/types.d.ts +8 -0
- package/lib/services/types.js +2 -0
- package/lib/stores/basic.js +8 -2
- package/lib/stores/room.d.ts +2 -0
- package/lib/stores/room.js +55 -24
- package/lib/utils/adapter.js +39 -3
- package/lib/utils/utils.d.ts +3 -0
- package/lib/utils/utils.js +64 -0
- package/package.json +2 -2
- package/src/TUIRoom/assets/style/black-theme.scss +3 -1
- package/src/TUIRoom/assets/style/white-theme.scss +3 -1
- package/src/TUIRoom/components/Chat/ChatEditor/useChatEditor.ts +1 -1
- package/src/TUIRoom/components/Chat/MessageList/index.vue +5 -1
- package/src/TUIRoom/components/Chat/MessageList/useMessageListHook.ts +2 -1
- package/src/TUIRoom/components/ManageMember/MemberControl/index.vue +23 -7
- package/src/TUIRoom/components/ManageMember/MemberControl/useMemberControlHooks.ts +110 -14
- package/src/TUIRoom/components/ManageMember/MemberItem/useMemberItemHooks.ts +9 -4
- package/src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue +2 -1
- package/src/TUIRoom/components/ManageMember/index.vue +85 -5
- package/src/TUIRoom/components/ManageMember/useIndexHooks.ts +58 -9
- package/src/TUIRoom/components/RoomContent/StreamContainer/index.vue +7 -6
- package/src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts +90 -26
- package/src/TUIRoom/components/RoomContent/StreamRegion/index.vue +27 -3
- package/src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue +2 -1
- package/src/TUIRoom/components/RoomFooter/EndControl/index.vue +1 -1
- package/src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts +10 -3
- package/src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue +11 -1
- package/src/TUIRoom/components/RoomFooter/VideoControl.vue +0 -7
- package/src/TUIRoom/components/RoomHeader/UserInfo/index.vue +19 -50
- package/src/TUIRoom/components/RoomHeader/UserInfo/useUserInfoHooks.ts +1 -28
- package/src/TUIRoom/components/RoomHome/RoomControl/index.vue +91 -73
- package/src/TUIRoom/components/RoomSidebar/useSideBarHooks.ts +3 -2
- package/src/TUIRoom/components/ScheduleConference/Contacts.vue +265 -0
- package/src/TUIRoom/components/ScheduleConference/DurationTimePicker.vue +54 -0
- package/src/TUIRoom/components/ScheduleConference/ScheduleConferencePanel.vue +731 -0
- package/src/TUIRoom/components/ScheduleConference/ScheduleRoomControl.vue +577 -0
- package/src/TUIRoom/components/ScheduleConference/ScheduleRoomList.vue +295 -0
- package/src/TUIRoom/components/ScheduleConference/ShareLink.vue +122 -0
- package/src/TUIRoom/components/ScheduleConference/TimezonePicker.vue +70 -0
- package/src/TUIRoom/components/common/DeviceSelect.vue +62 -20
- package/src/TUIRoom/components/common/Logo.vue +3 -3
- package/src/TUIRoom/components/common/base/Checkbox.vue +19 -11
- package/src/TUIRoom/components/common/base/Datepicker/Datepicker.vue +252 -0
- package/src/TUIRoom/components/common/base/Datepicker/Timepicker.vue +54 -0
- package/src/TUIRoom/components/common/base/Dialog/index.vue +17 -7
- package/src/TUIRoom/components/common/base/Input/index.vue +187 -0
- package/src/TUIRoom/components/common/base/Message/Instance.ts +2 -1
- package/src/TUIRoom/components/common/base/MessageBox/index.ts +4 -2
- package/src/TUIRoom/components/common/base/MessageBox/index.vue +57 -26
- package/src/TUIRoom/components/common/base/Option.vue +14 -4
- package/src/TUIRoom/components/common/base/Select.vue +18 -13
- package/src/TUIRoom/components/common/base/index.ts +1 -1
- package/src/TUIRoom/components/common/icons/AllMembersShareScreenIcon.vue +15 -0
- package/src/TUIRoom/components/common/icons/ArrowStrokeRightIcon.vue +8 -0
- package/src/TUIRoom/components/common/icons/CalendarIcon.vue +6 -0
- package/src/TUIRoom/components/common/icons/EditNameCardIcon.vue +13 -0
- package/src/TUIRoom/components/common/icons/EllipsisIcon.vue +8 -0
- package/src/TUIRoom/components/common/icons/HostShareScreenIcon.vue +13 -0
- package/src/TUIRoom/components/common/icons/LinkIcon.vue +10 -0
- package/src/TUIRoom/components/common/icons/LoadingScheduleIcon.vue +6 -0
- package/src/TUIRoom/components/common/icons/ScheduleAttendees.vue +13 -0
- package/src/TUIRoom/components/common/icons/ScheduleRoomIcon.vue +6 -0
- package/src/TUIRoom/components/common/icons/SuccessIcon.vue +8 -0
- package/src/TUIRoom/components/common/icons/WarningIcon.vue +13 -0
- package/src/TUIRoom/conference.ts +6 -0
- package/src/TUIRoom/conference.vue +16 -5
- package/src/TUIRoom/directives/vDblTouch.ts +41 -0
- package/src/TUIRoom/directives/vTap.ts +32 -3
- package/src/TUIRoom/extension/chatExtension.ts +1 -1
- package/src/TUIRoom/hooks/useMasterApplyControl.ts +2 -2
- package/src/TUIRoom/index.ts +1 -0
- package/src/TUIRoom/locales/en-US.ts +77 -0
- package/src/TUIRoom/locales/zh-CN.ts +82 -1
- package/src/TUIRoom/preConference.vue +97 -2
- package/src/TUIRoom/services/function/errorHandler.ts +169 -0
- package/src/TUIRoom/services/function/virtualBackground.ts +3 -3
- package/src/TUIRoom/services/index.ts +1 -0
- package/src/TUIRoom/services/manager/roomActionManager.ts +10 -18
- package/src/TUIRoom/services/manager/scheduleConferenceManager.ts +263 -0
- package/src/TUIRoom/services/manager/userManager.ts +6 -0
- package/src/TUIRoom/services/roomService.ts +41 -13
- package/src/TUIRoom/services/types.ts +8 -1
- package/src/TUIRoom/stores/basic.ts +9 -2
- package/src/TUIRoom/stores/room.ts +60 -19
- package/src/TUIRoom/utils/adapter.ts +44 -4
- package/src/TUIRoom/utils/utils.ts +42 -0
- package/es/components/common/base/Input.vue.mjs +0 -7
- package/es/components/common/base/Input.vue2.mjs +0 -34
- package/lib/components/common/base/Input.vue.js +0 -7
- package/lib/components/common/base/Input.vue2.js +0 -34
- package/src/TUIRoom/components/common/base/Input.vue +0 -61
- /package/es/components/{common/base/Input.vue3.mjs → ScheduleConference/Contacts.vue3.mjs} +0 -0
- /package/lib/components/{common/base/Input.vue3.js → ScheduleConference/Contacts.vue3.js} +0 -0
|
@@ -10,6 +10,8 @@ const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-electron");
|
|
|
10
10
|
const Message = require("../common/base/Message/Message.js");
|
|
11
11
|
const message = require("../../constants/message.js");
|
|
12
12
|
const environment = require("../../utils/environment.js");
|
|
13
|
+
const AllMembersShareScreenIcon = require("../common/icons/AllMembersShareScreenIcon.vue.js");
|
|
14
|
+
const HostShareScreenIcon = require("../common/icons/HostShareScreenIcon.vue.js");
|
|
13
15
|
function useIndex() {
|
|
14
16
|
const roomEngine = useRoomEngine.default();
|
|
15
17
|
const { t } = index.useI18n();
|
|
@@ -19,10 +21,18 @@ function useIndex() {
|
|
|
19
21
|
userList,
|
|
20
22
|
anchorUserList,
|
|
21
23
|
applyToAnchorList,
|
|
22
|
-
isOnStateTabActive
|
|
24
|
+
isOnStateTabActive,
|
|
25
|
+
generalUserScreenStreamList
|
|
23
26
|
} = pinia.storeToRefs(roomStore);
|
|
27
|
+
let ManageControlType;
|
|
28
|
+
((ManageControlType2) => {
|
|
29
|
+
ManageControlType2["AUDIO"] = "audio";
|
|
30
|
+
ManageControlType2["VIDEO"] = "video";
|
|
31
|
+
ManageControlType2["SCREEN"] = "screen";
|
|
32
|
+
})(ManageControlType || (ManageControlType = {}));
|
|
24
33
|
const audienceUserList = Vue.computed(() => userList.value.filter((user) => !anchorUserList.value.includes(user)));
|
|
25
34
|
const searchText = Vue.ref("");
|
|
35
|
+
const showMoreControl = Vue.ref(false);
|
|
26
36
|
function handleToggleStaged() {
|
|
27
37
|
isOnStateTabActive.value = !isOnStateTabActive.value;
|
|
28
38
|
roomStore.setOnStageTabStatus(isOnStateTabActive.value);
|
|
@@ -38,8 +48,8 @@ function useIndex() {
|
|
|
38
48
|
return list;
|
|
39
49
|
}
|
|
40
50
|
return list.filter((item) => {
|
|
41
|
-
var _a;
|
|
42
|
-
return ((_a = item.
|
|
51
|
+
var _a, _b;
|
|
52
|
+
return ((_a = item.nameCard) == null ? void 0 : _a.includes(searchText.value)) || ((_b = item.userName) == null ? void 0 : _b.includes(searchText.value)) || item.userId.includes(searchText.value);
|
|
43
53
|
});
|
|
44
54
|
});
|
|
45
55
|
const alreadyStaged = Vue.computed(() => `${t("Already on stage")} (${anchorUserList.value.length})`);
|
|
@@ -49,26 +59,31 @@ function useIndex() {
|
|
|
49
59
|
}
|
|
50
60
|
const audioManageInfo = Vue.computed(() => roomStore.isMicrophoneDisableForAllUser ? t("Lift all mute") : t("All mute"));
|
|
51
61
|
const videoManageInfo = Vue.computed(() => roomStore.isCameraDisableForAllUser ? t("Lift stop all video") : t("All stop video"));
|
|
62
|
+
const moreControlList = Vue.computed(() => [
|
|
63
|
+
{
|
|
64
|
+
title: roomStore.isScreenShareDisableForAllUser ? t("All members can share screen") : t("Screen sharing for host/admin only"),
|
|
65
|
+
icon: roomStore.isScreenShareDisableForAllUser ? AllMembersShareScreenIcon.default : HostShareScreenIcon.default,
|
|
66
|
+
func: toggleManageAllMember,
|
|
67
|
+
type: "screen"
|
|
68
|
+
/* SCREEN */
|
|
69
|
+
}
|
|
70
|
+
]);
|
|
52
71
|
const showManageAllUserDialog = Vue.ref(false);
|
|
53
72
|
const dialogContent = Vue.ref("");
|
|
54
73
|
const dialogTitle = Vue.ref("");
|
|
55
74
|
const dialogActionInfo = Vue.ref("");
|
|
56
75
|
let stateForAllAudio = false;
|
|
57
76
|
let stateForAllVideo = false;
|
|
58
|
-
let
|
|
59
|
-
((ManageControlType2) => {
|
|
60
|
-
ManageControlType2["AUDIO"] = "audio";
|
|
61
|
-
ManageControlType2["VIDEO"] = "video";
|
|
62
|
-
})(ManageControlType || (ManageControlType = {}));
|
|
77
|
+
let stateForScreenShare = false;
|
|
63
78
|
const currentControlType = Vue.ref(
|
|
64
79
|
"audio"
|
|
65
80
|
/* AUDIO */
|
|
66
81
|
);
|
|
67
82
|
async function toggleManageAllMember(type) {
|
|
68
|
-
showManageAllUserDialog.value = true;
|
|
69
83
|
currentControlType.value = type;
|
|
70
84
|
switch (type) {
|
|
71
85
|
case "audio":
|
|
86
|
+
showManageAllUserDialog.value = true;
|
|
72
87
|
dialogTitle.value = roomStore.isMicrophoneDisableForAllUser ? t("Enable all audios") : t("All current and new members will be muted");
|
|
73
88
|
dialogContent.value = roomStore.isMicrophoneDisableForAllUser ? t("After unlocking, users can freely turn on the microphone") : t("Members will not be able to open the microphone");
|
|
74
89
|
stateForAllAudio = !roomStore.isMicrophoneDisableForAllUser;
|
|
@@ -76,15 +91,27 @@ function useIndex() {
|
|
|
76
91
|
dialogActionInfo.value = audioManageInfo.value;
|
|
77
92
|
break;
|
|
78
93
|
case "video":
|
|
94
|
+
showManageAllUserDialog.value = true;
|
|
79
95
|
dialogTitle.value = roomStore.isCameraDisableForAllUser ? t("Enable all videos") : t("All and new members will be banned from the camera");
|
|
80
96
|
dialogContent.value = roomStore.isCameraDisableForAllUser ? t("After unlocking, users can freely turn on the camera") : t("Members will not be able to open the camera");
|
|
81
97
|
stateForAllVideo = !roomStore.isCameraDisableForAllUser;
|
|
82
98
|
await Vue.nextTick();
|
|
83
99
|
dialogActionInfo.value = videoManageInfo.value;
|
|
84
100
|
break;
|
|
101
|
+
case "screen":
|
|
102
|
+
stateForScreenShare = !roomStore.isScreenShareDisableForAllUser;
|
|
103
|
+
if (generalUserScreenStreamList.value.length === 0) {
|
|
104
|
+
toggleAllScreenShare();
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
showManageAllUserDialog.value = true;
|
|
108
|
+
dialogTitle.value = t("Is it turned on that only the host/admin can share the screen?");
|
|
109
|
+
dialogContent.value = t("Other member is sharing the screen is now, the member's sharing will be terminated after you turning on");
|
|
110
|
+
break;
|
|
85
111
|
}
|
|
86
112
|
}
|
|
87
113
|
async function doToggleManageAllMember() {
|
|
114
|
+
var _a;
|
|
88
115
|
switch (currentControlType.value) {
|
|
89
116
|
case "audio":
|
|
90
117
|
toggleAllAudio();
|
|
@@ -92,9 +119,25 @@ function useIndex() {
|
|
|
92
119
|
case "video":
|
|
93
120
|
toggleAllVideo();
|
|
94
121
|
break;
|
|
122
|
+
case "screen":
|
|
123
|
+
await ((_a = roomEngine.instance) == null ? void 0 : _a.closeRemoteDeviceByAdmin({
|
|
124
|
+
userId: generalUserScreenStreamList.value[0].userId,
|
|
125
|
+
device: TUIRoomEngine.TUIMediaDevice.kScreen
|
|
126
|
+
}));
|
|
127
|
+
toggleAllScreenShare();
|
|
128
|
+
break;
|
|
95
129
|
}
|
|
96
130
|
showManageAllUserDialog.value = false;
|
|
97
131
|
}
|
|
132
|
+
async function toggleAllScreenShare() {
|
|
133
|
+
var _a;
|
|
134
|
+
await ((_a = roomEngine.instance) == null ? void 0 : _a.disableDeviceForAllUserByAdmin({
|
|
135
|
+
isDisable: stateForScreenShare,
|
|
136
|
+
device: TUIRoomEngine.TUIMediaDevice.kScreen
|
|
137
|
+
}));
|
|
138
|
+
roomStore.setDisableScreenShareForAllUserByAdmin(stateForScreenShare);
|
|
139
|
+
showMoreControl.value = false;
|
|
140
|
+
}
|
|
98
141
|
function showApplyUserList() {
|
|
99
142
|
if (environment.isMobile) {
|
|
100
143
|
basicStore.setSidebarOpenStatus(true);
|
|
@@ -118,7 +161,7 @@ function useIndex() {
|
|
|
118
161
|
isDisable: stateForAllAudio,
|
|
119
162
|
device: TUIRoomEngine.TUIMediaDevice.kMicrophone
|
|
120
163
|
}));
|
|
121
|
-
roomStore.
|
|
164
|
+
roomStore.setDisableMicrophoneForAllUserByAdmin(stateForAllAudio);
|
|
122
165
|
}
|
|
123
166
|
async function toggleAllVideo() {
|
|
124
167
|
var _a;
|
|
@@ -135,17 +178,20 @@ function useIndex() {
|
|
|
135
178
|
isDisable: stateForAllVideo,
|
|
136
179
|
device: TUIRoomEngine.TUIMediaDevice.kCamera
|
|
137
180
|
}));
|
|
138
|
-
roomStore.
|
|
181
|
+
roomStore.setDisableCameraForAllUserByAdmin(stateForAllVideo);
|
|
139
182
|
}
|
|
140
183
|
const applyToAnchorUserContent = Vue.computed(() => {
|
|
141
|
-
var _a, _b;
|
|
184
|
+
var _a, _b, _c;
|
|
142
185
|
const lastIndex = applyToAnchorList.value.length - 1;
|
|
143
|
-
const userName = ((_a = applyToAnchorList.value[lastIndex]) == null ? void 0 : _a.
|
|
186
|
+
const userName = ((_a = applyToAnchorList.value[lastIndex]) == null ? void 0 : _a.nameCard) || ((_b = applyToAnchorList.value[lastIndex]) == null ? void 0 : _b.userName) || ((_c = applyToAnchorList.value[lastIndex]) == null ? void 0 : _c.userId);
|
|
144
187
|
if (applyToAnchorList.value.length === 1) {
|
|
145
188
|
return `${userName} ${t("Applying for the stage")}`;
|
|
146
189
|
}
|
|
147
190
|
return `${userName} ${t("and so on number people applying to stage", { number: applyToAnchorList.value.length })}`;
|
|
148
191
|
});
|
|
192
|
+
function toggleClickMoreBtn() {
|
|
193
|
+
showMoreControl.value = !showMoreControl.value;
|
|
194
|
+
}
|
|
149
195
|
return {
|
|
150
196
|
showApplyUserList,
|
|
151
197
|
searchText,
|
|
@@ -165,7 +211,10 @@ function useIndex() {
|
|
|
165
211
|
filteredUserList,
|
|
166
212
|
isOnStateTabActive,
|
|
167
213
|
handleToggleStaged,
|
|
168
|
-
applyToAnchorUserContent
|
|
214
|
+
applyToAnchorUserContent,
|
|
215
|
+
toggleClickMoreBtn,
|
|
216
|
+
showMoreControl,
|
|
217
|
+
moreControlList
|
|
169
218
|
};
|
|
170
219
|
}
|
|
171
220
|
exports.default = useIndex;
|
|
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
|
|
4
4
|
require("./index.vue3.js");
|
|
5
5
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
|
|
6
|
-
const StreamContainer = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-
|
|
6
|
+
const StreamContainer = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-06523284"]]);
|
|
7
7
|
exports.default = StreamContainer;
|
|
@@ -7,9 +7,10 @@ const basic = require("../../../stores/basic.js");
|
|
|
7
7
|
const render = require("../../../constants/render.js");
|
|
8
8
|
const index = require("../StreamRegion/index.vue.js");
|
|
9
9
|
const Message = require("../../common/base/Message/Message.js");
|
|
10
|
+
const index$1 = require("../../common/base/MessageBox/index.js");
|
|
10
11
|
const message = require("../../../constants/message.js");
|
|
11
12
|
const utils = require("../../../utils/utils.js");
|
|
12
|
-
const index$
|
|
13
|
+
const index$2 = require("../../../utils/common/logger/index.js");
|
|
13
14
|
const ArrowStroke = require("../../common/ArrowStroke.vue.js");
|
|
14
15
|
const SvgIcon = require("../../common/base/SvgIcon.vue.js");
|
|
15
16
|
const ArrowStrokeTurnPageIcon = require("../../common/icons/ArrowStrokeTurnPageIcon.vue.js");
|
|
@@ -348,10 +349,10 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
348
349
|
roomStore.setCanControlSelfVideo(!roomStore.isCameraDisableForAllUser);
|
|
349
350
|
}
|
|
350
351
|
if (streamType === TUIRoomEngine.TUIVideoStreamType.kScreenStream) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
message: t("
|
|
354
|
-
|
|
352
|
+
index$1.default({
|
|
353
|
+
title: t("Your screen sharing has been stopped"),
|
|
354
|
+
message: t("Your screen sharing has been stopped, Now only the host/admin can share the screen"),
|
|
355
|
+
confirmButtonText: t("I got it")
|
|
355
356
|
});
|
|
356
357
|
}
|
|
357
358
|
}
|
|
@@ -371,7 +372,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
371
372
|
if (userId !== basicStore.userId) {
|
|
372
373
|
roomStore.setHasOtherScreenShare(false);
|
|
373
374
|
}
|
|
374
|
-
index$
|
|
375
|
+
index$2.default.debug(`${logPrefix} onUserVideoStateChanged: stop`, userId, streamType);
|
|
375
376
|
(_b = roomEngine.instance) == null ? void 0 : _b.stopPlayRemoteVideo({
|
|
376
377
|
userId,
|
|
377
378
|
streamType
|
|
@@ -405,8 +406,8 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
405
406
|
}
|
|
406
407
|
};
|
|
407
408
|
const handleStreamContainerScroll = async () => {
|
|
408
|
-
const childDom = streamListRef.value.children[0];
|
|
409
409
|
await Vue.nextTick();
|
|
410
|
+
const childDom = streamListRef.value.children[0];
|
|
410
411
|
let index2 = 0;
|
|
411
412
|
let finalIndex = 0;
|
|
412
413
|
let number = 0;
|
|
@@ -502,8 +503,8 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
502
503
|
"enlarge-dom-id": enlargeDomId.value,
|
|
503
504
|
class: "single-stream",
|
|
504
505
|
style: Vue.normalizeStyle(streamStyle.value),
|
|
505
|
-
|
|
506
|
-
}, null, 8, ["stream", "enlarge-dom-id", "style", "
|
|
506
|
+
onRoomDblclick: ($event) => handleEnlargeStreamRegion(stream)
|
|
507
|
+
}, null, 8, ["stream", "enlarge-dom-id", "style", "onRoomDblclick"])), [
|
|
507
508
|
[Vue.vShow, showStreamList.value.indexOf(stream) > -1]
|
|
508
509
|
]);
|
|
509
510
|
}), 128))
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { TUIChangeReason, TUIUserInfo } from '@tencentcloud/tuiroom-engine-electron';
|
|
2
|
+
import { StreamInfo } from '../../../stores/room';
|
|
3
|
+
import { Ref } from 'vue';
|
|
2
4
|
|
|
3
5
|
export default function useStreamContainer(): {
|
|
6
|
+
currentRemoteSpeakerUserId: Ref<string>;
|
|
7
|
+
currentSpeakerUserId: Ref<string>;
|
|
4
8
|
onRemoteUserEnterRoom: (eventInfo: {
|
|
5
9
|
userInfo: TUIUserInfo;
|
|
6
10
|
}) => void;
|
|
@@ -17,5 +21,9 @@ export default function useStreamContainer(): {
|
|
|
17
21
|
hasAudio: boolean;
|
|
18
22
|
reason: TUIChangeReason;
|
|
19
23
|
}) => void;
|
|
24
|
+
onUserVoiceVolumeChanged: (eventInfo: {
|
|
25
|
+
userVolumeList: any[];
|
|
26
|
+
}) => void;
|
|
27
|
+
isSameStream: (stream1: StreamInfo | null, stream2: StreamInfo | null) => boolean;
|
|
20
28
|
t: any;
|
|
21
29
|
};
|
|
@@ -10,16 +10,20 @@ const basic = require("../../../stores/basic.js");
|
|
|
10
10
|
const message = require("../../../constants/message.js");
|
|
11
11
|
const pinia = require("pinia");
|
|
12
12
|
const environment = require("../../../utils/environment.js");
|
|
13
|
-
const index$1 = require("../../../utils/common/logger/index.js");
|
|
14
13
|
const room$1 = require("../../../constants/room.js");
|
|
15
14
|
const useDeviceManager = require("../../../hooks/useDeviceManager.js");
|
|
16
|
-
const
|
|
15
|
+
const utils = require("../../../utils/utils.js");
|
|
16
|
+
const render = require("../../../constants/render.js");
|
|
17
17
|
function useStreamContainer() {
|
|
18
18
|
const roomEngine = useRoomEngine.default();
|
|
19
19
|
const basicStore = basic.useBasicStore();
|
|
20
20
|
const roomStore = room.useRoomStore();
|
|
21
|
+
const { layout } = pinia.storeToRefs(basicStore);
|
|
22
|
+
const { localStream } = pinia.storeToRefs(roomStore);
|
|
21
23
|
const { t } = index.useI18n();
|
|
22
24
|
const { deviceManager } = useDeviceManager.default();
|
|
25
|
+
const currentRemoteSpeakerUserId = Vue.ref("");
|
|
26
|
+
const currentSpeakerUserId = Vue.ref("");
|
|
23
27
|
const onRemoteUserEnterRoom = (eventInfo) => {
|
|
24
28
|
roomStore.addRemoteUser(eventInfo.userInfo);
|
|
25
29
|
};
|
|
@@ -42,53 +46,88 @@ function useStreamContainer() {
|
|
|
42
46
|
roomStore.setCanControlSelfAudio(!roomStore.isMicrophoneDisableForAllUser);
|
|
43
47
|
}
|
|
44
48
|
};
|
|
49
|
+
function handleUserVoiceVolume(userVolumeList) {
|
|
50
|
+
const localUserVolume = {
|
|
51
|
+
userId: basicStore.userId,
|
|
52
|
+
volume: 0
|
|
53
|
+
};
|
|
54
|
+
const largestRemoteUserVolume = {
|
|
55
|
+
userId: "",
|
|
56
|
+
volume: 0
|
|
57
|
+
};
|
|
58
|
+
userVolumeList.forEach((item) => {
|
|
59
|
+
var _a;
|
|
60
|
+
if (item.userId === basicStore.userId && localStream.value.hasAudioStream) {
|
|
61
|
+
localUserVolume.volume = item.volume;
|
|
62
|
+
} else if (item.userId !== basicStore.userId && ((_a = roomStore.remoteUserObj[item.userId]) == null ? void 0 : _a.hasAudioStream)) {
|
|
63
|
+
const { userId, volume } = item;
|
|
64
|
+
if (volume > largestRemoteUserVolume.volume) {
|
|
65
|
+
largestRemoteUserVolume.userId = userId;
|
|
66
|
+
largestRemoteUserVolume.volume = volume;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const largestUserVolume = localUserVolume.volume > largestRemoteUserVolume.volume ? localUserVolume : largestRemoteUserVolume;
|
|
71
|
+
if (currentRemoteSpeakerUserId.value) {
|
|
72
|
+
const lastRemoteSpeakerUserVolumeInfo = userVolumeList.find((item) => item.userId === currentRemoteSpeakerUserId.value);
|
|
73
|
+
if (!lastRemoteSpeakerUserVolumeInfo || lastRemoteSpeakerUserVolumeInfo.volume === 0) {
|
|
74
|
+
if (largestRemoteUserVolume.volume > 0) {
|
|
75
|
+
currentRemoteSpeakerUserId.value = largestRemoteUserVolume.userId;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
if (largestRemoteUserVolume.volume > 0) {
|
|
80
|
+
currentRemoteSpeakerUserId.value = largestRemoteUserVolume.userId;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (currentSpeakerUserId.value) {
|
|
84
|
+
const lastSpeakerUserVolumeInfo = userVolumeList.find((item) => item.userId === currentSpeakerUserId.value);
|
|
85
|
+
if (!lastSpeakerUserVolumeInfo || lastSpeakerUserVolumeInfo.volume === 0) {
|
|
86
|
+
if (largestUserVolume.volume > 0) {
|
|
87
|
+
currentSpeakerUserId.value = largestUserVolume.userId;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
if (largestUserVolume.volume > 0) {
|
|
92
|
+
currentSpeakerUserId.value = largestUserVolume.userId;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const handleUserVoiceVolumeThrottle = utils.throttle(handleUserVoiceVolume, 1e3);
|
|
97
|
+
const onUserVoiceVolumeChanged = (eventInfo) => {
|
|
98
|
+
const { userVolumeList } = eventInfo;
|
|
99
|
+
if (layout.value === render.LAYOUT.LARGE_SMALL_WINDOW) {
|
|
100
|
+
handleUserVoiceVolumeThrottle(userVolumeList);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
45
103
|
const {
|
|
46
104
|
isDefaultOpenCamera,
|
|
47
105
|
isDefaultOpenMicrophone
|
|
48
106
|
} = pinia.storeToRefs(roomStore);
|
|
49
107
|
Vue.watch(isDefaultOpenCamera, async (val) => {
|
|
50
|
-
var _a, _b, _c, _d, _e, _f
|
|
108
|
+
var _a, _b, _c, _d, _e, _f;
|
|
51
109
|
if (val) {
|
|
52
110
|
if (environment.isWeChat) {
|
|
53
|
-
await ((_a = roomEngine.instance) == null ? void 0 : _a.
|
|
54
|
-
view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
|
|
55
|
-
}));
|
|
56
|
-
await ((_b = roomEngine.instance) == null ? void 0 : _b.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
|
|
111
|
+
await ((_a = roomEngine.instance) == null ? void 0 : _a.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
|
|
57
112
|
} else if (environment.isMobile) {
|
|
58
|
-
const
|
|
59
|
-
if (!previewDom) {
|
|
60
|
-
index$1.default.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
await ((_c = roomEngine.instance) == null ? void 0 : _c.setLocalVideoView({
|
|
64
|
-
view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
|
|
65
|
-
}));
|
|
66
|
-
const trtcCloud = (_d = roomEngine.instance) == null ? void 0 : _d.getTRTCCloud();
|
|
113
|
+
const trtcCloud = (_b = roomEngine.instance) == null ? void 0 : _b.getTRTCCloud();
|
|
67
114
|
trtcCloud == null ? void 0 : trtcCloud.enableSmallVideoStream(false, room$1.SMALL_VIDEO_ENC_PARAM);
|
|
68
|
-
await ((
|
|
115
|
+
await ((_c = roomEngine.instance) == null ? void 0 : _c.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
|
|
69
116
|
return;
|
|
70
117
|
} else {
|
|
71
|
-
const previewDom = document == null ? void 0 : document.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);
|
|
72
|
-
if (!previewDom) {
|
|
73
|
-
index$1.default.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
118
|
if (!roomStore.currentCameraId) {
|
|
77
|
-
const cameraList = await ((
|
|
119
|
+
const cameraList = await ((_d = deviceManager.instance) == null ? void 0 : _d.getDevicesList({
|
|
78
120
|
type: TUIRoomEngine.TUIMediaDeviceType.kMediaDeviceTypeVideoCamera
|
|
79
121
|
}));
|
|
80
122
|
if (cameraList && cameraList.length > 0) {
|
|
81
123
|
roomStore.setCurrentCameraId(cameraList[0].deviceId);
|
|
82
124
|
}
|
|
83
125
|
}
|
|
84
|
-
await ((
|
|
126
|
+
await ((_e = deviceManager.instance) == null ? void 0 : _e.setCurrentDevice({
|
|
85
127
|
type: TUIRoomEngine.TUIMediaDeviceType.kMediaDeviceTypeVideoCamera,
|
|
86
128
|
deviceId: roomStore.currentCameraId
|
|
87
129
|
}));
|
|
88
|
-
await ((
|
|
89
|
-
view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
|
|
90
|
-
}));
|
|
91
|
-
await ((_i = roomEngine.instance) == null ? void 0 : _i.openLocalCamera());
|
|
130
|
+
await ((_f = roomEngine.instance) == null ? void 0 : _f.openLocalCamera());
|
|
92
131
|
}
|
|
93
132
|
}
|
|
94
133
|
}, { immediate: true });
|
|
@@ -117,11 +156,16 @@ function useStreamContainer() {
|
|
|
117
156
|
await ((_f = roomEngine.instance) == null ? void 0 : _f.muteLocalAudio());
|
|
118
157
|
}
|
|
119
158
|
}, { immediate: true });
|
|
159
|
+
const isSameStream = (stream1, stream2) => `${stream1 == null ? void 0 : stream1.userId}_${stream1 == null ? void 0 : stream1.streamType}` === `${stream2 == null ? void 0 : stream2.userId}_${stream2 == null ? void 0 : stream2.streamType}`;
|
|
120
160
|
return {
|
|
161
|
+
currentRemoteSpeakerUserId,
|
|
162
|
+
currentSpeakerUserId,
|
|
121
163
|
onRemoteUserEnterRoom,
|
|
122
164
|
onRemoteUserLeaveRoom,
|
|
123
165
|
onSeatListChanged,
|
|
124
166
|
onUserAudioStateChanged,
|
|
167
|
+
onUserVoiceVolumeChanged,
|
|
168
|
+
isSameStream,
|
|
125
169
|
t
|
|
126
170
|
};
|
|
127
171
|
}
|
|
@@ -5,7 +5,11 @@ interface Props {
|
|
|
5
5
|
enlargeDomId?: string;
|
|
6
6
|
changeLargeStream?: boolean;
|
|
7
7
|
}
|
|
8
|
-
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"room-dblclick": (...args: any[]) => void;
|
|
10
|
+
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & {
|
|
11
|
+
"onRoom-dblclick"?: ((...args: any[]) => any) | undefined;
|
|
12
|
+
}, {}, {}>;
|
|
9
13
|
export default _default;
|
|
10
14
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
11
15
|
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
|
|
4
4
|
require("./index.vue3.js");
|
|
5
5
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
|
|
6
|
-
const StreamRegion = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-
|
|
6
|
+
const StreamRegion = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-d119ad48"]]);
|
|
7
7
|
exports.default = StreamRegion;
|
|
@@ -31,6 +31,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
31
31
|
enlargeDomId: {},
|
|
32
32
|
changeLargeStream: { type: Boolean }
|
|
33
33
|
},
|
|
34
|
+
emits: ["room-dblclick"],
|
|
34
35
|
setup(__props) {
|
|
35
36
|
const roomEngine = useRoomEngine.default();
|
|
36
37
|
const basicStore = basic.useBasicStore();
|
|
@@ -55,10 +56,33 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
55
56
|
const isScreenStream = Vue.computed(() => props.stream.streamType === TUIRoomEngine.TUIVideoStreamType.kScreenStream);
|
|
56
57
|
const userInfo = Vue.computed(() => {
|
|
57
58
|
if (constants.isInnerScene) {
|
|
58
|
-
return `${props.stream.
|
|
59
|
+
return `${props.stream.nameCard || props.stream.userName} | ${props.stream.userId}`;
|
|
59
60
|
}
|
|
60
|
-
return props.stream.userName || props.stream.userId;
|
|
61
|
+
return props.stream.nameCard || props.stream.userName || props.stream.userId;
|
|
61
62
|
});
|
|
63
|
+
Vue.watch(
|
|
64
|
+
() => props.stream.hasVideoStream,
|
|
65
|
+
async (val) => {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
if (props.stream.userId === basicStore.userId && props.stream.streamType === TUIRoomEngine.TUIVideoStreamType.kCameraStream) {
|
|
68
|
+
if (val) {
|
|
69
|
+
await Vue.nextTick();
|
|
70
|
+
const userIdEl = document == null ? void 0 : document.getElementById(`${playRegionDomId.value}`);
|
|
71
|
+
if (userIdEl) {
|
|
72
|
+
index$1.default.debug(`${logPrefix}watch isVideoStreamAvailable:`, props.stream.userId, userIdEl);
|
|
73
|
+
await ((_a = roomEngine.instance) == null ? void 0 : _a.setLocalVideoView({
|
|
74
|
+
view: `${playRegionDomId.value}`
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
await ((_b = roomEngine.instance) == null ? void 0 : _b.setLocalVideoView({
|
|
79
|
+
view: null
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{ immediate: true }
|
|
85
|
+
);
|
|
62
86
|
const streamTypeToFetch = Vue.computed(() => {
|
|
63
87
|
const { streamType, userId } = props.stream;
|
|
64
88
|
const { kScreenStream, kCameraStream } = TUIRoomEngine.TUIVideoStreamType;
|
|
@@ -168,7 +192,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
168
192
|
ref_key: "streamRegionRef",
|
|
169
193
|
ref: streamRegionRef,
|
|
170
194
|
class: "user-stream-container",
|
|
171
|
-
onDblclick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("
|
|
195
|
+
onDblclick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("room-dblclick"))
|
|
172
196
|
}, [
|
|
173
197
|
isLocalScreen.value ? (Vue.openBlock(), Vue.createBlock(index$2.default, {
|
|
174
198
|
key: 0,
|
|
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
|
|
4
4
|
require("./index.vue3.js");
|
|
5
5
|
const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
|
|
6
|
-
const MasterApplyControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-
|
|
6
|
+
const MasterApplyControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-1d9fb310"]]);
|
|
7
7
|
exports.default = MasterApplyControl;
|
|
@@ -7,6 +7,12 @@ const Avatar = require("../../../common/Avatar.vue.js");
|
|
|
7
7
|
const index = require("../../../common/base/Dialog/index.vue.js");
|
|
8
8
|
const SvgIcon = require("../../../common/base/SvgIcon.vue.js");
|
|
9
9
|
const Button = require("../../../common/base/Button.vue.js");
|
|
10
|
+
require("../../../../services/main.js");
|
|
11
|
+
const roomService = require("../../../../services/roomService.js");
|
|
12
|
+
require("../../../../locales/index.js");
|
|
13
|
+
require("@tencentcloud/tuiroom-engine-electron");
|
|
14
|
+
require("mitt");
|
|
15
|
+
require("../../../../services/manager/roomActionManager.js");
|
|
10
16
|
const _hoisted_1 = {
|
|
11
17
|
key: 0,
|
|
12
18
|
class: "apply-list"
|
|
@@ -88,8 +94,8 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
88
94
|
}, null, 8, ["img-src"]),
|
|
89
95
|
Vue.createElementVNode("span", {
|
|
90
96
|
class: "user-name",
|
|
91
|
-
title:
|
|
92
|
-
}, Vue.toDisplayString(
|
|
97
|
+
title: Vue.unref(roomService.roomService).getDisplayName(item)
|
|
98
|
+
}, Vue.toDisplayString(Vue.unref(roomService.roomService).getDisplayName(item)), 9, _hoisted_6)
|
|
93
99
|
]),
|
|
94
100
|
Vue.createElementVNode("div", _hoisted_7, [
|
|
95
101
|
Vue.createVNode(Button.default, {
|
|
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
|
|
4
4
|
require("./index.vue3.js");
|
|
5
5
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
|
|
6
|
-
const EndControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-
|
|
6
|
+
const EndControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-288c67ea"]]);
|
|
7
7
|
exports.default = EndControl;
|
|
@@ -191,7 +191,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
191
191
|
return Vue.openBlock(), Vue.createBlock(Option.default, {
|
|
192
192
|
key: user.userId,
|
|
193
193
|
value: user.userId,
|
|
194
|
-
label: user.userName,
|
|
194
|
+
label: user.nameCard || user.userName,
|
|
195
195
|
theme: "white"
|
|
196
196
|
}, null, 8, ["value", "label"]);
|
|
197
197
|
}), 128))
|
|
@@ -10,6 +10,10 @@ const useRoomEngine = require("../../../hooks/useRoomEngine.js");
|
|
|
10
10
|
const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-electron");
|
|
11
11
|
const index$1 = require("../../../utils/common/logger/index.js");
|
|
12
12
|
const Message = require("../../common/base/Message/Message.js");
|
|
13
|
+
require("../../../services/main.js");
|
|
14
|
+
const roomService = require("../../../services/roomService.js");
|
|
15
|
+
require("mitt");
|
|
16
|
+
require("../../../services/manager/roomActionManager.js");
|
|
13
17
|
function useEndControl() {
|
|
14
18
|
const { t } = index.useI18n();
|
|
15
19
|
let DialogType;
|
|
@@ -37,8 +41,8 @@ function useEndControl() {
|
|
|
37
41
|
const showTransfer = Vue.ref(false);
|
|
38
42
|
const searchName = Vue.ref("");
|
|
39
43
|
const filteredList = Vue.computed(() => remoteUserList.value.filter((searchUser) => {
|
|
40
|
-
var _a;
|
|
41
|
-
return searchUser.userId.includes(searchName.value) || ((
|
|
44
|
+
var _a, _b;
|
|
45
|
+
return ((_a = searchUser.nameCard) == null ? void 0 : _a.includes(searchName.value)) || searchUser.userId.includes(searchName.value) || ((_b = searchUser.userName) == null ? void 0 : _b.includes(searchName.value));
|
|
42
46
|
}));
|
|
43
47
|
const hasNoData = Vue.computed(() => filteredList.value.length === 0);
|
|
44
48
|
const isMasterWithOneRemoteUser = Vue.computed(() => remoteUserList.value.length === 1);
|
|
@@ -162,9 +166,17 @@ function useEndControl() {
|
|
|
162
166
|
var _a;
|
|
163
167
|
(_a = roomEngine.instance) == null ? void 0 : _a.on(TUIRoomEngine.TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);
|
|
164
168
|
});
|
|
169
|
+
const handleMount = () => {
|
|
170
|
+
const { userRole } = roomService.roomService.roomStore.localUser;
|
|
171
|
+
if (userRole === TUIRoomEngine.TUIRole.kRoomOwner || userRole === TUIRoomEngine.TUIRole.kAdministrator) {
|
|
172
|
+
handleUpdateSeatApplicationList();
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
roomService.roomService.lifeCycleManager.on("mount", handleMount);
|
|
165
176
|
Vue.onUnmounted(() => {
|
|
166
177
|
var _a;
|
|
167
178
|
(_a = roomEngine.instance) == null ? void 0 : _a.off(TUIRoomEngine.TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);
|
|
179
|
+
roomService.roomService.lifeCycleManager.off("mount", handleMount);
|
|
168
180
|
});
|
|
169
181
|
return {
|
|
170
182
|
t,
|
|
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const Index_vue_vue_type_script_setup_true_lang = require("./Index.vue2.js");
|
|
4
4
|
require("./Index.vue3.js");
|
|
5
5
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
|
|
6
|
-
const ScreenShareControl = /* @__PURE__ */ _pluginVue_exportHelper.default(Index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-
|
|
6
|
+
const ScreenShareControl = /* @__PURE__ */ _pluginVue_exportHelper.default(Index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-9e5b6506"]]);
|
|
7
7
|
exports.default = ScreenShareControl;
|
|
@@ -23,7 +23,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
23
23
|
setup(__props) {
|
|
24
24
|
const { t } = index.useI18n();
|
|
25
25
|
const roomStore = room.useRoomStore();
|
|
26
|
-
const { isAudience, hasOtherScreenShare } = pinia.storeToRefs(roomStore);
|
|
26
|
+
const { isAudience, hasOtherScreenShare, isGeneralUser, isScreenShareDisableForAllUser } = pinia.storeToRefs(roomStore);
|
|
27
27
|
const roomEngine = useRoomEngine.default();
|
|
28
28
|
const btnStopRef = Vue.ref();
|
|
29
29
|
const isSharing = Vue.ref(false);
|
|
@@ -56,6 +56,14 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
|
56
56
|
});
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
+
if (isGeneralUser.value && isScreenShareDisableForAllUser.value) {
|
|
60
|
+
Message.default({
|
|
61
|
+
type: "warning",
|
|
62
|
+
message: t("Failed to initiate screen sharing, currently only host/admin can share screen."),
|
|
63
|
+
duration: message.MESSAGE_DURATION.LONG
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
59
67
|
if (!window.isHasScreen && process.platform === "darwin") {
|
|
60
68
|
showPermissionVisible.value = true;
|
|
61
69
|
}
|
|
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const VideoControl_vue_vue_type_script_setup_true_lang = require("./VideoControl.vue2.js");
|
|
4
4
|
require("./VideoControl.vue3.js");
|
|
5
5
|
const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
|
|
6
|
-
const VideoControl = /* @__PURE__ */ _pluginVue_exportHelper.default(VideoControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-
|
|
6
|
+
const VideoControl = /* @__PURE__ */ _pluginVue_exportHelper.default(VideoControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-5c3d6ed6"]]);
|
|
7
7
|
exports.default = VideoControl;
|