This commit is contained in:
chashaobao
2025-07-12 15:43:19 +08:00
parent 80846d507f
commit 5820fa8d25
2 changed files with 90 additions and 70 deletions

View File

@ -3,6 +3,7 @@ import Taro, { useDidShow, useLoad, useShareAppMessage } from '@tarojs/taro';
import { Tabs } from '@taroify/core';
import { useCallback, useEffect, useRef, useState } from 'react';
import { AgreementPopup } from '@/components/agreement-popup';
import HomePage from '@/components/home-page';
import { LoginGuide } from '@/components/login-guide';
import MaterialGuide from '@/components/material-guide';
@ -21,8 +22,7 @@ import { getInviteCodeFromQueryAndUpdate } from '@/utils/partner';
import { getJumpUrl, getPageQuery, navigateTo } from '@/utils/route';
import { getCommonShareMessage } from '@/utils/share';
import Toast from '@/utils/toast';
import { isNeedCreateMaterial } from '@/utils/user';
import { getAgreementSigned, isNeedCreateMaterial, setAgreementSigned } from '@/utils/user';
import './index.less';
const PREFIX = 'job';
@ -42,6 +42,7 @@ export default function Job() {
const [showMaterialGuide, setShowMaterialGuide] = useState(false);
const [showAuthorize, setShowAuthorize] = useState(false);
const cityValuesChangedRef = useRef(false);
const [openAgreementPopup, setAgreementPopupOpen] = useState(typeof getAgreementSigned() !== 'boolean');
const handleTypeChange = useCallback(value => setTabType(value), []);
@ -81,7 +82,15 @@ export default function Job() {
setShowMaterialGuide(true);
}
}, []);
const handleCancelAgreementPopup = () => {
setAgreementPopupOpen(false);
setAgreementSigned(false);
};
const handleConfirmAgreementPopup = () => {
setAgreementPopupOpen(false);
setAgreementSigned(true);
};
useEffect(() => {
Taro.eventCenter.on(EventName.SELECT_CITY, handleCityChange);
return () => {
@ -151,6 +160,11 @@ export default function Job() {
<div>
<LoginGuide disabled={showAuthorize} onAfterBind={handleAfterBindPhone} />
{showMaterialGuide && <MaterialGuide onClose={() => setShowMaterialGuide(false)} />}
<AgreementPopup
open={openAgreementPopup}
onCancel={handleCancelAgreementPopup}
onConfirm={handleConfirmAgreementPopup}
/>
</div>
</HomePage>
);