实人认证

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 { 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' });

View File

@ -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);

View File

@ -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;
}