diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/ClickMenu.module.scss b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/ClickMenu.module.scss index 115f51aa..938a253b 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/ClickMenu.module.scss +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/ClickMenu.module.scss @@ -19,31 +19,13 @@ line-height: 1.5; border-radius: 0; transition: all 0.2s ease; + width: 100%; &:hover { background-color: #f5f5f5; } - &:global(.ant-menu-item-danger) { - color: #ff4d4f; - - &:hover { - background-color: #fff2f0; - color: #ff4d4f; - } - } - - &:global(.ant-menu-item-disabled) { - color: #bfbfbf; - cursor: not-allowed; - - &:hover { - background-color: transparent; - } - } - :global(.ant-menu-item-icon) { - margin-right: 8px; font-size: 14px; } } diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/index.tsx index 47e7f821..bcd19fce 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/components/ClickMeau/index.tsx @@ -3,8 +3,11 @@ import { Menu, message } from "antd"; import { CopyOutlined, DeleteOutlined, - ShareAltOutlined, + CheckSquareOutlined, + RollbackOutlined, ReloadOutlined, + ExportOutlined, + LinkOutlined, } from "@ant-design/icons"; import { ChatRecord } from "@/pages/pc/ckbox/data"; import styles from "./ClickMenu.module.scss"; @@ -130,33 +133,33 @@ const ClickMenu: React.FC = ({ const menuItems = [ { key: "copy", - icon: , + icon: , label: "转发", onClick: handleCopy, disabled: !messageData.content || messageData.msgType === 3, // 图片消息不能复制文本 }, { key: "forward", - icon: , + icon: , label: "复制", onClick: handleForward, }, { key: "copy", - icon: , + icon: , label: "多条转发", onClick: handleCopy, disabled: !messageData.content || messageData.msgType === 3, // 图片消息不能复制文本 }, { key: "delete", - icon: , + icon: , label: "引用", onClick: handleDelete, }, { key: "delete", - icon: , + icon: , label: "撤回", onClick: handleDelete, }, diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx index 72fca3a5..3b06e3cf 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useRef, useState } from "react"; -import { Avatar, Divider } from "antd"; +import { Avatar } from "antd"; import { UserOutlined, LoadingOutlined } from "@ant-design/icons"; import AudioMessage from "./components/AudioMessage/AudioMessage"; import SmallProgramMessage from "./components/SmallProgramMessage"; @@ -526,7 +526,7 @@ const MessageRecord: React.FC = ({ contract }) => { className={`${styles.messageItem} ${ isOwn ? styles.ownMessage : styles.otherMessage }`} - onContextMenu={e => handleContextMenu(e, msg)} + onContextMenu={e => isOwn && handleContextMenu(e, msg)} >
{/* 如果不是群聊 */} @@ -538,7 +538,6 @@ const MessageRecord: React.FC = ({ contract }) => { icon={} className={styles.messageAvatar} /> -
{!isOwn && (
@@ -558,7 +557,6 @@ const MessageRecord: React.FC = ({ contract }) => { icon={} className={styles.messageAvatar} /> -
{!isOwn && (
@@ -575,8 +573,17 @@ const MessageRecord: React.FC = ({ contract }) => {
)} - - {isOwn && <>{parseMessageContent(msg?.content, msg, msg?.msgType)}} + {isOwn && ( + <> + } + className={styles.messageAvatar} + /> +
{parseMessageContent(msg?.content, msg, msg?.msgType)}
+ + )}
); diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/index.tsx index 88255d2c..88c3e84a 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/index.tsx @@ -6,13 +6,10 @@ import SidebarMenu from "./components/SidebarMenu/index"; import VerticalUserList from "./components/VerticalUserList"; import PageSkeleton from "./components/Skeleton"; import styles from "./index.module.scss"; -import { addChatSession } from "@/store/module/ckchat/ckchat"; const { Content, Sider } = Layout; import { chatInitAPIdata, initSocket } from "./main"; import { useWeChatStore } from "@/store/module/weChat/weChat"; -import { KfUserListData } from "@/pages/pc/ckbox/data"; - const CkboxPage: React.FC = () => { // 不要在组件初始化时获取sendCommand,而是在需要时动态获取 const [loading, setLoading] = useState(false); @@ -21,23 +18,7 @@ const CkboxPage: React.FC = () => { // 方法一:使用 Promise 链式调用处理异步函数 setLoading(true); chatInitAPIdata() - .then(response => { - // const data = response as { - // contractList: any[]; - // groupList: any[]; - // kfUserList: KfUserListData[]; - // newContractList: { groupName: string; contacts: any[] }[]; - // }; - // const { contractList } = data; - - // //找出已经在聊天的 - // const isChatList = contractList.filter( - // v => (v?.config && v.config?.chat) || false, - // ); - // isChatList.forEach(v => { - // addChatSession(v); - // }); - + .then(() => { // 数据加载完成后初始化WebSocket连接 initSocket(); }) diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/main.ts b/Touchkebao/src/pages/pc/ckbox/weChat/main.ts index 8bec0cc1..809db778 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/main.ts +++ b/Touchkebao/src/pages/pc/ckbox/weChat/main.ts @@ -199,8 +199,10 @@ export const getAllContactList = async () => { allContacts = [...allContacts, ...contractList]; + console.log(contractList.length == 0); + // 如果返回的数据少于请求的数量,说明已经没有更多数据了 - if (contractList.length < count) { + if (contractList.length == 0) { hasMore = false; } else { // 获取最后一条数据的id作为下一次请求的prevId