From 33ef940d6eab15ef2ead882def97dfbe25035e78 Mon Sep 17 00:00:00 2001 From: chashaobao Date: Thu, 7 Aug 2025 00:53:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E4=BA=BA=E8=AE=A4=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/certification/index.tsx | 8 ++++---- src/pages/job-detail/index.tsx | 8 ++++++++ src/pages/material-view/index.tsx | 11 +++++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/pages/certification/index.tsx b/src/pages/certification/index.tsx index bf26b10..10781cc 100644 --- a/src/pages/certification/index.tsx +++ b/src/pages/certification/index.tsx @@ -2,7 +2,7 @@ import { BaseEventOrig, Button, ButtonProps, Image, InputProps } from '@tarojs/c import Taro, { UploadTask } from '@tarojs/taro'; import { Dialog } from '@taroify/core'; -import { useCallback, useEffect, useRef, useState } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import BlFormInput from '@/components/bl-form-input'; import BlFormItem from '@/components/bl-form-item'; @@ -15,6 +15,8 @@ import { CollectEventName, ReportEventId } from '@/constants/event'; import { ProductType } from '@/constants/product'; import useCachedJobId from '@/hooks/use-cached-job'; import useUserInfo from '@/hooks/use-user-info'; +import store from '@/store'; +import { clearCachedJobId } from '@/store/actions'; import { ICertificationRequest } from '@/types/company'; import { isValidIdCard, isValidPhone, logWithPrefix } from '@/utils/common'; import { postCertification, getPhone } from '@/utils/company'; @@ -28,8 +30,7 @@ import { dispatchUpdateUser, requestUserInfo } from '@/utils/user'; import { uploadVideo } from '@/utils/video'; import './index.less'; -import { clearCachedJobId } from '@/store/actions'; -import store from '@/store'; + const PREFIX = 'page-certification'; const log = logWithPrefix(PREFIX); @@ -110,7 +111,6 @@ export default function Certification() { const [open, setOpen] = useState(false); const [showBuy, setShowBuy] = useState(false); const cachedJobId = useCachedJobId(); - const createdJobIdRef = useRef(''); const handleClickIdCardLeft = useCallback(async () => { reportEvent(ReportEventId.CLICK_UPLOAD_ID_CARD, { type: 'left' }); diff --git a/src/pages/job-detail/index.tsx b/src/pages/job-detail/index.tsx index de3ace4..23f25db 100644 --- a/src/pages/job-detail/index.tsx +++ b/src/pages/job-detail/index.tsx @@ -42,6 +42,8 @@ import { Dialog } from '@taroify/core'; import CompanyPublishJobBuy from '@/components/product-dialog/steps-ui/company-publish-job-buy'; import { requestProductBalance } from '@/utils/product'; import { ProductType } from '@/constants/product'; +import store from '@/store'; +import { cacheJobId } from '@/store/actions'; const PREFIX = 'job-detail'; const log = logWithPrefix(PREFIX); @@ -170,11 +172,17 @@ const AnchorFooter = (props: { data: JobDetails }) => { const CompanyFooter = (props: { data: JobDetails }) => { const { data } = props; const [showBuy, setShowBuy] = useState(false); + const userInfo = useUserInfo(); const handleClickEdit = useCallback(() => navigateTo(PageUrl.JobPublish, { jobId: data.id }), [data]); const handlePublishJob = useCallback(async () => { try { + if (userInfo.bossAuthStatus !== CertificationStatusType.Success) { + store.dispatch(cacheJobId(data.id)); + navigateTo(PageUrl.CertificationStart); + return; + } Taro.showLoading(); await postPublishJob(data.id); Taro.eventCenter.trigger(EventName.COMPANY_JOB_PUBLISH_CHANGED); diff --git a/src/pages/material-view/index.tsx b/src/pages/material-view/index.tsx index e9711c6..e7d0ad5 100644 --- a/src/pages/material-view/index.tsx +++ b/src/pages/material-view/index.tsx @@ -29,6 +29,10 @@ import { getInviteCodeFromQueryAndUpdate } from '@/utils/partner'; import { getPageQuery, navigateBack, navigateTo, redirectTo } from '@/utils/route'; import Toast from '@/utils/toast'; import './index.less'; +import useUserInfo from '@/hooks/use-user-info'; +import { CertificationStatusType } from '@/constants/company'; +import store from '@/store'; +import { cacheJobId } from '@/store/actions'; const PREFIX = 'page-material-view'; @@ -75,6 +79,7 @@ export default function MaterialViewPage() { const [vipExpiredVisible, setVipExpiredVisible] = useState(false); const inviteCode = useInviteCode(); const [showBuy, setShowBuy] = useState(false); + const userInfo = useUserInfo(); const onDev = useCallback(async () => profile && copy(profile.userId), [profile]); @@ -92,6 +97,12 @@ export default function MaterialViewPage() { } const jobDetail = await requestJobDetail(jobId); if (jobDetail.status !== JobManageStatus.Open) { + if (userInfo.bossAuthStatus !== CertificationStatusType.Success) { + store.dispatch(cacheJobId(jobId)); + navigateTo(PageUrl.CertificationStart); + return; + } + setShowBuy(true); return; }