feat(微信聊天): 实现消息撤回功能并优化右键菜单

添加消息撤回API接口及状态管理
在右键菜单中根据消息发送时间和归属显示撤回选项
优化消息记录组件与状态管理的交互逻辑
This commit is contained in:
2025-09-18 17:58:33 +08:00
parent f0f64dd118
commit a53460b4cc
8 changed files with 193 additions and 284 deletions

View File

@@ -8,6 +8,7 @@ import { db } from "@/utils/db";
// 消息处理器类型定义
type MessageHandler = (message: WebSocketMessage) => void;
const addMessage = useWeChatStore.getState().addMessage;
const recallMessage = useWeChatStore.getState().recallMessage;
const receivedMsg = useWeChatStore.getState().receivedMsg;
const updateMomentCommonLoading =
useWeChatStore.getState().updateMomentCommonLoading;
@@ -92,6 +93,18 @@ const messageHandlers: Record<string, MessageHandler> = {
}
},
//撤回消息
CmdMessageRecalled: message => {
const MessageId = message.friendMessageId || message.chatroomMessageId;
recallMessage(MessageId);
// {
// "friendMessageId": 745007874,
// "chatroomMessageId": 0,
// "seq": 2076470,
// "cmdType": "CmdMessageRecalled"
// }
},
// 可以继续添加更多处理器...
};