feat: support click to open material page

This commit is contained in:
chashaobao 2025-06-15 00:19:18 +08:00
parent c08b0bef95
commit c76027b4d9

View File

@ -55,6 +55,7 @@ import Toast from '@/utils/toast';
import { getUserId } from '@/utils/user'; import { getUserId } from '@/utils/user';
import './index.less'; import './index.less';
import useUserInfo from '@/hooks/use-user-info';
const PREFIX = 'page-message-chat'; const PREFIX = 'page-message-chat';
const LIST_CONTAINER_CLASS = `${PREFIX}__chat-list`; const LIST_CONTAINER_CLASS = `${PREFIX}__chat-list`;
@ -85,17 +86,19 @@ const getHeaderLeftButtonText = (job?: IJobMessage, material?: IMaterialMessage)
return isAnchorMode() ? '不感兴趣' : '标记为不合适'; return isAnchorMode() ? '不感兴趣' : '标记为不合适';
}; };
const getResumeId = (messages: IChatMessage[]) => { const getResumeId = (messages: IChatMessage[], userId?: string) => {
const resumeStr = messages.find(it => it.type === MessageType.Material)?.actionObject; const resumeStr = messages.find(it => it.type === MessageType.Material && it.senderUserId !== userId)?.actionObject;
if (resumeStr) { if (resumeStr) {
const resumeObj = safeJsonParse(resumeStr); const { id } = safeJsonParse(resumeStr);
return resumeObj.id; log('resumeId', id);
return id;
} }
return undefined; return undefined;
}; };
export default function MessageChat() { export default function MessageChat() {
const listHeight = useListHeight(CALC_LIST_PROPS); const listHeight = useListHeight(CALC_LIST_PROPS);
const { userId } = useUserInfo();
const [input, setInput] = useState(''); const [input, setInput] = useState('');
const [showMore, setShowMore] = useState(false); const [showMore, setShowMore] = useState(false);
const [chat, setChat] = useState<IChatInfo | null>(null); const [chat, setChat] = useState<IChatInfo | null>(null);
@ -267,10 +270,8 @@ export default function MessageChat() {
return; return;
} }
setResumeId(getResumeId(messages)); setResumeId(getResumeId(messages, userId));
}, [messages, resumeId]); }, [messages, resumeId, userId]);
console.log('resumeId', resumeId)
useEffect(() => { useEffect(() => {
if (!chat) { if (!chat) {