Kaynağa Gözat

fix: 增加轮询

Before 1 yıl önce
ebeveyn
işleme
cef915e5d3

+ 2 - 1
.env.development

@@ -1 +1,2 @@
-NEXT_PUBLIC_BASE_URL=http://206.168.191.125:8800
+NEXT_PUBLIC_BASE_URL=http://192.168.0.66:8800
+#NEXT_PUBLIC_BASE_URL=http://206.168.191.125:8800

+ 12 - 12
messages/br.json

@@ -6,7 +6,7 @@
     "Sobre":"SOBRE NÓS",
     "Contante": "Contate-nos",
     "Como": "COMO JOGAR",
-    "Share": "9F.COM irá responder todas suas dúvidas. Entre em contato usando uma das formas abaixo.",
+    "Share": "bcwin.com irá responder todas suas dúvidas. Entre em contato usando uma das formas abaixo.",
     "Service": "Posso ajudar?",
     "aml": "AML Policy",
     "terms": "Terms & Conditions",
@@ -17,7 +17,7 @@
     "esportes":  "Esportes Regras",
     "search": "Procure Jogos ou Provedores",
     "licencia":  "LICENÇA",
-    "desc": "9F.COM é operada conjunta pela Dubet n.v. e pela MLsoft, número de registro da empresa 142919, com endereço registrado em Zuikertuintjeweg Z/N (Zuikertuin Tower) Curação e é licenciada e autorizada pelo governo de Curação. A 9F.COM opera sob a Master License of Gaming Services Provider, N.V. Número da Licença: ",
+    "desc": "bcwin.com é operada conjunta pela Dubet n.v. e pela MLsoft, número de registro da empresa 142919, com endereço registrado em Zuikertuintjeweg Z/N (Zuikertuin Tower) Curação e é licenciada e autorizada pelo governo de Curação. A bcwin.com opera sob a Master License of Gaming Services Provider, N.V. Número da Licença: ",
     "desclink":  "GLH-OCCHKTW0705152022",
     "desc2": "1. Este produto é para uso de usuários maiores de 18 anos e é destinado apenas para fins de entretenimento. ",
     "desc3":  "2. este jogo contém compras no app.",
