Bladeren bron

fix: 更新uat 环境变量

Before 8 maanden geleden
bovenliggende
commit
c3330988ff

+ 2 - 2
.env.uat

@@ -1,7 +1,7 @@
 #baseurl
-NEXT_PUBLIC_BASE_URL=https://ot-api.tiktokjakjkl.icu
+NEXT_PUBLIC_BASE_URL=https://3rd-api.tiktokjakjkl.icu
 #share link
-NEXT_PUBLIC_SHARE_URL=https://ot-site.tiktokjakjkl.icu
+NEXT_PUBLIC_SHARE_URL=https://3rd-site.tiktokjakjkl.icu
 #firebase
 NEXT_PUBLIC_FIREBASE_APIKEY=AIzaSyCIE8xtySsYztsSgmQJx_aqPrrpHEuvgvw
 NEXT_PUBLIC_FIREBASE_AUTHDOMAIN=bcwin777-1bdda.firebaseapp.com

+ 3 - 1
messages/br.json

@@ -118,7 +118,7 @@
     "Depósito": "Depósito",
     "Sacar": "Sacar",
     "Conta": "Conta",
-    "Saldo": "Saldo",
+
     "Sair": "Sair",
     "Deseja": "Deseja sair?",
     "Cancelar": "Cancelar",
@@ -140,9 +140,11 @@
 
     "deposits": "Depósitos",
     "saques": "Saques",
+    "Saldo": "Saldo",
     "bonus":  "Bônus",
     "free": "Free",
     "replay": "Replay",
+    "modalTitle": "Proxima retirada de bonus",
     "expTips": "{exp} Bet to ",
     "main": "Principais",
     "gratis": "Grátis",

+ 1 - 0
messages/en.json

@@ -144,6 +144,7 @@
     "bonus":  "Bônus",
     "free": "Free",
     "replay": "Replay",
+    "modalTitle": "Proxima retirada de bonus",
     "expTips": "{exp} Bet to ",
     "main": "Main",
     "gratis": "Gratis",

+ 57 - 4
src/app/[locale]/(TabBar)/profile/ProfileHeader.tsx

@@ -1,13 +1,14 @@
 "use client";
 import { UserInfoRep, UserVipInfo, Wallet } from "@/api/user";
+import TipsModal, { ModalProps } from "@/components/TipsModal";
 import { Link, useRouter } from "@/i18n/routing";
+import { WalletEnum } from "@/types";
 import { vipImages } from "@/utils/constant";
 import { flatPoint, percentage } from "@/utils/methods";
 import { ProgressBar, Toast } from "antd-mobile";
 import { useTranslations } from "next-intl";
 import Image from "next/image";
-import { Fragment, useState } from "react";
-import MaskCom from "./component/MaskCom";
+import { Fragment, useRef, useState } from "react";
 
 type Props = {
     userInfo: UserInfoRep;
@@ -61,6 +62,36 @@ const VipCard = (props: { userVip: UserVipInfo }) => {
         </div>
     );
 };
