@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.43 kB
JavaScript
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const Vue = require("vue");
const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-js");
const index = require("../../../../locales/index.js");
const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
const message = require("../../../../constants/message.js");
require("../../../../services/main.js");
const roomService = require("../../../../services/roomService.js");
require("../../../../utils/environment.js");
require("mitt");
require("../../../../services/manager/roomActionManager.js");
require("@tencentcloud/tui-core");
require("../../../hooks/useAudioDeviceState/index.js");
require("../../../hooks/useVideoDeviceState/index.js");
const index$1 = require("../../../hooks/useUserState/index.js");
const index$2 = require("../../../hooks/useRoomState/index.js");
require("../../../hooks/useFreeBeautyState/index.js");
const Room = require("../../../type/Room.js");
function useIndex() {
const { t } = index.useI18n();
const { localUser, userList } = index$1.default();
const isGeneralUser = Vue.computed(
() => {
var _a;
return ((_a = localUser.value) == null ? void 0 : _a.userRole) === TUIRoomEngine.TUIRole.kGeneralUser;
}
);
const { useRoomActions } = index$2.default();
const [roomAudioAction, roomVideoAction, roomScreenAction] = useRoomActions({
actionList: [
Room.RoomAction.AudioAction,
Room.RoomAction.VideoAction,
Room.RoomAction.ScreenAction
]
});
const moreControlList = Vue.computed(() => [roomScreenAction]);
const showMoreControl = Vue.ref(false);
function toggleClickMoreBtn() {
showMoreControl.value = !showMoreControl.value;
}
const handleCallAllInvitee = () => {
const userIdList = userList.value.filter((item) => !item.isInRoom).map((item) => item.userId);
roomService.roomService.conferenceInvitationManager.inviteUsers({ userIdList });
uikitBaseComponentVue3.TUIToast({
type: uikitBaseComponentVue3.TOAST_TYPE.SUCCESS,
message: t("Invitation sent, waiting for members to join."),
duration: message.MESSAGE_DURATION.NORMAL
});
};
return {
t,
toggleClickMoreBtn,
isGeneralUser,
showMoreControl,
roomAudioAction,
roomVideoAction,
moreControlList,
handleCallAllInvitee
};
}
exports.default = useIndex;
;