@@ -48,7 +48,7 @@
   },
   "ButtonGroup": {
     "first": "Promoções",
-    "second": "Originais da 9F",
+    "second": "Originais da bcwin",
     "third": "Esportes",
     "fourth": "Live Casino",
     "Fifth": "App"
@@ -69,12 +69,12 @@
     "forgetPwd": "Esqueci minha senha?",
     "registerGo": "Criar Conta Nova",
     "loginGo": "Já tem uma conta? Log in",
-    "Googletitle": "Bem Vindo ao 9F.COM",
+    "Googletitle": "Bem Vindo ao bcwin.com",
     "Googletext": "Entrar com Google+",
     "registerSuc": "注册成功",
-    "registerGoogletitle": "Bem-vindo à 9F.COM",
+    "registerGoogletitle": "Bem-vindo à bcwin.com",
     "registerGoogletext": "Registre-se com Google+",
-    "domainName": "© 9F.COM todos direitos reservados"
+    "domainName": "© bcwin.com todos direitos reservados"
   },
   "ResetPhonePage": {
     "enterCorrectphone":"请输入正确的手机号",
@@ -162,12 +162,12 @@
     "content1":"Compartilhe este link de indicação com seus amigos",
     "https":"https://www.9f.com/br/m/r/xxxxxx",
     "Cópia":"Cópia",
-    "title2":"Grupo CHAT entre agentes por telegram oficial do 9F.COM ",
+    "title2":"Grupo CHAT entre agentes por telegram oficial do bcwin.com ",
     "content2-1":"Clique o botão de ícone no lado esquerdo, junte-se ao nosso grupo afiliado do TG oficial Vamos oferecer- lo as palavras afiliadas profissionais e as ferramentas afiliadas profissionais. E ajudar-lo obter bem os benefícios reais.",
     "content2-2":"Se você tem um grande público e seguidores. Temos condições especiais para você personalizar seu programa de indicações! para mais detalhes, por favorcontate- nos:",
-    "business":"business@9f.com",
+    "business":"business@bcwin.com",
     "title3":"Regras de recompensas por comissão‰",
-    "content3":"Ganhe dinheiro indicando amigos para o 9F.COM, você ganha mais de 80% em recompensas de comissão!",
+    "content3":"Ganhe dinheiro indicando amigos para o bcwin.com, você ganha mais de 80% em recompensas de comissão!",
     "number":"Número de indicações > ",
     "money":"todo mês!",
     "title4":"Unlimited development of subordinates",
@@ -200,12 +200,12 @@
     "Opa":"Opa! Ainda não há dados!"
   },
   "FaqPage":{
-    "title1":"O que é o programa de afiliados 9F.COM?",
-    "content1":"9F.COM Afiliados é um programa onde oferecemos a você a oportunidade de ganhar dinheiro todos os dias, simplesmente nos dando a chance de receber mais jogadores.",
+    "title1":"O que é o programa de afiliados bcwin.com?",
+    "content1":"bcwin.com Afiliados é um programa onde oferecemos a você a oportunidade de ganhar dinheiro todos os dias, simplesmente nos dando a chance de receber mais jogadores.",
     "title2":"QUANTO CUSTA PARA PARTICIPAR?",
     "content2":"Absolutamente nada. É totalmente gratuito.",
     "title3":"Posso obter benefícios mesmo se não tiver um site? ",
-    "content3":"Claro que pode. Podemos fornecer todas as ferramentas de marketing de que você precisa para promover a 9F.COM offline nas mídias sociais ou por e-mail.",
+    "content3":"Claro que pode. Podemos fornecer todas as ferramentas de marketing de que você precisa para promover a bcwin.com offline nas mídias sociais ou por e-mail.",
     "title4":"QUANTO EU GANHO?",
     "content4":"Como parte da nossa rede de afiliados, você será pago em um modelo de compartilhamento de receita. Você ganha mais de 80% de recompensa de comissão.",
     "link1":"Regras de recompensa da comissão",

+ 1 - 0
package.json

@@ -11,6 +11,7 @@
   },
   "dependencies": {
     "@nextui-org/react": "^2.4.2",
+    "ahooks": "^3.8.0",
     "antd-mobile": "^5.37.1",
     "axios": "^1.7.2",
     "clsx": "^2.1.1",

Dosya farkı çok büyük olduğundan ihmal edildi
+ 213 - 210
pnpm-lock.yaml


+ 1 - 1
src/app/[locale]/page.tsx

@@ -10,7 +10,7 @@ import HomeSwiper from "./_home/HomeSwiper";
 
 const App: FC = (props) => {
     const t = useTranslations("global");
-
+    console.log(`🎯🎯🎯🎯🎯-> in page.tsx on 13`);
     return (
         <Layout>
             <div>

+ 22 - 4
src/components/Header/index.tsx

@@ -1,8 +1,9 @@
+import { getUserMoneyApi } from "@/api/user";
 import { Link } from "@/i18n";
 import { useGlobalStore } from "@/stores";
 import clsx from "clsx";
 import { useTranslations } from "next-intl";
-import { FC, ReactNode } from "react";
+import { FC, ReactNode, useEffect, useRef, useState } from "react";
 import HeaderTitle from "./HerderTitle";
 import styles from "./style.module.scss";
 /**
@@ -20,7 +21,24 @@ const cs = clsx(["iconfont icon-gengduo", styles.menu]);
 const DefaultHeader: FC<HeaderProps> = (props) => {
     const { menuHandler } = props;
     const t = useTranslations("Header");
-    const state = useGlobalStore();
+    const { token, userInfo } = useGlobalStore();
+    const [money, setMoney] = useState(0);
+
+    const timer = useRef<NodeJS.Timeout | null>(null);
+
+    useEffect(() => {
+        if (token) {
+            timer.current = setInterval(() => {
+                getUserMoneyApi().then((res) => {
+                    setMoney(res.data.Score);
+                });
+            }, 5000);
+        }
+        return () => {
+            clearTimeout(timer.current!);
+            timer.current = null;
+        };
+    }, [token]);
 
     return (
         <div className={styles.headerMain}>
@@ -30,12 +48,12 @@ const DefaultHeader: FC<HeaderProps> = (props) => {
             <HeaderTitle />
             <div className={styles.headerRight}>
                 <div className={styles.right}>
-                    {state.userInfo ? (
+                    {userInfo ? (
                         <>
                             <Link href={"/profile"}>
                                 <div className={"flex items-center text-[0.12rem]"}>
                                     <i className={"iconfont icon-yonghu mr-[0.03rem]"}></i>
-                                    <span>0.00</span>
+                                    <span>{money}</span>
                                 </div>
                             </Link>
 

+ 6 - 1
src/utils/server/axios.ts

@@ -49,6 +49,7 @@ export default class Request {
                     if (globalStore) {
                         let userInfo = JSON.parse(globalStore);
                         config.headers["Token"] = userInfo?.state?.token;
+                        // config.headers["lang"] = 111;
                     }
                     if (config && config?.toast) {
                         Toast.show({
@@ -99,7 +100,11 @@ export default class Request {
                     if (transform && transform.responseInterceptor) {
                         res = transform.responseInterceptor(res);
                     }
-                    resolve(res?.data);
+                    if (res && res.data && res.data.code === 200) {
+                        resolve(res?.data);
+                    } else {
+                        reject(res);
+                    }
                 })
                 .catch((error) => {
                     reject(error);

+ 4 - 4
src/utils/server/index.ts

@@ -18,16 +18,16 @@ const server = new Request({
         },
         responseInterceptorCatch: (err) => {
             const { response } = err;
-            if (response && !response.data) return;
+            if (!response) return err;
             // @ts-ignore
-            const { code } = response!.data;
+            const { code } = response.data;
             switch (code) {
                 case 401:
                     window && (location.href = "/br/login");
                     break;
+                default:
+                    return err;
             }
-
-            return err;
         },
     },
 });

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor