Commit 23cb7d4b by hometown

feat: done.

parent 5a59fe7e
......@@ -11,7 +11,11 @@ import apis from "@/apis";
import type {ProductCode, QueryBranchListResponseData} from "@/apis/common";
import OrderHelper from "@/pages/Home/helper/order";
const HomeContent: React.FC = () => {
interface HomeContentProps {
queryUserOrders: () => Promise<void>;
}
const HomeContent: React.FC<HomeContentProps> = (props) => {
const [productList] = useState([
{
bannerImg: homeProductBanner1Img,
......@@ -36,7 +40,9 @@ const HomeContent: React.FC = () => {
const [activeProductIdx, setActiveProductIdx] = useState(-1);
const [toasted, setToasted] = useState(false);
function handleClickProduct(idx: number) {
async function handleClickProduct(idx: number) {
await props.queryUserOrders()
if (toasted) {
setActiveProductIdx(idx);
setShowBranchListPopup(true);
......
......@@ -10,31 +10,34 @@ const Home: React.FC = () => {
const [params] = useSearchParams();
const navigate = useNavigate();
const [isAuthed, setIsAuthed] = useState(false);
const queryUserOrders = async () => {
const [res1, res2] = await Promise.all([
await apis.common.queryUserOrder({productCode: '4'}),
await apis.common.queryUserOrder({productCode: '5'})
])
if(res1.ok && res2.ok) {
// 买了普通产品
if(res1.data.orderId) {
navigate(`/orderDetail?orderId=${res1.data.orderId}`,{replace: true})
}
useEffect(() => {
const authenticateAndFetchOrders = async () => {
try {
const authResult = await AuthUtil.auth(params);
const [res1, res2] = await Promise.all([
await apis.common.queryUserOrder({productCode: '4'}),
await apis.common.queryUserOrder({productCode: '5'})
])
if(res1.ok && res2.ok) {
// 买了普通产品
if(res1.data.orderId) {
navigate(`/orderDetail?orderId=${res1.data.orderId}`,{replace: true})
}
// 买了抽奖,但是没抽 或者 抽过了
if(res2.data.orderId || res2.data.lotteryOrderId) {
navigate(`/lottery`,{replace: true})
}
}
setIsAuthed(authResult);
} catch (error) {
// 买了抽奖,但是没抽 或者 抽过了
if(res2.data.orderId || res2.data.lotteryOrderId) {
navigate(`/lottery`,{replace: true})
}
};
}
}
const authenticateAndFetchOrders = async () => {
try {
const authResult = await AuthUtil.auth(params);
await queryUserOrders()
setIsAuthed(authResult);
} catch (error) {
}
};
useEffect(() => {
setTimeout(authenticateAndFetchOrders, 400);
}, []);
......@@ -43,7 +46,7 @@ const Home: React.FC = () => {
{isAuthed && (
<>
<HomeBg/>
<HomeContent/>
<HomeContent queryUserOrders={queryUserOrders}/>
</>
)}
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment