feat: support click avatar jump to resume page

This commit is contained in:
chashaobao
2025-06-15 00:14:48 +08:00
parent 96eb46821e
commit c08b0bef95
2 changed files with 33 additions and 8 deletions

View File

@ -31,7 +31,7 @@ import {
PostMessageRequest,
} from '@/types/message';
import { isAnchorMode } from '@/utils/app';
import { getScrollItemId, last, logWithPrefix } from '@/utils/common';
import { getScrollItemId, last, logWithPrefix, safeJsonParse } from '@/utils/common';
import { collectEvent } from '@/utils/event';
import {
isExchangeMessage,
@ -85,6 +85,15 @@ const getHeaderLeftButtonText = (job?: IJobMessage, material?: IMaterialMessage)
return isAnchorMode() ? '不感兴趣' : '标记为不合适';
};
const getResumeId = (messages: IChatMessage[]) => {
const resumeStr = messages.find(it => it.type === MessageType.Material)?.actionObject;
if (resumeStr) {
const resumeObj = safeJsonParse(resumeStr);
return resumeObj.id;
}
return undefined;
};
export default function MessageChat() {
const listHeight = useListHeight(CALC_LIST_PROPS);
const [input, setInput] = useState('');
@ -96,6 +105,7 @@ export default function MessageChat() {
const [messageStatusList, setMessageStatusList] = useState<IMessageStatus[]>([]);
const [jobId, setJobId] = useState<string>();
const [job, setJob] = useState<IJobMessage>();
const [resumeId, setResumeId] = useState<string | undefined>();
const [material, setMaterial] = useState<IMaterialMessage>();
const [scrollItemId, setScrollItemId] = useState<string>();
const scrollToLowerRef = useRef(false);
@ -252,6 +262,16 @@ export default function MessageChat() {
// };
// }, []);
useEffect(() => {
if (resumeId) {
return;
}
setResumeId(getResumeId(messages));
}, [messages, resumeId]);
console.log('resumeId', resumeId)
useEffect(() => {
if (!chat) {
return;
@ -353,6 +373,7 @@ export default function MessageChat() {
id={message.msgId}
key={message.msgId}
message={message}
resumeId={resumeId}
isRead={messageStatusList.some(m => m.msgId === message.msgId && !!m.isRead)}
/>
);