feat(消息转发): 更新转发逻辑并优化状态管理

在消息记录和转发模态框中添加了选中聊天记录的更新逻辑,确保转发功能的正确性。同时,简化了转发模态框的参数传递,移除了不必要的回调,提升了用户体验。
This commit is contained in:
2025-09-19 15:40:47 +08:00
parent c625e12075
commit 18f2ebf455
5 changed files with 51 additions and 42 deletions

View File

@@ -61,9 +61,19 @@ export const useWeChatStore = create<WeChatState>()(
// ==================== 聊天消息管理方法 ====================
/** 添加新消息到当前聊天 */
addMessage: message => {
set(state => ({
currentMessages: [...state.currentMessages, message],
}));
const { wechatAccountId, wechatChatroomId, wechatFriendId } = message;
const currentContract = get().currentContract;
if (currentContract) {
if (
currentContract.wechatAccountId === wechatAccountId &&
(currentContract.id === wechatFriendId ||
currentContract.id === wechatChatroomId)
) {
set(state => ({
currentMessages: [...state.currentMessages, message],
}));
}
}
},
/** 更新指定消息内容 */
updateMessage: (messageId, updates) => {
@@ -126,7 +136,7 @@ export const useWeChatStore = create<WeChatState>()(
) => {
const state = useWeChatStore.getState();
// 切换联系人时清空当前消息,等待重新加载
set({ currentMessages: [] });
set({ currentMessages: [], openTransmitModal: false });
clearUnreadCount([contract.id]).then(() => {
if (isExist) {
updateChatSession({ ...contract, unreadCount: 0 });

View File

@@ -38,7 +38,7 @@ const messageHandlers: Record<string, MessageHandler> = {
// 发送消息响应
CmdSendMessageResp: message => {
console.log("发送消息响应", message);
addMessage(message.friendMessage || message.chatroomMessage);
// addMessage(message.friendMessage || message.chatroomMessage);
// 在这里添加具体的处理逻辑
},
CmdSendMessageResult: message => {