UNPKG

@tencentcloud/roomkit-web-vue3

Version:

<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,

63 lines (62 loc) 2.2 kB
import { computed, ref } from "vue"; import { TUIRole } from "@tencentcloud/tuiroom-engine-js"; import { useI18n } from "../../../../locales/index.mjs"; import { TUIToast, TOAST_TYPE } from "@tencentcloud/uikit-base-component-vue3"; import { MESSAGE_DURATION } from "../../../../constants/message.mjs"; import "../../../../services/main.mjs"; import { roomService } from "../../../../services/roomService.mjs"; import "../../../../utils/environment.mjs"; import "mitt"; import "../../../../services/manager/roomActionManager.mjs"; import "@tencentcloud/tui-core"; import "../../../hooks/useAudioDeviceState/index.mjs"; import "../../../hooks/useVideoDeviceState/index.mjs"; import useUserState from "../../../hooks/useUserState/index.mjs"; import useRoomState from "../../../hooks/useRoomState/index.mjs"; import "../../../hooks/useFreeBeautyState/index.mjs"; import { RoomAction } from "../../../type/Room.mjs"; function useIndex() { const { t } = useI18n(); const { localUser, userList } = useUserState(); const isGeneralUser = computed( () => { var _a; return ((_a = localUser.value) == null ? void 0 : _a.userRole) === TUIRole.kGeneralUser; } ); const { useRoomActions } = useRoomState(); const [roomAudioAction, roomVideoAction, roomScreenAction] = useRoomActions({ actionList: [ RoomAction.AudioAction, RoomAction.VideoAction, RoomAction.ScreenAction ] }); const moreControlList = computed(() => [roomScreenAction]); const showMoreControl = ref(false); function toggleClickMoreBtn() { showMoreControl.value = !showMoreControl.value; } const handleCallAllInvitee = () => { const userIdList = userList.value.filter((item) => !item.isInRoom).map((item) => item.userId); roomService.conferenceInvitationManager.inviteUsers({ userIdList }); TUIToast({ type: TOAST_TYPE.SUCCESS, message: t("Invitation sent, waiting for members to join."), duration: MESSAGE_DURATION.NORMAL }); }; return { t, toggleClickMoreBtn, isGeneralUser, showMoreControl, roomAudioAction, roomVideoAction, moreControlList, handleCallAllInvitee }; } export { useIndex as default };