+const Progress = (props: { percent: number }) => {
+    const { percent } = props;
+    return (
+        <ProgressBar
+            percent={percent}
+            className={"mr-[0.0694rem] flex-1"}
+            style={{
+                "--fill-color": "var(--primary-color)",
+                "--track-width": "0.0694rem",
+            }}
+        />
+    );
+};
+// 现金
+const Balance = (props: { wallet: Wallet }) => {
+    const { wallet } = props;
+    const num = 1;
+    const t = useTranslations("ProfilePage");
+    return (
+        <div>
+            <div>
+                <span>{t("Saldo")}</span>
+                <span></span>
+                <span>{wallet.score}</span>
+            </div>
+
+            <Progress percent={num} />
+        </div>
+    );
+};
 
 const WalletCard = (props: { userMoney: Wallet }) => {
     const { userMoney } = props;
@@ -75,9 +106,31 @@ const WalletCard = (props: { userMoney: Wallet }) => {
     const walletHandler = (key: string) => {
         router.push(`/${key}`);
     };
+    const tipsRef = useRef<ModalProps>(null);
+    const [tipsStatus, setTipsStatus] = useState<keyof typeof WalletEnum>("Balance");
+
     return (
         <>
-            <MaskCom visible={visible} callbackFun={callbackFun} />
+            <TipsModal
+                ref={tipsRef}
+                title={
+                    <div className={"flex items-center"}>
+                        <i
+                            className={"iconfont icon-liwuhuodong mr-[0.0694rem] text-[0.2778rem]"}
+                        ></i>
+                        {t("modalTitle")}
+                    </div>
+                }
+            >
+                {/*现金*/}
+                {tipsStatus === WalletEnum.Balance ? <Balance wallet={userMoney} /> : null}
+                {/*  彩金*/}
+                {/*<div>彩金</div>*/}
+                {/* 免费币 */}
+                {/*<div>免费币</div>*/}
+                {/*  重玩币 */}
+                {/*<div>重玩币</div>*/}
+            </TipsModal>
             <div className="coin">
                 <span className="coin_left__icon iconfont icon-icon-wallet"></span>
                 <div className={"coin_right_wallet"}>
@@ -95,7 +148,7 @@ const WalletCard = (props: { userMoney: Wallet }) => {
                                 className="wallet_header__icon"
                                 src="/img/a.png"
                                 alt="question"
-                                onClick={() => setVisible(true)}
+                                onClick={() => tipsRef.current?.onOpen()}
                                 width={15}
                                 height={15}
                             />

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

@@ -0,0 +1,3 @@
+export const DescModal = () => {
+    return <div></div>;
+};

+ 20 - 12
src/app/[locale]/(enter)/components/Form/index.tsx

@@ -176,25 +176,31 @@ const FormComponent: FC<Props> = (props) => {
         looseHandler(values);
     };
     const loginHandler = async (values: FormProps) => {
-        const loginResult = await loginApi(values).catch((error) => {
-            Toast.show({
-                content: t(`code.${error.data.code}`),
+        return new Promise(async (resolve, reject) => {
+            const loginResult = await loginApi(values).catch((error) => {
+                Toast.show({
+                    content: t(`code.${error.data.code}`),
+                });
             });
-        });
-        if (loginResult?.code === 200) {
-            setCookies("Token", loginResult.data.token as string);
-            const result = await userInfoApi();
-            if (result.code === 200) {
-                setUserInfo(result.data);
-                return result;
+            if (loginResult?.code === 200) {
+                setCookies("Token", loginResult.data.token as string);
+                const result = await userInfoApi();
+                if (result.code === 200) {
+                    setUserInfo(result.data);
+                    resolve(result);
+                    return result;
+                }
+            } else {
+                reject();
             }
-        }
+        });
     };
     /// 宽松模式
     const looseHandler = async (values: FormProps) => {
         // 请求
         Toast.show({
             icon: "loading",
+            duration: 0,
         });
         // 注册
         if (type === "register") {
@@ -203,6 +209,7 @@ const FormComponent: FC<Props> = (props) => {
                     if (res.code === 200) {
                         loginHandler(values).then(() => {
                             router.replace("/recharge");
+                            Toast.clear();
                         });
                     }
                 })
@@ -210,14 +217,15 @@ const FormComponent: FC<Props> = (props) => {
                     if (error.data.code === 1017) {
                         sessionStorage.removeItem("shareId");
                     }
+
                     Toast.show({
                         content: t(`code.${error.data.code}`),
                     });
                 });
         } else {
             /// 登录
-
             loginHandler(values).then(() => {
+                Toast.clear();
                 router.replace(`/${searchParams.get("redirect")}` || "/");
             });
             // const loginResult = await loginApi(values).catch((error) => {

+ 17 - 31
src/app/[locale]/(navbar)/cashWheel/CashWheelClient.tsx

@@ -1,6 +1,6 @@
 "use client";
 
-import { useRef, useState } from "react";
+import { useEffect, useRef, useState } from "react";
 import LotteryWheel from "./LotteryWheel";
 import styles from "./style.module.scss";
 const CashMainCom = () => {
@@ -87,6 +87,11 @@ const DrawMain = () => {
         },
     ]);
     const myLucky = useRef<any>();
+    const titleRef = useRef<any>(null);
+
+    useEffect(() => {
+        const ctx = titleRef.current;
+    }, []);
     return (
         <div
             className={"relative mt-[260px] flex h-[3rem] items-center justify-center"}
@@ -96,54 +101,35 @@ const DrawMain = () => {
             <img
                 src="/wheels/header-bg.png"
                 alt=""
-                className={"absolute -top-[15%] z-10 h-[1.4889rem]"}
+                className={"absolute -top-[13%] z-10 h-[1.4rem]"}
             />
+            <canvas id={"titleCanvas"} ref={titleRef} />
 
-            <svg width="100%" height="2.7778rem" className={"absolute -top-[15%] z-[11]"}>
-                <path
-                    d="M 63 162 C 119 36, 341 0,566 168"
-                    stroke="blue"
-                    stroke-width="4"
-                    id="circle"
-                    fill="transparent"
-                />
-                <text
-                    style={{
-                        fill: "#ff3333",
-                        fontSize: "20px",
-                        fontWeight: "bold",
-                        textShadow: "0.1em 0.1em rgba(0,0,0,0.5)",
-                    }}
-                >
-                    <textPath xlinkHref="#circle" textAnchor="middle" startOffset="50%" dy="0">
-                        <tspan>Lorem ipsum dolor sit amet.</tspan>
-                    </textPath>
-                </text>
-            </svg>
-            {/*<svg viewBox="0 -15 200 50" style={{ width: "100%", height: "100%" }}>*/}
-            {/*    /!*<path d="M0 30 C 50 5, 150 5 200 30" fill="transparent" id="circle" />*!/*/}
-
+            {/*<svg width="100%" height="2.7778rem" className={"absolute -top-[15%] z-[11]"}>*/}
             {/*    <path*/}
-            {/*        d="M0 100 C 100 0, 100 0, 200 100"*/}
-            {/*        fill="transparent"*/}
+            {/*        d="M 63 162 C 119 36, 341 0,470 120"*/}
             {/*        stroke="blue"*/}
-            {/*        stroke-width="2"*/}
+            {/*        stroke-width="4"*/}
             {/*        id="circle"*/}
+            {/*        fill="transparent"*/}
             {/*    />*/}
 
             {/*    <text*/}
             {/*        style={{*/}
             {/*            fill: "#ff3333",*/}
-            {/*            fontSize: "20px",*/}
+            {/*            fontSize: "30px",*/}
             {/*            fontWeight: "bold",*/}
             {/*            textShadow: "0.1em 0.1em rgba(0,0,0,0.5)",*/}
             {/*        }}*/}
             {/*    >*/}
             {/*        <textPath xlinkHref="#circle" textAnchor="middle" startOffset="50%" dy="0">*/}
-            {/*            <tspan>Lorem ipsum dolor sit amet.</tspan>*/}
+            {/*            <tspan>*/}
+            {/*                Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam, libero.*/}
+            {/*            </tspan>*/}
             {/*        </textPath>*/}
             {/*    </text>*/}
             {/*</svg>*/}
+
             <img src={"/wheels/outer-circle.png"} className={"absolute h-[100%]"} />
 
             {/*<img src={"/wheels/inner-circle.png"} className={"absolute h-[98%]"} />*/}

+ 2 - 1
src/app/globals.scss

@@ -15,7 +15,7 @@
   --swiper-pagination-color: #fff;
   --swiper-pagination-bullet-active-bg: #fff;
   --swiper-pagination-bullet-inactive-color: hsla(0, 0%, 100%, .8);
-
+  --primary-color: #ff6a01;
 }
 .home-banner{
   --swiper-pagination-bullet-width: 0.23rem;
@@ -34,6 +34,7 @@
   --bg-color:#000000;
   --adm-button-text-color: #fff;
   //--adm-color-primary: #fff;
+
 }
 
 * {

+ 8 - 0
src/types/index.ts

@@ -50,3 +50,11 @@ export type Result<T> = {
     data: T;
 };
 export type Response<T> = T extends any[] ? Result<T> & { page: Pagination } : Result<T>;
+
+// 钱包类型
+export enum WalletEnum {
+    Bonus = "Bonus",
+    Balance = "Balance",
+    Free = "Free",
+    Replay = "Replay",
+}

+ 1 - 1
tailwind.config.ts

@@ -35,7 +35,7 @@ const config: Config = {
             },
         },
         colors: {
-            "primary-color": "#ff6a01",
+            "primary-color": "var(--primary-color)",
             "linear-color": "linear-gradient(180deg, #ffaa30, #ffe6be)",
         },
     },