@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
JavaScript
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
};