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,

52 lines (51 loc) 1.63 kB
import { TUIRole, TUIInvitationStatus } from "@tencentcloud/tuiroom-engine-js"; import { combineComparators, createComparator } from "../../../utils/utils.mjs"; function getNewUserInfo(userId) { const newUserInfo = { userId, userName: "", avatarUrl: "", nameCard: "", hasAudioStream: false, hasVideoStream: false, hasScreenStream: false, isMessageDisabled: false, userRole: TUIRole.kGeneralUser, customInfo: {}, isOnSeat: false, isInRoom: false, invitationStatus: TUIInvitationStatus.kNone, timestamp: Date.now() }; return newUserInfo; } function getUserListSortComparator({ localUserId }) { const defaultUserListCompareFunction = combineComparators( createComparator( (userInfo) => Boolean(userInfo.userId === localUserId) ), createComparator( (userInfo) => Boolean(userInfo.userRole === TUIRole.kRoomOwner) ), createComparator( (userInfo) => Boolean(userInfo.userRole === TUIRole.kAdministrator) ), createComparator((userInfo) => Boolean(userInfo.hasScreenStream)), createComparator( (userInfo) => Boolean(userInfo.hasVideoStream && userInfo.hasAudioStream) ), createComparator((userInfo) => Boolean(userInfo.hasVideoStream)), createComparator((userInfo) => Boolean(userInfo.hasAudioStream)), createComparator((userInfo) => Boolean(userInfo.isOnSeat)), createComparator( (userInfoA, userInfoB) => Boolean(Number(userInfoA.timestamp) < Number(userInfoB.timestamp)) ) ); return defaultUserListCompareFunction; } export { getNewUserInfo, getUserListSortComparator };