实人认证
This commit is contained in:
@ -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' });
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user