year 3 miesięcy temu
rodzic
commit
6cf71d01b8

+ 21 - 10
.env.local

@@ -1,13 +1,24 @@
+# 环境
 #baseurl
-NEXT_PUBLIC_BASE_URL=https://hk-api.tiktokjakjkl.icu
+# NEXT_PUBLIC_BASE_URL=http://192.168.0.71:8800
+NEXT_PUBLIC_BASE_URL=http://192.168.0.84:8800
+# NEXT_PUBLIC_BASE_URL=https://3rd-api.tiktokjakjkl.icu
 #share link
-NEXT_PUBLIC_SHARE_URL=https://hk-site.tiktokjakjkl.icu
+NEXT_PUBLIC_SHARE_URL=http://192.168.0.84:3000
+
 #firebase
-NEXT_PUBLIC_FIREBASE_APIKEY=AIzaSyCIE8xtySsYztsSgmQJx_aqPrrpHEuvgvw
-NEXT_PUBLIC_FIREBASE_AUTHDOMAIN=bcwin777-1bdda.firebaseapp.com
-NEXT_PUBLIC_FIREBASE_PROJECTID=bcwin777-1bdda
-NEXT_PUBLIC_FIREBASE_STORAGEBUCKET=bcwin777-1bdda.firebasestorage.app
-NEXT_PUBLIC_FIREBASE_MESSAGINGSENDERID=542456379513
-NEXT_PUBLIC_FIREBASE_APPID=1:542456379513:web:851a46fc639085170bfca8
-NEXT_PUBLIC_FIREBASE_MEASUREMENTID=G-GV6Y8DXHHD
-NEXT_PUBLIC_FIREBASE_KEYS=BOCfpA08vK6uxhMdRblnx9gPVBLx9WpTn9AutVNhHQQpVtXzDIKW0X6cmsNRaFDhyFDJfMqWjqC7mq6uDFIKU_M
+NEXT_PUBLIC_FIREBASE_APIKEY=AIzaSyDAWORGKhdyzb5KeqTi535VmD5gN2Cdle8
+NEXT_PUBLIC_FIREBASE_AUTHDOMAIN=bcwin-a99b1.firebaseapp.com
+
+
+
+
+NEXT_PUBLIC_FIREBASE_PROJECTID=bcwin-a99b1
+NEXT_PUBLIC_FIREBASE_STORAGEBUCKET=bcwin-a99b1.appspot.com
+NEXT_PUBLIC_FIREBASE_MESSAGINGSENDERID=1055413612814
+NEXT_PUBLIC_FIREBASE_APPID=1:1055413612814:web:7a563237de8e43849d275f
+
+
+
+NEXT_PUBLIC_FIREBASE_MEASUREMENTID=G-467M2BYJMS
+NEXT_PUBLIC_FIREBASE_KEYS=BAOsT7kii-ctLzGrgXe_wYhfuxlme1v4njnD0uPSKp3DpSnrUa2e709b9dRaeYVU7jF_qIx1y9tEv0CvilDCdnM

+ 1 - 1
src/app/[locale]/(navbar)/recharge/page.tsx

@@ -120,7 +120,7 @@ const Page = async () => {
                                     </div>
                                     <div>
                                         No primeiro depósito acima de 5 BRL, você pode receber um
-                                        bônus de 100%. Válido por 5 horas
+                                        bônus de 120%. Válido por 48 horas
                                     </div>
                                 </div>
                             </div>

+ 61 - 8
src/components/ModalPopup/SignInModal/index.tsx

@@ -1,9 +1,12 @@
 /* eslint-disable @next/next/no-img-element */
 "use client";
+import { claimActivityReward } from "@/api/activity";
 import { useRouter } from "@/i18n/routing";
 import { useSignStore } from "@/stores/useSignStore";
-import { Mask } from "antd-mobile";
-import { FC, forwardRef, memo, useImperativeHandle, useRef, useState } from "react";
+import { formatAmount } from "@/utils";
+import { Mask, Toast } from "antd-mobile";
+import BigNumber from "bignumber.js";
+import { FC, forwardRef, memo, useImperativeHandle, useMemo, useRef, useState } from "react";
 import styles from "./style.module.scss";
 
 export interface SignInModalProps {
@@ -175,9 +178,11 @@ export const PayBoxList: FC<PayProps> = ({ type = "modal" }) => {
 
 const SignInModal = forwardRef(function SignInModal(props, ref) {
     const [visible, setVisible] = useState(false);
+    const [amount, setAmount] = useState({});
 
     const signData = useSignStore((state) => state.signData);
     const activity_id = useSignStore((state) => state.activity_id);
+    const getSignData = useSignStore((state) => state.getSignData);
 
     const totalData = signData.list;
     const isSignNum = totalData?.reduce((pre, cur) => (cur.is_suss ? pre + 1 : pre), 0);
@@ -191,6 +196,50 @@ const SignInModal = forwardRef(function SignInModal(props, ref) {
             onOpen: () => setVisible(true),
         };
     });
+    const curData = useMemo(() => {
+        if (!signData || !signData.list || signData.cur_num == undefined) return null;
+        return signData.list[signData.cur_num];
+    }, [signData]);
+
+    const doClaim = async () => {
+        if (!curData || !signData.is_op) return null;
+        try {
+            const res = await claimActivityReward({
+                activity_id: Number(activity_id),
+                id: curData.id as number,
+            });
+            getSignData({ activity_id: Number(activity_id) });
+            if (res.code === 200 && res?.data?.code === 1) {
+                const amountObj: any = {};
+                if (res?.data?.reward) {
+                    res?.data?.reward.forEach((item: any) => {
+                        amountObj[`coin_${item.coin_type}`] = formatAmount(item.amount);
+                    });
+                    //extra_reward
+                }
+                if (res?.data?.extra_reward) {
+                    res?.data?.extra_reward.forEach((item: any) => {
+                        amountObj[`coin_${item.coin_type}`] = formatAmount(
+                            new BigNumber(amountObj[`coin_${item.coin_type}`] || 0)
+                                .plus(item.amount)
+                                .toString()
+                        );
+                    });
+                }
+                setAmount(amountObj);
+                setVisible(true);
+            } else {
+                throw new Error("Erro de parâmetro");
+            }
+        } catch (error: any) {
+            if (error) {
+                Toast.show({
+                    content: error.message || error.toString(),
+                    maskClickable: false,
+                });
+            }
+        }
+    };
 
     return (
         <>
@@ -245,14 +294,18 @@ const SignInModal = forwardRef(function SignInModal(props, ref) {
                                         {/* 签到body */}
                                         <div className="absolute left-0 top-0 w-[100%]">
                                             <div className="relative mt-[0.51rem] w-[100%]">
-                                                <BoxListCom ref={boxRef} />
+                                                <div className="max-h-[3rem] overflow-auto">
+                                                    <BoxListCom ref={boxRef} />
+                                                </div>
+
                                                 <div
                                                     className="mt-[0.25rem] flex h-[0.62rem] justify-center"
-                                                    onClick={() => {
-                                                        router.push(
-                                                            `/signin?activity_id=${activity_id}`
-                                                        );
-                                                    }}
+                                                    onClick={doClaim}
+                                                    // onClick={() => {
+                                                    //     router.push(
+                                                    //         `/signin?activity_id=${activity_id}`
+                                                    //     );
+                                                    // }}
                                                 >
                                                     <img
                                                         src={