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,

69 lines (68 loc) 2.36 kB
var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); import { RoomState, chatExtension } from "../chatExtension.mjs"; import { getIsRoomCardMessage } from "../utils/judgeRoomMessage.mjs"; class HandleRoomMessage { constructor() { __publicField(this, "message", {}); __publicField(this, "messageData", { isInnerRoom: false, isRoomMessage: false, isRoomCreateByMe: false, isMessageFromMe: false, roomId: "", roomState: RoomState.CREATED, userList: [], myProfile: {}, ownerName: "", owner: "" }); } initialize(message) { this.handleMessage(message); } destroy() { chatExtension.setHistoryMeetingMessageList("delete", { ID: this.message.ID, messageData: this.messageData }); } // Get card information handleMessage(message) { var _a; this.message = message; const currentUser = (_a = chatExtension.chatContext) == null ? void 0 : _a.userID; const messagePayload = this.parseMessageData(message); if (!getIsRoomCardMessage(message)) return; const { businessID, owner, roomId, roomState, userList, ownerName } = messagePayload; const isRoomDestroyed = roomState === RoomState.DESTROYED; const isInnerRoom = chatExtension.getOnGoingRoomId() === roomId && userList.some((u) => u.userId === currentUser) && !isRoomDestroyed; const isRoomCreateByMe = owner === currentUser; if (isRoomCreateByMe && isInnerRoom && !isRoomDestroyed) { chatExtension.setActiveMeetingMessage(message, messagePayload); } this.messageData = { isInnerRoom, isRoomMessage: businessID === "group_room_message", isRoomCreateByMe, isMessageFromMe: message.from === currentUser, roomId, roomState, userList, myProfile: chatExtension.myProfile, ownerName, owner }; chatExtension.setHistoryMeetingMessageList("add", { ID: message.ID, messageData: this.messageData }); } parseMessageData(message) { return chatExtension.parseMessageData(message); } } export { HandleRoomMessage };