实人认证

This commit is contained in:
chashaobao
2025-08-07 00:53:00 +08:00
parent 61336b5282
commit 33ef940d6e
3 changed files with 23 additions and 4 deletions

View File

@ -2,7 +2,7 @@ import { BaseEventOrig, Button, ButtonProps, Image, InputProps } from '@tarojs/c
import Taro, { UploadTask } from '@tarojs/taro'; import Taro, { UploadTask } from '@tarojs/taro';
import { Dialog } from '@taroify/core'; 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 BlFormInput from '@/components/bl-form-input';
import BlFormItem from '@/components/bl-form-item'; import BlFormItem from '@/components/bl-form-item';
@ -15,6 +15,8 @@ import { CollectEventName, ReportEventId } from '@/constants/event';
import { ProductType } from '@/constants/product'; import { ProductType } from '@/constants/product';
import useCachedJobId from '@/hooks/use-cached-job'; import useCachedJobId from '@/hooks/use-cached-job';
import useUserInfo from '@/hooks/use-user-info'; import useUserInfo from '@/hooks/use-user-info';
import store from '@/store';
import { clearCachedJobId } from '@/store/actions';
import { ICertificationRequest } from '@/types/company'; import { ICertificationRequest } from '@/types/company';
import { isValidIdCard, isValidPhone, logWithPrefix } from '@/utils/common'; import { isValidIdCard, isValidPhone, logWithPrefix } from '@/utils/common';
import { postCertification, getPhone } from '@/utils/company'; import { postCertification, getPhone } from '@/utils/company';
@ -28,8 +30,7 @@ import { dispatchUpdateUser, requestUserInfo } from '@/utils/user';
import { uploadVideo } from '@/utils/video'; import { uploadVideo } from '@/utils/video';
import './index.less'; import './index.less';
import { clearCachedJobId } from '@/store/actions';
import store from '@/store';
const PREFIX = 'page-certification'; const PREFIX = 'page-certification';
const log = logWithPrefix(PREFIX); const log = logWithPrefix(PREFIX);
@ -110,7 +111,6 @@ export default function Certification() {
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const [showBuy, setShowBuy] = useState(false); const [showBuy, setShowBuy] = useState(false);
const cachedJobId = useCachedJobId(); const cachedJobId = useCachedJobId();
const createdJobIdRef = useRef('');
const handleClickIdCardLeft = useCallback(async () => { const handleClickIdCardLeft = useCallback(async () => {
reportEvent(ReportEventId.CLICK_UPLOAD_ID_CARD, { type: 'left' }); reportEvent(ReportEventId.CLICK_UPLOAD_ID_CARD, { type: 'left' });

View File

@ -42,6 +42,8 @@ import { Dialog } from '@taroify/core';
import CompanyPublishJobBuy from '@/components/product-dialog/steps-ui/company-publish-job-buy'; import CompanyPublishJobBuy from '@/components/product-dialog/steps-ui/company-publish-job-buy';
import { requestProductBalance } from '@/utils/product'; import { requestProductBalance } from '@/utils/product';
import { ProductType } from '@/constants/product'; import { ProductType } from '@/constants/product';
import store from '@/store';
import { cacheJobId } from '@/store/actions';
const PREFIX = 'job-detail'; const PREFIX = 'job-detail';
const log = logWithPrefix(PREFIX); const log = logWithPrefix(PREFIX);
@ -170,11 +172,17 @@ const AnchorFooter = (props: { data: JobDetails }) => {
const CompanyFooter = (props: { data: JobDetails }) => { const CompanyFooter = (props: { data: JobDetails }) => {
const { data } = props; const { data } = props;
const [showBuy, setShowBuy] = useState(false); const [showBuy, setShowBuy] = useState(false);
const userInfo = useUserInfo();
const handleClickEdit = useCallback(() => navigateTo(PageUrl.JobPublish, { jobId: data.id }), [data]); const handleClickEdit = useCallback(() => navigateTo(PageUrl.JobPublish, { jobId: data.id }), [data]);
const handlePublishJob = useCallback(async () => { const handlePublishJob = useCallback(async () => {
try { try {
if (userInfo.bossAuthStatus !== CertificationStatusType.Success) {
store.dispatch(cacheJobId(data.id));
navigateTo(PageUrl.CertificationStart);
return;
}
Taro.showLoading(); Taro.showLoading();
await postPublishJob(data.id); await postPublishJob(data.id);
Taro.eventCenter.trigger(EventName.COMPANY_JOB_PUBLISH_CHANGED); Taro.eventCenter.trigger(EventName.COMPANY_JOB_PUBLISH_CHANGED);

View File

@ -29,6 +29,10 @@ import { getInviteCodeFromQueryAndUpdate } from '@/utils/partner';
import { getPageQuery, navigateBack, navigateTo, redirectTo } from '@/utils/route'; import { getPageQuery, navigateBack, navigateTo, redirectTo } from '@/utils/route';
import Toast from '@/utils/toast'; import Toast from '@/utils/toast';
import './index.less'; 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'; const PREFIX = 'page-material-view';
@ -75,6 +79,7 @@ export default function MaterialViewPage() {
const [vipExpiredVisible, setVipExpiredVisible] = useState(false); const [vipExpiredVisible, setVipExpiredVisible] = useState(false);
const inviteCode = useInviteCode(); const inviteCode = useInviteCode();
const [showBuy, setShowBuy] = useState(false); const [showBuy, setShowBuy] = useState(false);
const userInfo = useUserInfo();
const onDev = useCallback(async () => profile && copy(profile.userId), [profile]); const onDev = useCallback(async () => profile && copy(profile.userId), [profile]);
@ -92,6 +97,12 @@ export default function MaterialViewPage() {
} }
const jobDetail = await requestJobDetail(jobId); const jobDetail = await requestJobDetail(jobId);
if (jobDetail.status !== JobManageStatus.Open) { if (jobDetail.status !== JobManageStatus.Open) {
if (userInfo.bossAuthStatus !== CertificationStatusType.Success) {
store.dispatch(cacheJobId(jobId));
navigateTo(PageUrl.CertificationStart);
return;
}
setShowBuy(true); setShowBuy(true);
return; return;
} }