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,
} 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<IChatInfo | null>(null);
@ -107,8 +95,8 @@ export default function MessageChat() {
const [messages, setMessages] = useState<IChatMessage[]>([]);
const [messageStatusList, setMessageStatusList] = useState<IMessageStatus[]>([]);
const [jobId, setJobId] = useState<string>();
const [resumeId, setResumeId] = 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);
@ -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<IMaterialMessage>(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));

View File

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