From 690ebac266bbfd449f84e86b3b4f36c09ef274f1 Mon Sep 17 00:00:00 2001 From: stary <834207172@qq.com> Date: Thu, 21 May 2026 20:40:39 +0800 Subject: [PATCH] =?UTF-8?q?message=E4=BF=AE=E6=94=B9=E4=B8=BAdata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/public/chatmessage.js | 2 +- client/public/store.js | 39 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/client/public/chatmessage.js b/client/public/chatmessage.js index 043d16c..4f87867 100644 --- a/client/public/chatmessage.js +++ b/client/public/chatmessage.js @@ -62,7 +62,7 @@ function sendChatMessage(message) { if (store.getRenderStreaming()) { store.getRenderStreaming().sendMessage({ type: 'chat-message', - message: message, + data: message, }); } } diff --git a/client/public/store.js b/client/public/store.js index 4866d20..bd0de6b 100644 --- a/client/public/store.js +++ b/client/public/store.js @@ -715,39 +715,38 @@ class CallStateManager { this.renderstreaming.onMessage = (data) => { console.log('收到消息:', data); if (data.type === 'chat-message') { - // 处理聊天 - // 添加到列表并更新UI - chatMessage.handleChatMessage(data.message); - // Host端:按participantId更新对应用户信息 + const chatPayload = data.data || data.message; + if (!chatPayload) { + return; + } + + chatMessage.handleChatMessage(chatPayload); if (data.participantId && this.role === 'host' && this.state.participants[data.participantId]) { - this.state.participants[data.participantId].id = data.message.senderId; - if (data.message.senderName) { - this.state.participants[data.participantId].name = data.message.senderName; + this.state.participants[data.participantId].id = chatPayload.senderId; + if (chatPayload.senderName) { + this.state.participants[data.participantId].name = chatPayload.senderName; } - if (data.message.senderAvatar) { - this.state.participants[data.participantId].avatar = data.message.senderAvatar; + if (chatPayload.senderAvatar) { + this.state.participants[data.participantId].avatar = chatPayload.senderAvatar; } this.notify({ type: 'PARTICIPANTS_UPDATE', participants: this.state.participants }); this.broadcastParticipantsList(); } - // Participant端:根据消息来源更新对应用户信息 if (!this.role || this.role !== 'host') { if (data.participantId && this.state.participants[data.participantId]) { - // 来自其他Participant的消息:更新participants中对应条目 - if (data.message.senderName) { - this.state.participants[data.participantId].name = data.message.senderName; + if (chatPayload.senderName) { + this.state.participants[data.participantId].name = chatPayload.senderName; } - if (data.message.senderAvatar) { - this.state.participants[data.participantId].avatar = data.message.senderAvatar; + if (chatPayload.senderAvatar) { + this.state.participants[data.participantId].avatar = chatPayload.senderAvatar; } this.notify({ type: 'PARTICIPANTS_UPDATE', participants: this.state.participants }); - } else if (data.message && data.message.senderId !== this.state.session.localUser.id) { - // 来自Host的消息:更新remoteUser + } else if (chatPayload.senderId !== this.state.session.localUser.id) { this.state.session.remoteUser = { ...this.state.session.remoteUser, - id: data.message.senderId, - name: data.message.senderName, - avatar: data.message.senderAvatar + id: chatPayload.senderId, + name: chatPayload.senderName, + avatar: chatPayload.senderAvatar }; this.notify({ type: 'REMOTE_MEDIA_CHANGE', mediaState: this.state.session.remoteUser.mediaState }); }