feat(微信聊天): 添加消息转发功能

实现消息多选转发功能,包括:
1. 新增转发模态框组件,支持联系人搜索和多选
2. 在消息记录组件中添加转发操作逻辑
3. 在消息输入区域添加转发操作栏
4. 在微信状态管理中新增转发相关状态和方法
This commit is contained in:
2025-09-19 10:24:25 +08:00
parent 8a7a717801
commit 593e6c4670
9 changed files with 655 additions and 4 deletions

View File

@@ -6,6 +6,15 @@ import {
} from "@/pages/pc/ckbox/weChat/components/SidebarMenu/FriendsCicle/index.data";
// 微信聊天相关的类型定义
export interface WeChatState {
//选择聊天记录
selectedMessage: ChatRecord[];
updateSelectedMessage: (message: ChatRecord[]) => void;
//选择用户或群
selectedContact: ContractData[] | weChatGroup[];
updateSelectedContact: (contact: ContractData[] | weChatGroup[]) => void;
openTransmitModal: boolean;
updateTransmitModal: (open: boolean) => void;
// 当前选中的联系人/群组
currentContract: ContractData | weChatGroup | null;
// CurrentContact 相关方法

View File

@@ -6,12 +6,13 @@ import {
getGroupMembers,
} from "@/pages/pc/ckbox/api";
import { WeChatState } from "./weChat.data";
import {
likeListItem,
CommentItem,
} from "@/pages/pc/ckbox/weChat/components/SidebarMenu/FriendsCicle/index.data";
import { clearUnreadCount, updateConfig } from "@/pages/pc/ckbox/api";
import { ContractData, weChatGroup } from "@/pages/pc/ckbox/data";
import { ChatRecord, ContractData, weChatGroup } from "@/pages/pc/ckbox/data";
import { weChatGroupService, contractService } from "@/utils/db";
import {
addChatSession,
@@ -22,6 +23,23 @@ import {
export const useWeChatStore = create<WeChatState>()(
persist(
(set, get) => ({
//选择聊天记录
selectedMessage: [],
updateSelectedMessage: (message: ChatRecord[]) => {
set({ selectedMessage: message });
},
//选择用户或群
selectedContact: [],
updateSelectedContact: (contact: ContractData[] | weChatGroup[]) => {
set({ selectedContact: contact });
},
//打开转发弹窗
openTransmitModal: false,
updateTransmitModal: (open: boolean) => {
set({ openTransmitModal: open });
},
// 初始状态
currentContract: null,
currentMessages: [],