feat: update of partner

This commit is contained in:
eleanor.mao
2025-05-15 01:02:00 +08:00
parent 7aafc3a789
commit d2ac64f20c
52 changed files with 1435 additions and 265 deletions

View File

@ -15,6 +15,7 @@ import { RoleType, EventName, PageUrl } from '@/constants/app';
import { CertificationStatusType } from '@/constants/company';
import { CollectEventName, ReportEventId } from '@/constants/event';
import { EMPLOY_TYPE_TITLE_MAP } from '@/constants/job';
import useInviteCode from '@/hooks/use-invite-code';
import useUserInfo from '@/hooks/use-user-info';
import useRoleType from '@/hooks/user-role-type';
import { RESPONSE_ERROR_CODE } from '@/http/constant';
@ -27,6 +28,7 @@ import { getJobTitle, getJobSalary, postPublishJob, requestJobDetail } from '@/u
import { calcDistance, isValidLocation } from '@/utils/location';
import { requestProfileDetail } from '@/utils/material';
import { isChatWithSelf, postCreateChat } from '@/utils/message';
import { getInviteCodeFromQueryAndUpdate } from '@/utils/partner';
import { getJumpUrl, getPageQuery, navigateTo } from '@/utils/route';
import { getCommonShareMessage } from '@/utils/share';
import { formatDate } from '@/utils/time';
@ -181,6 +183,7 @@ export default function JobDetail() {
const userInfo = useUserInfo();
const [data, setData] = useState<JobDetails | null>(null);
const isOwner = roleType === RoleType.Company && userInfo.userId === data?.userId;
const inviteCode = useInviteCode();
const onDev = useCallback(async () => data && copy(data.id), [data]);
@ -216,7 +219,8 @@ export default function JobDetail() {
}, []);
useLoad(async () => {
const query = getPageQuery<Pick<JobDetails, 'id'>>();
const query = getPageQuery<Pick<JobDetails, 'id'> & { c: string }>();
getInviteCodeFromQueryAndUpdate(query);
const jobId = query?.id;
if (!jobId) {
return;
@ -232,11 +236,11 @@ export default function JobDetail() {
useShareAppMessage(() => {
if (!data) {
return getCommonShareMessage();
return getCommonShareMessage(true, inviteCode);
}
return {
title: getJobTitle(data) || '',
path: getJumpUrl(PageUrl.JobDetail, { id: data.id, share: true }),
path: getJumpUrl(PageUrl.JobDetail, { id: data.id, share: true, c: inviteCode }),
};
});