diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx index 4b876726..e3073c7e 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx @@ -32,7 +32,9 @@ const MessageEnter: React.FC = ({ contract }) => { const EnterModule = useWeChatStore(state => state.EnterModule); const updateShowCheckbox = useWeChatStore(state => state.updateShowCheckbox); const updateEnterModule = useWeChatStore(state => state.updateEnterModule); - + const updateTransmitModal = useWeChatStore( + state => state.updateTransmitModal, + ); const handleSend = async () => { if (!inputValue.trim()) return; console.log("发送消息", contract); @@ -140,7 +142,7 @@ const MessageEnter: React.FC = ({ contract }) => { updateEnterModule("common"); }; const handTurnRignt = () => { - console.log("转发"); + updateTransmitModal(true); }; return ( diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/TransmitModal/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/TransmitModal/index.tsx index d8aaf440..832ac783 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/TransmitModal/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/TransmitModal/index.tsx @@ -20,12 +20,8 @@ import styles from "./TransmitModal.module.scss"; import { weChatGroupService, contractService } from "@/utils/db"; import { useWeChatStore } from "@/store/module/weChat/weChat"; import { ContractData, weChatGroup } from "@/pages/pc/ckbox/data"; - -export interface TransmitModalProps { - onConfirm?: (params: (ContractData | weChatGroup)[]) => void; // 可选,因为会自动更新到store -} - -const TransmitModal: React.FC = ({ onConfirm }) => { +import { useWebSocketStore } from "@/store/module/websocket/websocket"; +const TransmitModal: React.FC = () => { const [searchValue, setSearchValue] = useState(""); const [allContacts, setAllContacts] = useState< (ContractData | weChatGroup)[] @@ -36,12 +32,19 @@ const TransmitModal: React.FC = ({ onConfirm }) => { const [loading, setLoading] = useState(false); const [page, setPage] = useState(1); const pageSize = 20; - + const { sendCommand } = useWebSocketStore.getState(); // 从 Zustand store 获取更新方法 const openTransmitModal = useWeChatStore(state => state.openTransmitModal); const updateTransmitModal = useWeChatStore( state => state.updateTransmitModal, ); + const updateSelectedChatRecords = useWeChatStore( + state => state.updateSelectedChatRecords, + ); + + const selectedChatRecords = useWeChatStore( + state => state.selectedChatRecords, + ); // 加载联系人数据 const loadContacts = async () => { @@ -115,8 +118,20 @@ const TransmitModal: React.FC = ({ onConfirm }) => { // 确认转发 const handleConfirm = () => { - console.log("handleConfirm", selectedWechatFriend); - onConfirm?.(selectedWechatFriend); + for (const user of selectedWechatFriend) { + for (const record of selectedChatRecords) { + const params = { + wechatAccountId: user.wechatAccountId, + wechatChatroomId: user?.chatroomId ? user.id : 0, + wechatFriendId: user?.chatroomId ? 0 : user.id, + msgSubType: record.msgSubType, + msgType: record.msgType, + content: record.content, + }; + sendCommand("CmdSendMessage", params); + } + } + updateSelectedChatRecords([]); updateTransmitModal(false); }; @@ -130,7 +145,7 @@ const TransmitModal: React.FC = ({ onConfirm }) => { title="转发消息" open={openTransmitModal} onCancel={() => updateTransmitModal(false)} - width={800} + width={"60%"} className={styles.transmitModal} footer={[