feat: resume

This commit is contained in:
chashaobao 2025-06-16 00:29:17 +08:00
parent fd5b3dab97
commit 828497fcd6
2 changed files with 6 additions and 23 deletions

View File

@ -31,7 +31,7 @@ import {
PostMessageRequest, PostMessageRequest,
} from '@/types/message'; } from '@/types/message';
import { isAnchorMode } from '@/utils/app'; 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 { collectEvent } from '@/utils/event';
import { import {
isExchangeMessage, isExchangeMessage,
@ -55,7 +55,6 @@ 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`;
@ -86,19 +85,8 @@ const getHeaderLeftButtonText = (job?: IJobMessage, material?: IMaterialMessage)
return isAnchorMode() ? '不感兴趣' : '标记为不合适'; 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() { 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);
@ -107,8 +95,8 @@ export default function MessageChat() {
const [messages, setMessages] = useState<IChatMessage[]>([]); const [messages, setMessages] = useState<IChatMessage[]>([]);
const [messageStatusList, setMessageStatusList] = useState<IMessageStatus[]>([]); const [messageStatusList, setMessageStatusList] = useState<IMessageStatus[]>([]);
const [jobId, setJobId] = useState<string>(); const [jobId, setJobId] = useState<string>();
const [resumeId, setResumeId] = useState<string>();
const [job, setJob] = useState<IJobMessage>(); const [job, setJob] = useState<IJobMessage>();
const [resumeId, setResumeId] = useState<string | undefined>();
const [material, setMaterial] = useState<IMaterialMessage>(); const [material, setMaterial] = useState<IMaterialMessage>();
const [scrollItemId, setScrollItemId] = useState<string>(); const [scrollItemId, setScrollItemId] = useState<string>();
const scrollToLowerRef = useRef(false); const scrollToLowerRef = useRef(false);
@ -265,14 +253,6 @@ export default function MessageChat() {
// }; // };
// }, []); // }, []);
useEffect(() => {
if (resumeId) {
return;
}
setResumeId(getResumeId(messages, userId));
}, [messages, resumeId, userId]);
useEffect(() => { useEffect(() => {
if (!chat) { if (!chat) {
return; return;
@ -319,6 +299,7 @@ export default function MessageChat() {
const parseMaterial = query.material ? parseQuery<IMaterialMessage>(query.material) : null; const parseMaterial = query.material ? parseQuery<IMaterialMessage>(query.material) : null;
// log('requestChatDetail', chatDetail, parseJob, parseMaterial); // log('requestChatDetail', chatDetail, parseJob, parseMaterial);
setChat(chatDetail); setChat(chatDetail);
setResumeId(chatDetail.participants.find(u => u.userId !== currentUserId)?.resumeId);
setJobId(query.jobId); setJobId(query.jobId);
setMessages(chatDetail.messages); setMessages(chatDetail.messages);
setScrollItemId(getScrollItemId(last(chatDetail.messages)?.msgId)); setScrollItemId(getScrollItemId(last(chatDetail.messages)?.msgId));

View File

@ -43,7 +43,9 @@ export interface ILocationMessage {
longitude: number; longitude: number;
} }
export interface IChatUser extends Pick<UserInfo, 'userId' | 'nickName'> {} export interface IChatUser extends Pick<UserInfo, 'userId' | 'nickName'> {
resumeId: string;
}
export interface IChatMessage { export interface IChatMessage {
msgId: string; msgId: string;