@tencentcloud/roomkit-electron-vue3 2.4.2 → 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 +2383 -1545
- 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 +2390 -1546
- 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
package/src/TUIRoom/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { conference, RoomEvent, FeatureButton } from './conference';
|
|
|
5
5
|
import RoomMessageCard from './extension/RoomMessageCard/RoomMessageCard.vue';
|
|
6
6
|
import { roomService } from './services';
|
|
7
7
|
export * from './components/common/base/index';
|
|
8
|
+
export * from './services/manager/scheduleConferenceManager';
|
|
8
9
|
export {
|
|
9
10
|
ConferenceMainView,
|
|
10
11
|
PreConferenceView,
|
|
@@ -199,6 +199,8 @@ export default {
|
|
|
199
199
|
'Camera settings': 'Camera settings',
|
|
200
200
|
Copy: 'Copy',
|
|
201
201
|
'Copied successfully': 'Copied successfully',
|
|
202
|
+
'Copied failure': 'Copied failure',
|
|
203
|
+
'This model does not support copying at this time': 'This model does not support copying at this time',
|
|
202
204
|
'accepted the invitation to the stage': 'accepted the invitation to the stage',
|
|
203
205
|
'declined the invitation to the stage': 'declined the invitation to the stage',
|
|
204
206
|
'All audios disabled': 'All audios disabled',
|
|
@@ -290,6 +292,7 @@ export default {
|
|
|
290
292
|
'and so on number people applying to stage': ({ named }) => `and so on ${named('number')} people applying to stage`,
|
|
291
293
|
'The stage is full, please contact the host': 'The stage is full, please contact the host',
|
|
292
294
|
'The stage is full': 'The stage is full',
|
|
295
|
+
'change name': 'change name',
|
|
293
296
|
// Room Chat Fusion Card Translation
|
|
294
297
|
'quick conference': 'quick conference',
|
|
295
298
|
Meeting: 'Meeting',
|
|
@@ -306,4 +309,78 @@ export default {
|
|
|
306
309
|
'Failed to initiate meeting': 'Failed to initiate meeting',
|
|
307
310
|
'Failed to enter the meeting': 'Failed to enter the meeting',
|
|
308
311
|
'Failed to disable chat': 'Failed to disable chat',
|
|
312
|
+
'All members can share screen': 'All members can share screen',
|
|
313
|
+
'Screen sharing for host/admin only': 'Screen sharing for host/admin only',
|
|
314
|
+
'Failed to initiate screen sharing, currently only host/admin can share screen.': 'Failed to initiate screen sharing, currently only host/admin can share screen.',
|
|
315
|
+
'Is it turned on that only the host/admin can share the screen?': 'Is it turned on that only the host/admin can share the screen?',
|
|
316
|
+
'Other member is sharing the screen is now, the member\'s sharing will be terminated after you turning on': 'Other member is sharing the screen now, the member\'s sharing will be terminated after you turning on',
|
|
317
|
+
'Your screen sharing has been stopped': 'Your screen sharing has been stopped',
|
|
318
|
+
'Your screen sharing has been stopped, Now only the host/admin can share the screen': 'Your screen sharing has been stopped, Now only the host/admin can share the screen',
|
|
319
|
+
'I got it': 'I got it',
|
|
320
|
+
Attention: 'Attention',
|
|
321
|
+
'Audio playback failed. Click the "Confirm" to resume playback': 'Audio playback failed. Click the "Confirm" to resume playback.',
|
|
322
|
+
// Schedule Room
|
|
323
|
+
'view details': 'view details',
|
|
324
|
+
'modify room': 'modify room',
|
|
325
|
+
'cancel room': 'cancel room',
|
|
326
|
+
join: 'join',
|
|
327
|
+
'No room available for booking': 'No room available for booking',
|
|
328
|
+
'Ongoing': 'Ongoing',
|
|
329
|
+
finished: 'finished',
|
|
330
|
+
'History room': 'History room',
|
|
331
|
+
'sb temporary room': ({ named }: any) => `${named('name')}'s temporary room`,
|
|
332
|
+
year: 'year',
|
|
333
|
+
month: 'month',
|
|
334
|
+
day: 'day',
|
|
335
|
+
Schedule: 'Schedule',
|
|
336
|
+
'Modify Room': 'Modify Room',
|
|
337
|
+
'Room Name': 'Room Name',
|
|
338
|
+
'please enter the room name': 'please enter the room name',
|
|
339
|
+
'Room type': 'Room type',
|
|
340
|
+
'Starting time': 'Starting time',
|
|
341
|
+
'Room duration': 'Room duration',
|
|
342
|
+
'Time zone': 'Time zone',
|
|
343
|
+
Attendees: 'Attendees',
|
|
344
|
+
'Please enter the member name': 'Please enter the member name',
|
|
345
|
+
people: 'people',
|
|
346
|
+
'Scheduled meetings': 'scheduled meetings',
|
|
347
|
+
minute: 'minute',
|
|
348
|
+
hour: 'hour',
|
|
349
|
+
minutes: 'minutes',
|
|
350
|
+
hours: 'hours',
|
|
351
|
+
'The start time cannot be earlier than the current time': 'The start time cannot be earlier than the current time',
|
|
352
|
+
'Room Time': 'Room Time',
|
|
353
|
+
'Creator': 'Creator',
|
|
354
|
+
'Room Details': 'Room Details',
|
|
355
|
+
'Enter Now': 'Enter Now',
|
|
356
|
+
'Invited members': 'Invited members',
|
|
357
|
+
'The room is closed': 'The room is closed',
|
|
358
|
+
'Entry Time': 'Entry Time',
|
|
359
|
+
'Duration of participation': 'Duration of participation',
|
|
360
|
+
'No cancellation': 'No cancellation',
|
|
361
|
+
'Other members will not be able to join after cancellation': 'Other members will not be able to join after cancellation',
|
|
362
|
+
'Inviting members to join': 'Inviting members to join',
|
|
363
|
+
'Invitation by room ID': 'Invitation by room ID',
|
|
364
|
+
'Invitation via room link': 'Invitation via room link',
|
|
365
|
+
'Copy the conference number and link': 'Copy the conference number and link',
|
|
366
|
+
'Schedule successful, invite members to join': 'Schedule successful, invite members to join',
|
|
367
|
+
'Name changed successfully': 'Name changed successfully',
|
|
368
|
+
'schedule year': '/',
|
|
369
|
+
'schedule month': '/',
|
|
370
|
+
'schedule day': ' ',
|
|
371
|
+
'The room name cannot exceed 100 characters': 'The room name cannot exceed 100 characters',
|
|
372
|
+
'The meeting is in progress and any meeting information cannot be modified': 'The meeting is in progress and any meeting information cannot be modified',
|
|
373
|
+
'Schedule room loading': 'Schedule room loading...',
|
|
374
|
+
'The user name cannot exceed 32 characters': 'The user name cannot exceed 32 characters',
|
|
375
|
+
'sb invites you to join the conference': ({ named }: any) => `${named('name')} invites you to join the conference`,
|
|
376
|
+
// media privilege
|
|
377
|
+
microphone: 'microphone',
|
|
378
|
+
camera: 'camera',
|
|
379
|
+
'Unable to use the device': ({ named }: any) => `Unable to use the ${named('deviceType')}`,
|
|
380
|
+
'media device failed to open, please check the media device and try again': ({ named }: any) => `${named('deviceType')} failed to open, please check the ${named('deviceType')} and try again`,
|
|
381
|
+
'The current device is not authorized, please allow access to the device permissions': ({ named }: any) => `The ${named('deviceType')} is not authorized, please allow access to the ${named('deviceType')} permissions`,
|
|
382
|
+
'The current device is occupied by other apps, try to close other apps or change the device': ({ named }: any) => `The ${named('deviceType')} is occupied by other apps, try to close other apps or change the device`,
|
|
383
|
+
'Turn on device privileges': ({ named }: any) => `Turn on ${named('deviceType')} privileges`,
|
|
384
|
+
'You can go to "System Preferences - Security & Privacy - Device" to enable device permissions': ({ named }: any) => `You can go to "System Preferences - Security & Privacy - ${named('deviceType')}" to enable device permissions.`,
|
|
385
|
+
'Go to Settings': 'Go to Settings',
|
|
309
386
|
};
|
|
@@ -3,7 +3,7 @@ export default {
|
|
|
3
3
|
'Log out': '退出登录',
|
|
4
4
|
'Edit profile': '编辑资料',
|
|
5
5
|
'User Name': '用户名',
|
|
6
|
-
'Please input user name': '
|
|
6
|
+
'Please input user name': '请输入名称',
|
|
7
7
|
'Username length should be greater than 0': '昵称长度应该大于0',
|
|
8
8
|
Save: '保存',
|
|
9
9
|
Camera: '摄像头',
|
|
@@ -199,6 +199,8 @@ export default {
|
|
|
199
199
|
'Camera settings': '摄像头设置',
|
|
200
200
|
Copy: '复制',
|
|
201
201
|
'Copied successfully': '复制成功',
|
|
202
|
+
'Copied failure': '复制失败',
|
|
203
|
+
'This model does not support copying at this time': '此机型暂不支持复制',
|
|
202
204
|
'accepted the invitation to the stage': '接受了上台邀请',
|
|
203
205
|
'declined the invitation to the stage': '拒绝了上台邀请',
|
|
204
206
|
'All audios disabled': '已开启全体静音',
|
|
@@ -290,6 +292,7 @@ export default {
|
|
|
290
292
|
'and so on number people applying to stage': ({ named }) => `等 ${named('number')} 人正在申请上台`,
|
|
291
293
|
'The stage is full, please contact the host': '台上人数已满,请联系主持人',
|
|
292
294
|
'The stage is full': '台上人数已满',
|
|
295
|
+
'change name': '修改名称',
|
|
293
296
|
// Room Chat Fusion Card Translation
|
|
294
297
|
'quick conference': '快速会议',
|
|
295
298
|
Meeting: '会议',
|
|
@@ -306,4 +309,82 @@ export default {
|
|
|
306
309
|
'Failed to initiate meeting': '发起会议失败',
|
|
307
310
|
'Failed to enter the meeting': '进入会议失败',
|
|
308
311
|
'Failed to disable chat': '禁言失败',
|
|
312
|
+
'All members can share screen': '全体成员可共享屏幕',
|
|
313
|
+
'Screen sharing for host/admin only': '仅房主/管理员可共享屏幕',
|
|
314
|
+
'Failed to initiate screen sharing, currently only host/admin can share screen.': '发起共享失败,当前仅房主/管理员可以共享',
|
|
315
|
+
'Is it turned on that only the host/admin can share the screen?': '是否开启仅房主/管理员可共享屏幕?',
|
|
316
|
+
'Other member is sharing the screen is now, the member\'s sharing will be terminated after you turning on': '当前有成员正在共享屏幕, 开启后该成员的共享将会被终止',
|
|
317
|
+
'Your screen sharing has been stopped': '共享屏幕停止',
|
|
318
|
+
'Your screen sharing has been stopped, Now only the host/admin can share the screen': '已停止您的共享,当前仅房主/管理员可以共享屏幕',
|
|
319
|
+
'I got it': '我知道了',
|
|
320
|
+
Attention: '注意',
|
|
321
|
+
'Audio playback failed. Click the "Confirm" to resume playback': '音频播放失败。单击 “确认 ”恢复播放。',
|
|
322
|
+
// Schedule Room
|
|
323
|
+
'view details': '查看详情',
|
|
324
|
+
'modify room': '修改房间',
|
|
325
|
+
'cancel room': '取消房间',
|
|
326
|
+
join: '加入',
|
|
327
|
+
'No room available for booking': '暂无预订房间',
|
|
328
|
+
'Ongoing': '进行中',
|
|
329
|
+
finished: '已结束',
|
|
330
|
+
'History room': '历史房间',
|
|
331
|
+
'sb temporary room': ({ named }: any) => `${named('name')}的临时房间`,
|
|
332
|
+
year: '年',
|
|
333
|
+
month: '月',
|
|
334
|
+
day: '日',
|
|
335
|
+
Schedule: '预订房间',
|
|
336
|
+
'Modify Room': '修改房间',
|
|
337
|
+
'Room Name': '房间名称',
|
|
338
|
+
'please enter the room name': '请输入房间名称',
|
|
339
|
+
'Room type': '房间类型',
|
|
340
|
+
'Starting time': '开始时间',
|
|
341
|
+
'Room duration': '房间时长',
|
|
342
|
+
'Time zone': '时区',
|
|
343
|
+
Attendees: '参与成员',
|
|
344
|
+
'Please enter the member name': '请输入成员名称',
|
|
345
|
+
people: '人',
|
|
346
|
+
Contacts: '联系人',
|
|
347
|
+
'No relevant members found': '暂无相关成员',
|
|
348
|
+
'Selected Contact': '已选联系人',
|
|
349
|
+
'Scheduled meetings': '预订的会议',
|
|
350
|
+
minute: '分钟',
|
|
351
|
+
hour: '小时',
|
|
352
|
+
minutes: '分钟',
|
|
353
|
+
hours: '小时',
|
|
354
|
+
'The start time cannot be earlier than the current time': '开始时间不能早于当前时间',
|
|
355
|
+
'Room Time': '房间时间',
|
|
356
|
+
'Creator': '发起人',
|
|
357
|
+
'Room Details': '房间详情',
|
|
358
|
+
'Enter Now': '立即进入',
|
|
359
|
+
'Invited members': '邀请成员',
|
|
360
|
+
'The room is closed': '房间已结束',
|
|
361
|
+
'Entry Time': '进房时间',
|
|
362
|
+
'Duration of participation': '参会时长',
|
|
363
|
+
'No cancellation': '暂不取消',
|
|
364
|
+
'Cancellation of scheduled rooms': '取消已预订的房间',
|
|
365
|
+
'Other members will not be able to join after cancellation': '取消后其他成员将无法加入',
|
|
366
|
+
'Inviting members to join': '邀请成员加入',
|
|
367
|
+
'Invitation by room ID': '通过房间号邀请',
|
|
368
|
+
'Invitation via room link': '通过房间链接邀请',
|
|
369
|
+
'Copy the conference number and link': '复制会议号与链接',
|
|
370
|
+
'Schedule successful, invite members to join': '预订成功,邀请成员加入',
|
|
371
|
+
'Name changed successfully': '名称修改成功',
|
|
372
|
+
'schedule year': '年',
|
|
373
|
+
'schedule month': '月',
|
|
374
|
+
'schedule day': '日',
|
|
375
|
+
'The room name cannot exceed 100 characters': '房间名称不能超过100个字节',
|
|
376
|
+
'The meeting is in progress and any meeting information cannot be modified': '进行中的会议,不能修改任何会议信息',
|
|
377
|
+
'Schedule room loading': '预定房间加载中...',
|
|
378
|
+
'The user name cannot exceed 32 characters': '用户名称不能超过32个字节',
|
|
379
|
+
'sb invites you to join the conference': ({ named }: any) => `${named('name')} 邀请您加入会议`,
|
|
380
|
+
// media privilege
|
|
381
|
+
microphone: '麦克风',
|
|
382
|
+
camera: '摄像头',
|
|
383
|
+
'Unable to use the device': ({ named }: any) => `无法使用${named('deviceType')}`,
|
|
384
|
+
'media device failed to open, please check the media device and try again': ({ named }: any) => `打开${named('deviceType')}失败, 请检查${named('deviceType')}设备并重试`,
|
|
385
|
+
'The current device is not authorized, please allow access to the device permissions': ({ named }: any) => `${named('deviceType')}设备未授权, 请允许访问${named('deviceType')}权限`,
|
|
386
|
+
'The current device is occupied by other apps, try to close other apps or change the device': ({ named }: any) => `当前${named('deviceType')}被其他应用程序占用,请尝试关闭其他应用程序或更换${named('deviceType')}`,
|
|
387
|
+
'Turn on device privileges': ({ named }: any) => `打开${named('deviceType')}权限`,
|
|
388
|
+
'You can go to "System Preferences - Security & Privacy - Device" to enable device permissions': ({ named }: any) => `你可前往"系统设置 - 隐私与安全性 - ${named('deviceType')}"开启设备权限。`,
|
|
389
|
+
'Go to Settings': '前往设置',
|
|
309
390
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="pre-conference-container">
|
|
2
|
+
<div id="pre-conference-container" :class="['pre-conference-container', tuiRoomThemeClass]">
|
|
3
3
|
<div class="header">
|
|
4
4
|
<div class="left-header">
|
|
5
5
|
<switch-theme class="header-item"></switch-theme>
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
<room-home-control
|
|
21
|
+
v-if="isMobile"
|
|
21
22
|
ref="roomControlRef"
|
|
22
23
|
:given-room-id="props.roomId"
|
|
23
24
|
:user-name="props.userInfo.userName"
|
|
@@ -25,15 +26,41 @@
|
|
|
25
26
|
@enter-room="handleEnterRoom"
|
|
26
27
|
@update-user-name="handleUpdateUserName"
|
|
27
28
|
></room-home-control>
|
|
29
|
+
<div class="pre-home-control" v-else>
|
|
30
|
+
<Logo v-show="props.isShowLogo" class="logo" />
|
|
31
|
+
<div class="pre-home-control-container">
|
|
32
|
+
<room-home-control
|
|
33
|
+
ref="roomControlRef"
|
|
34
|
+
:given-room-id="props.roomId"
|
|
35
|
+
:user-name="props.userInfo.userName"
|
|
36
|
+
:enable-scheduled-conference="props.enableScheduledConference"
|
|
37
|
+
@create-room="handleCreateRoom"
|
|
38
|
+
@enter-room="handleEnterRoom"
|
|
39
|
+
@update-user-name="handleUpdateUserName"
|
|
40
|
+
></room-home-control>
|
|
41
|
+
<schedule-room-list
|
|
42
|
+
:is-show-scheduled-conference="props.enableScheduledConference"
|
|
43
|
+
@join-conference="handleEnterRoom"
|
|
44
|
+
></schedule-room-list>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
28
47
|
</div>
|
|
29
48
|
</template>
|
|
30
49
|
|
|
31
50
|
<script setup lang="ts">
|
|
51
|
+
import { ref, computed, onMounted, onUnmounted } from 'vue';
|
|
32
52
|
import UserInfo from './components/RoomHeader/UserInfo/index.vue';
|
|
33
53
|
import RoomHomeControl from './components/RoomHome/RoomControl/index.vue';
|
|
34
54
|
import LanguageIcon from './components/common/Language.vue';
|
|
35
55
|
import SwitchTheme from './components/common/SwitchTheme.vue';
|
|
36
|
-
import {
|
|
56
|
+
import { EventType, roomService } from './services/index';
|
|
57
|
+
import ScheduleRoomList from './components/ScheduleConference/ScheduleRoomList.vue';
|
|
58
|
+
import Logo from './components/common/Logo.vue';
|
|
59
|
+
import TUIMessageBox from './components/common/base/MessageBox/index';
|
|
60
|
+
import TUIMessage from './components/common/base/Message/index';
|
|
61
|
+
import { MESSAGE_DURATION } from './constants/message';
|
|
62
|
+
import { isMobile } from './utils/environment';
|
|
63
|
+
|
|
37
64
|
const roomControlRef = ref();
|
|
38
65
|
|
|
39
66
|
const props = withDefaults(defineProps<{
|
|
@@ -44,6 +71,8 @@ const props = withDefaults(defineProps<{
|
|
|
44
71
|
},
|
|
45
72
|
showEditNameInPc: boolean,
|
|
46
73
|
roomId: string,
|
|
74
|
+
enableScheduledConference: boolean,
|
|
75
|
+
isShowLogo?: boolean
|
|
47
76
|
}>(), {
|
|
48
77
|
userInfo: () => ({
|
|
49
78
|
userId: '',
|
|
@@ -52,10 +81,14 @@ const props = withDefaults(defineProps<{
|
|
|
52
81
|
}),
|
|
53
82
|
showEditNameInPc: false,
|
|
54
83
|
roomId: '',
|
|
84
|
+
enableScheduledConference: true,
|
|
85
|
+
isShowLogo: true,
|
|
55
86
|
});
|
|
56
87
|
|
|
57
88
|
const emits = defineEmits(['on-create-room', 'on-enter-room', 'on-update-user-name', 'on-logout']);
|
|
58
89
|
|
|
90
|
+
const tuiRoomThemeClass = computed(() => `tui-theme-${roomService.basicStore.defaultTheme}`);
|
|
91
|
+
|
|
59
92
|
async function handleCreateRoom(roomOption: Record<string, any>) {
|
|
60
93
|
emits('on-create-room', roomOption);
|
|
61
94
|
}
|
|
@@ -72,6 +105,50 @@ async function handleLogOut() {
|
|
|
72
105
|
emits('on-logout');
|
|
73
106
|
}
|
|
74
107
|
|
|
108
|
+
const showMessageBox = (data: {
|
|
109
|
+
code?: number;
|
|
110
|
+
message: string;
|
|
111
|
+
title: string;
|
|
112
|
+
cancelButtonText: string,
|
|
113
|
+
confirmButtonText: string;
|
|
114
|
+
callback?: () => void;
|
|
115
|
+
}) => {
|
|
116
|
+
const {
|
|
117
|
+
message,
|
|
118
|
+
title = roomService.t('Note'),
|
|
119
|
+
cancelButtonText,
|
|
120
|
+
confirmButtonText = roomService.t('Sure'),
|
|
121
|
+
callback = () => {},
|
|
122
|
+
} = data;
|
|
123
|
+
TUIMessageBox({
|
|
124
|
+
title,
|
|
125
|
+
message,
|
|
126
|
+
cancelButtonText,
|
|
127
|
+
confirmButtonText,
|
|
128
|
+
callback,
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
const showMessage = (data: {
|
|
132
|
+
type: 'warning' | 'success' | 'error' | 'info';
|
|
133
|
+
message: string;
|
|
134
|
+
duration: MESSAGE_DURATION;
|
|
135
|
+
}) => {
|
|
136
|
+
const { type, message, duration } = data;
|
|
137
|
+
TUIMessage({
|
|
138
|
+
type,
|
|
139
|
+
message,
|
|
140
|
+
duration,
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
onMounted(() => {
|
|
145
|
+
roomService.on(EventType.ROOM_NOTICE_MESSAGE, showMessage);
|
|
146
|
+
roomService.on(EventType.ROOM_NOTICE_MESSAGE_BOX, showMessageBox);
|
|
147
|
+
});
|
|
148
|
+
onUnmounted(() => {
|
|
149
|
+
roomService.off(EventType.ROOM_NOTICE_MESSAGE, showMessage);
|
|
150
|
+
roomService.off(EventType.ROOM_NOTICE_MESSAGE_BOX, showMessageBox);
|
|
151
|
+
});
|
|
75
152
|
</script>
|
|
76
153
|
|
|
77
154
|
<style>
|
|
@@ -89,6 +166,10 @@ async function handleLogOut() {
|
|
|
89
166
|
--background: url(./assets/imgs/background-white.png);
|
|
90
167
|
}
|
|
91
168
|
|
|
169
|
+
.tui-theme-black.pre-conference-container {
|
|
170
|
+
--background: var(--background-color-1);
|
|
171
|
+
}
|
|
172
|
+
|
|
92
173
|
.pre-conference-container {
|
|
93
174
|
width: 100%;
|
|
94
175
|
height: 100%;
|
|
@@ -118,6 +199,20 @@ async function handleLogOut() {
|
|
|
118
199
|
}
|
|
119
200
|
}
|
|
120
201
|
}
|
|
202
|
+
.pre-home-control {
|
|
203
|
+
position: absolute;
|
|
204
|
+
left: 50%;
|
|
205
|
+
transform: translateX(-50%);
|
|
206
|
+
display: flex;
|
|
207
|
+
align-items: center;
|
|
208
|
+
flex-direction: column;
|
|
209
|
+
.logo {
|
|
210
|
+
margin-bottom: 56px;
|
|
211
|
+
}
|
|
212
|
+
.pre-home-control-container {
|
|
213
|
+
display: flex;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
121
216
|
}
|
|
122
217
|
|
|
123
218
|
</style>
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { TUIErrorCode } from '@tencentcloud/tuiroom-engine-electron';
|
|
2
|
+
import { EventType } from '../types';
|
|
3
|
+
import { isElectron } from '../../utils/environment';
|
|
4
|
+
|
|
5
|
+
export class ErrorHandler {
|
|
6
|
+
private service: any;
|
|
7
|
+
private handlerMap: Record<string, (error: any) => void> = {
|
|
8
|
+
createRoom: this.handleCreateRoomError.bind(this),
|
|
9
|
+
enterRoom: this.handleEnterRoomError.bind(this),
|
|
10
|
+
onError: this.handleOnError.bind(this),
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
private mediaDeviceErrorHandler: MediaDeviceErrorHandler | null = null;
|
|
14
|
+
|
|
15
|
+
constructor(service: any) {
|
|
16
|
+
this.service = service;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public handleError(error: any, functionName: string) {
|
|
20
|
+
this.handlerMap[functionName] && this.handlerMap[functionName](error);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
private handleEnterRoomError(error: any) {
|
|
24
|
+
let message = '';
|
|
25
|
+
switch (error.code) {
|
|
26
|
+
case TUIErrorCode.ERR_ROOM_ID_NOT_EXIST:
|
|
27
|
+
message = 'The room does not exist, please confirm the room number or create a room!';
|
|
28
|
+
break;
|
|
29
|
+
default:
|
|
30
|
+
message = 'Failed to enter the meeting';
|
|
31
|
+
}
|
|
32
|
+
this.service.emit(EventType.ROOM_NOTICE_MESSAGE_BOX, {
|
|
33
|
+
title: this.service.t('Note'),
|
|
34
|
+
message: this.service.t(message),
|
|
35
|
+
confirmButtonText: this.service.t('Sure'),
|
|
36
|
+
callback: async () => {
|
|
37
|
+
this.service.emit(EventType.ROOM_ERROR, error);
|
|
38
|
+
this.service.roomStore.reset();
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
private handleCreateRoomError(error: any) {
|
|
44
|
+
this.service.emit(EventType.ROOM_NOTICE_MESSAGE_BOX, {
|
|
45
|
+
title: this.service.t('Note'),
|
|
46
|
+
message: this.service.t('Failed to initiate meeting'),
|
|
47
|
+
confirmButtonText: this.service.t('Sure'),
|
|
48
|
+
callback: async () => {
|
|
49
|
+
this.service.emit(EventType.ROOM_ERROR, error);
|
|
50
|
+
this.service.resetStore();
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
private handleOnError(error: any) {
|
|
56
|
+
if (error.message === 'enter trtc room failed , error code : -1') {
|
|
57
|
+
this.service.emit(EventType.ROOM_NOTICE_MESSAGE_BOX, {
|
|
58
|
+
type: 'warning',
|
|
59
|
+
message: this.service.t('Failed to enter the meeting'),
|
|
60
|
+
callback: () => {
|
|
61
|
+
this.service.emit(EventType.ROOM_ERROR);
|
|
62
|
+
this.service.resetStore();
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
if (error.code && String(error.code).indexOf('-11') === 0) {
|
|
67
|
+
if (!this.mediaDeviceErrorHandler) {
|
|
68
|
+
this.mediaDeviceErrorHandler = new MediaDeviceErrorHandler(this.service);
|
|
69
|
+
}
|
|
70
|
+
this.mediaDeviceErrorHandler.handleError(error);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
type MediaDeviceType = 'camera' | 'microphone' | 'screenShare';
|
|
76
|
+
class MediaDeviceErrorHandler {
|
|
77
|
+
private service: any;
|
|
78
|
+
|
|
79
|
+
constructor(service: any) {
|
|
80
|
+
this.service = service;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
private getMediaDeviceErrorTitle(deviceType: MediaDeviceType) {
|
|
84
|
+
return this.service.t('Unable to use the device', { deviceType: this.service.t(deviceType) });
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
private getMediaDeviceErrorMsg(deviceType: MediaDeviceType) {
|
|
88
|
+
return this.service.t('media device failed to open, please check the media device and try again', { deviceType: this.service.t(deviceType) });
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
private getMediaDeviceNotAuthorizedMsg(deviceType: MediaDeviceType) {
|
|
92
|
+
return this.service.t('The current device is not authorized, please allow access to the device permissions', { deviceType: this.service.t(deviceType) });
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private getMediaDeviceOccupiedMsg(deviceType: MediaDeviceType) {
|
|
96
|
+
return this.service.t('The current device is occupied by other apps, try to close other apps or change the device', { deviceType: this.service.t(deviceType) });
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
private getTurnOnDevicePrivilegesTitle(deviceType: MediaDeviceType) {
|
|
100
|
+
return this.service.t('Turn on device privileges', { deviceType: this.service.t(deviceType) });
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private getTurnOnDevicePrivilegesMsg(deviceType: MediaDeviceType) {
|
|
104
|
+
return this.service.t('You can go to "System Preferences - Security & Privacy - Device" to enable device permissions', { deviceType: this.service.t(deviceType) });
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
public handleError(error: any) {
|
|
108
|
+
let mediaType: MediaDeviceType;
|
|
109
|
+
let mediaErrorTitle = '';
|
|
110
|
+
let mediaErrorMsg = '';
|
|
111
|
+
let cancelButtonText = '';
|
|
112
|
+
let confirmButtonText = '';
|
|
113
|
+
let callback = null;
|
|
114
|
+
switch (error.code) {
|
|
115
|
+
case TUIErrorCode.ERR_CAMERA_START_FAILED:
|
|
116
|
+
case TUIErrorCode.ERR_MICROPHONE_START_FAILED:
|
|
117
|
+
mediaType = error.code === TUIErrorCode.ERR_CAMERA_START_FAILED ? 'camera' : 'microphone';
|
|
118
|
+
mediaErrorTitle = this.getMediaDeviceErrorTitle(mediaType);
|
|
119
|
+
mediaErrorMsg = this.getMediaDeviceErrorMsg(mediaType);
|
|
120
|
+
break;
|
|
121
|
+
case TUIErrorCode.ERR_CAMERA_NOT_AUTHORIZED:
|
|
122
|
+
case TUIErrorCode.ERR_MICROPHONE_NOT_AUTHORIZED:
|
|
123
|
+
mediaType = error.code === TUIErrorCode.ERR_CAMERA_NOT_AUTHORIZED ? 'camera' : 'microphone';
|
|
124
|
+
if (isElectron) {
|
|
125
|
+
mediaErrorTitle = this.getTurnOnDevicePrivilegesTitle(mediaType);
|
|
126
|
+
mediaErrorMsg = this.getTurnOnDevicePrivilegesMsg(mediaType);
|
|
127
|
+
cancelButtonText = this.service.t('Cancel');
|
|
128
|
+
confirmButtonText = this.service.t('Go to Settings');
|
|
129
|
+
callback = (action: 'cancel' | 'confirm' | 'close') => {
|
|
130
|
+
if (action === 'confirm') {
|
|
131
|
+
this.goToPermissionSettings(mediaType);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
} else {
|
|
135
|
+
mediaErrorTitle = this.getMediaDeviceErrorTitle(mediaType);
|
|
136
|
+
mediaErrorMsg = this.getMediaDeviceNotAuthorizedMsg(mediaType);
|
|
137
|
+
}
|
|
138
|
+
break;
|
|
139
|
+
case TUIErrorCode.ERR_CAMERA_OCCUPIED:
|
|
140
|
+
case TUIErrorCode.ERR_MICROPHONE_OCCUPIED:
|
|
141
|
+
mediaType = error.code === TUIErrorCode.ERR_CAMERA_OCCUPIED ? 'camera' : 'microphone';
|
|
142
|
+
mediaErrorTitle = this.getMediaDeviceErrorTitle(mediaType);
|
|
143
|
+
mediaErrorMsg = this.getMediaDeviceOccupiedMsg(mediaType);
|
|
144
|
+
break;
|
|
145
|
+
default:
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
if (mediaErrorMsg) {
|
|
149
|
+
this.service.emit(EventType.ROOM_NOTICE_MESSAGE_BOX, {
|
|
150
|
+
type: 'error',
|
|
151
|
+
title: mediaErrorTitle,
|
|
152
|
+
message: mediaErrorMsg,
|
|
153
|
+
cancelButtonText,
|
|
154
|
+
confirmButtonText: confirmButtonText || this.service.t('I got it'),
|
|
155
|
+
callback,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
private goToPermissionSettings(deviceType: MediaDeviceType) {
|
|
161
|
+
const { shell } = require('electron');
|
|
162
|
+
const privacyTypeObj = {
|
|
163
|
+
camera: 'Privacy_Camera',
|
|
164
|
+
microphone: 'Privacy_Microphone',
|
|
165
|
+
screenShare: 'Privacy_ScreenCapture',
|
|
166
|
+
};
|
|
167
|
+
shell.openExternal(`x-apple.systempreferences:com.apple.preference.security?${privacyTypeObj[deviceType]}`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isElectron } from '../../utils/environment';
|
|
1
|
+
import { isElectron, isWeChat } from '../../utils/environment';
|
|
2
2
|
import { IRoomService } from '../types';
|
|
3
3
|
|
|
4
4
|
interface IVirtualBackground {
|
|
@@ -18,7 +18,7 @@ export class VirtualBackground implements IVirtualBackground {
|
|
|
18
18
|
|
|
19
19
|
constructor(service: IRoomService) {
|
|
20
20
|
this.service = service;
|
|
21
|
-
if (isElectron) return;
|
|
21
|
+
if (isElectron || isWeChat) return;
|
|
22
22
|
this.bindEvent();
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -36,7 +36,7 @@ export class VirtualBackground implements IVirtualBackground {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
public async initVirtualBackground(): Promise<void> {
|
|
39
|
-
if (!this.virtualBackgroundPluginReady) {
|
|
39
|
+
if (!this.virtualBackgroundPluginReady && this.trtcCloud?.useVirtualBackground) {
|
|
40
40
|
await this.trtcCloud.useVirtualBackground();
|
|
41
41
|
this.virtualBackgroundPluginReady = true;
|
|
42
42
|
}
|
|
@@ -144,15 +144,7 @@ export class RoomActionManager {
|
|
|
144
144
|
await this.handleRoomCreation(roomParams, options);
|
|
145
145
|
} catch (error) {
|
|
146
146
|
logger.error(`${logPrefix}createRoom error:`, error);
|
|
147
|
-
this.service.
|
|
148
|
-
title: this.service.t('Note'),
|
|
149
|
-
message: this.service.t('Failed to initiate meeting'),
|
|
150
|
-
confirmButtonText: this.service.t('Sure'),
|
|
151
|
-
callback: async () => {
|
|
152
|
-
this.service.emit(EventType.ROOM_ERROR, error);
|
|
153
|
-
this.service.resetStore();
|
|
154
|
-
},
|
|
155
|
-
});
|
|
147
|
+
this.service.errorHandler.handleError(error, 'createRoom');
|
|
156
148
|
throw error;
|
|
157
149
|
}
|
|
158
150
|
}
|
|
@@ -180,6 +172,7 @@ export class RoomActionManager {
|
|
|
180
172
|
|
|
181
173
|
this.service.roomStore.setRoomInfo(roomInfo);
|
|
182
174
|
await this.getUserList();
|
|
175
|
+
await this.syncUserInfo(this.service.basicStore.userId);
|
|
183
176
|
|
|
184
177
|
if (roomInfo.isSeatEnabled) {
|
|
185
178
|
await this.getSeatList();
|
|
@@ -193,15 +186,7 @@ export class RoomActionManager {
|
|
|
193
186
|
this.service.roomStore.setRoomParam(roomParam);
|
|
194
187
|
} catch (error) {
|
|
195
188
|
logger.error(`${logPrefix}enterRoom error:`, error);
|
|
196
|
-
this.service.
|
|
197
|
-
title: this.service.t('Note'),
|
|
198
|
-
message: this.service.t('Failed to enter the meeting'),
|
|
199
|
-
confirmButtonText: this.service.t('Sure'),
|
|
200
|
-
callback: async () => {
|
|
201
|
-
this.service.emit(EventType.ROOM_ERROR, error);
|
|
202
|
-
this.service.roomStore.reset();
|
|
203
|
-
},
|
|
204
|
-
});
|
|
189
|
+
this.service.errorHandler.handleError(error, 'enterRoom');
|
|
205
190
|
throw error;
|
|
206
191
|
}
|
|
207
192
|
}
|
|
@@ -250,6 +235,13 @@ export class RoomActionManager {
|
|
|
250
235
|
}
|
|
251
236
|
}
|
|
252
237
|
|
|
238
|
+
private async syncUserInfo(userId: string) {
|
|
239
|
+
const { roomEngine } = this.service;
|
|
240
|
+
const userInfo = (await roomEngine.instance?.getUserInfo({ userId })) as any;
|
|
241
|
+
const { isMessageDisabled } = userInfo;
|
|
242
|
+
this.service.chatStore.setSendMessageDisableChanged(isMessageDisabled);
|
|
243
|
+
}
|
|
244
|
+
|
|
253
245
|
private async getSeatList() {
|
|
254
246
|
const { roomEngine } = this.service;
|
|
255
247
|
try {
|