refactor(聊天窗口): 优化消息列表和记录组件

移除未使用的导入和代码,添加加载更多提示
重构消息列表组件以支持客服筛选功能
This commit is contained in:
2025-09-05 15:50:21 +08:00
parent 18ec2752ba
commit f31941425d
3 changed files with 18 additions and 4 deletions

View File

@@ -192,6 +192,7 @@ const MessageRecord: React.FC<MessageRecordProps> = ({ contract }) => {
return (
<div className={styles.messagesContainer}>
<div>...</div>
{groupMessagesByTime(currentMessages).map((group, groupIndex) => (
<React.Fragment key={`group-${groupIndex}`}>
<Divider>

View File

@@ -1,4 +1,4 @@
import React, { useEffect, useRef } from "react";
import React from "react";
import { Layout, Button, Avatar, Space, Dropdown, Menu, Tooltip } from "antd";
import {
PhoneOutlined,

View File

@@ -1,4 +1,4 @@
import React from "react";
import React, { useEffect, useState } from "react";
import { List, Avatar, Badge } from "antd";
import { UserOutlined, TeamOutlined } from "@ant-design/icons";
import { ContractData, weChatGroup } from "@/pages/pc/ckbox/data";
@@ -11,11 +11,25 @@ interface MessageListProps {}
const MessageList: React.FC<MessageListProps> = () => {
const { setCurrentContact, currentContract } = useWeChatStore();
const chatSessions = useCkChatStore(state => state.getChatSessions());
const getChatSessions = useCkChatStore(state => state.chatSessions);
const kfSelected = useCkChatStore(state => state.kfSelected);
const onContactClick = (session: ContractData | weChatGroup) => {
setCurrentContact(session, true);
};
const [chatSessions, setChatSessions] = useState<
(ContractData | weChatGroup)[]
>([]);
useEffect(() => {
if (kfSelected == 0) {
setChatSessions(getChatSessions);
} else {
const newChatSessions = getChatSessions.filter(
v => v.wechatAccountId === kfSelected && kfSelected != 0,
);
setChatSessions(newChatSessions);
}
}, [getChatSessions, kfSelected]);
return (
<div className={styles.messageList}>
<List
@@ -64,7 +78,6 @@ const MessageList: React.FC<MessageListProps> = () => {
</List.Item>
)}
/>
<div className={styles.lastDayMessage}></div>
</div>
);
};