diff --git a/src/pages/message-chat/index.tsx b/src/pages/message-chat/index.tsx index b0cce34..3ff0b60 100644 --- a/src/pages/message-chat/index.tsx +++ b/src/pages/message-chat/index.tsx @@ -31,7 +31,7 @@ import { PostMessageRequest, } from '@/types/message'; import { isAnchorMode } from '@/utils/app'; -import { getScrollItemId, last, logWithPrefix, safeJsonParse } from '@/utils/common'; +import { getScrollItemId, last, logWithPrefix } from '@/utils/common'; import { collectEvent } from '@/utils/event'; import { isExchangeMessage, @@ -55,7 +55,6 @@ import Toast from '@/utils/toast'; import { getUserId } from '@/utils/user'; import './index.less'; -import useUserInfo from '@/hooks/use-user-info'; const PREFIX = 'page-message-chat'; const LIST_CONTAINER_CLASS = `${PREFIX}__chat-list`; @@ -86,19 +85,8 @@ const getHeaderLeftButtonText = (job?: IJobMessage, material?: IMaterialMessage) return isAnchorMode() ? '不感兴趣' : '标记为不合适'; }; -const getResumeId = (messages: IChatMessage[], userId?: string) => { - const resumeStr = messages.find(it => it.type === MessageType.Material && it.senderUserId !== userId)?.actionObject; - if (resumeStr) { - const { id } = safeJsonParse(resumeStr); - log('resumeId', id); - return id; - } - return undefined; -}; - export default function MessageChat() { const listHeight = useListHeight(CALC_LIST_PROPS); - const { userId } = useUserInfo(); const [input, setInput] = useState(''); const [showMore, setShowMore] = useState(false); const [chat, setChat] = useState(null); @@ -107,8 +95,8 @@ export default function MessageChat() { const [messages, setMessages] = useState([]); const [messageStatusList, setMessageStatusList] = useState([]); const [jobId, setJobId] = useState(); + const [resumeId, setResumeId] = useState(); const [job, setJob] = useState(); - const [resumeId, setResumeId] = useState(); const [material, setMaterial] = useState(); const [scrollItemId, setScrollItemId] = useState(); const scrollToLowerRef = useRef(false); @@ -265,14 +253,6 @@ export default function MessageChat() { // }; // }, []); - useEffect(() => { - if (resumeId) { - return; - } - - setResumeId(getResumeId(messages, userId)); - }, [messages, resumeId, userId]); - useEffect(() => { if (!chat) { return; @@ -319,6 +299,7 @@ export default function MessageChat() { const parseMaterial = query.material ? parseQuery(query.material) : null; // log('requestChatDetail', chatDetail, parseJob, parseMaterial); setChat(chatDetail); + setResumeId(chatDetail.participants.find(u => u.userId !== currentUserId)?.resumeId); setJobId(query.jobId); setMessages(chatDetail.messages); setScrollItemId(getScrollItemId(last(chatDetail.messages)?.msgId)); diff --git a/src/types/message.ts b/src/types/message.ts index 62cdf1b..ef7d78a 100644 --- a/src/types/message.ts +++ b/src/types/message.ts @@ -43,7 +43,9 @@ export interface ILocationMessage { longitude: number; } -export interface IChatUser extends Pick {} +export interface IChatUser extends Pick { + resumeId: string; +} export interface IChatMessage { msgId: string;