year преди 1 месец
родител
ревизия
9cc698fd7f

BIN
public/login/header.webp


BIN
public_original/login/header.png


+ 0 - 1
src/app/[locale]/(TabBar)/profile/component/ItemCom/index.tsx

@@ -68,7 +68,6 @@ const ItemCom: FC<ItemComProps> = ({ type = "login" }) => {
     const { data: cashback } = useRequest<any, any>(getCashBackApi, {
         pollingErrorRetryCount: 1,
     });
-    console.log(cashback);
 
     // const vip_cashback = useVipStore((state) => state.vipData?.vip_cashback ?? 0);
     const vip_cashback = useMemo(() => {

+ 45 - 0
src/app/[locale]/(enter)/login/page.tsx

@@ -1,6 +1,9 @@
 "use client";
+import { CashbackTypes } from "@/api/cashback";
 import FooterTip from "@/components/FooterTip";
 import { useRouter } from "@/i18n/routing";
+import { server } from "@/utils/client";
+import { useRequest } from "ahooks";
 import clsx from "clsx";
 import dynamic from "next/dynamic";
 import { useSearchParams } from "next/navigation";
@@ -12,6 +15,30 @@ const Form = dynamic(() => import("../components/Form"));
 const LoginService = dynamic(() => import("./LoginService"));
 const Adbox = dynamic(() => import("./adbox"));
 
+const getCashBackApi = async () => {
+    return server
+        .request<CashbackTypes>({
+            url: "/v1/api/front/activity_cash",
+            method: "post",
+        })
+        .then((res) => {
+            return res.data;
+        })
+        .catch((error) => {
+            return {
+                rules: [],
+                last_period: { end_time: 0, start_time: 0 },
+                next_period: {
+                    end_time: 0,
+                    start_time: 0,
+                },
+                amount: 0,
+                bet: 0,
+                status: "expired",
+            };
+        });
+};
+
 const Login = () => {
     const searchParams = useSearchParams();
 
@@ -34,6 +61,17 @@ const Login = () => {
             },
         ];
     }, []);
+    const { data: cashback } = useRequest<any, any>(getCashBackApi, {
+        pollingErrorRetryCount: 1,
+    });
+
+    // const vip_cashback = useVipStore((state) => state.vipData?.vip_cashback ?? 0);
+    const vip_cashback = React.useMemo(() => {
+        if (!cashback?.rules?.length) return 30;
+        const len = cashback?.rules.length;
+        const rules = cashback?.rules.sort((a: any, b: any) => a.level - b.level);
+        return rules[len - 1].cashback;
+    }, [cashback]);
 
     return (
         <div className={styles.page}>
@@ -44,6 +82,13 @@ const Login = () => {
                 >
                     <i className="iconfont icon-guanbi text-[.13rem]"></i>
                 </div>
+                <div className="absolute left-[.15rem] top-[1rem] text-[.15rem]">
+                    <div>Cashback em dinheiro de</div>
+                    <div>
+                        <span className="text-[.2rem] text-[#ffe400]">{vip_cashback}%&nbsp;</span>
+                        <span>toda semana</span>
+                    </div>
+                </div>
             </div>
             <div className="flex min-h-[0] flex-1 flex-col">
                 <div className="pb-[.4rem] text-center text-[.16rem] font-bold">