Przeglądaj źródła

配置我们的路由

zhejiushizhuce 2 lat temu
rodzic
commit
6f931d8083

+ 42 - 0
src/features/mainSlice.js

@@ -76,6 +76,48 @@ const generateRoutes=(routes,asyncRoutes=[])=>{
                         route.component="withdraw";
                     }
                     // if (route.path==="/sports"){
+                    //     route.subs=[
+                    //         {
+                    //             "id": 100,
+                    //             "parent_id": 4,
+                    //             "index": 100,
+                    //             "path": "/sports/soccer-1",
+                    //             "type": 0,
+                    //             "side": 1,
+                    //             "block": 1,
+                    //             "title": "Soccer",
+                    //             "icon": "icon_Soccer",
+                    //             "fill": ";;",
+                    //             "style": 1,
+                    //             "component": "Sport",
+                    //             "query": "",
+                    //             "login": 0,
+                    //             "lpath": "#\/signup",
+                    //             "state": 15,
+                    //             "subs": []
+                    //         },
+                    //         {
+                    //             "id": 101,
+                    //             "parent_id": 4,
+                    //             "index": 101,
+                    //             "path": "/sports/basketball-2",
+                    //             "type": 0,
+                    //             "side": 1,
+                    //             "block": 1,
+                    //             "title": "Basketball",
+                    //             "icon": "icon_Basketball",
+                    //             "fill": ";;",
+                    //             "style": 1,
+                    //             "component": "Sport",
+                    //             "query": "",
+                    //             "login": 0,
+                    //             "lpath": "#\/signup",
+                    //             "state": 15,
+                    //             "subs": []
+                    //         }
+                    //     ]
+                    // }
+                    // if (route.path==="/sports"){
                     //     route.type=ROUTE_TYPE_FULL;
                     // }
                     allMap[route.path]=route;

+ 3 - 0
src/layout/Navbar/index.jsx

@@ -498,6 +498,9 @@ const PageHeader = () => {
         if (LINKS===null||LINKS.length<=1){
             isShowH=false;
         }
+        if (pathname.startsWith(ROUTE_PATH.SPORTS)){
+            isShowH=true;
+        }
         setShowHeader(isShowH);
     },[pathname]);
     useEffect(()=>{

+ 38 - 3
src/widgets/WSport/index.jsx

@@ -1,10 +1,10 @@
 import styles from './styles.module.scss'
-import {useEffect, useRef} from "react";
+import {useEffect, useRef, useState} from "react";
 import {useThemeProvider} from "@contexts/themeContext";
 import {useDispatch, useSelector} from "react-redux";
 import {getBBConf, getUserID, getUserInfo} from "@features/mainSlice";
 import {APP_THEME} from "@constants/app";
-import {useNavigate} from "react-router-dom";
+import {useLocation, useNavigate} from "react-router-dom";
 import {ROUTE_PATH} from "@constants/routes";
 import {reqGameInfo} from "@features/api";
 const i18n=global.i18n;
@@ -20,6 +20,8 @@ const WSport=({})=>{
     const language=i18n.language;
     const navigate=useNavigate();
     const dispatch=useDispatch();
+    const {pathname} = useLocation();
+    const [sportPath,setSportPath]=useState("/")
     const refreshToken=async ()=>{
         return new Promise((resolve, reject) => {
             dispatch(reqGameInfo()).then(({payload})=>{
@@ -59,6 +61,7 @@ const WSport=({})=>{
             betSlipOffsetRight: 0,
             betSlipOffsetTop: 130,
             betslipZIndex: 100,
+            url:sportPath,
             onRouteChange: function() {},
             onLogin: function() {
                 navigate(ROUTE_PATH.SIGN_IN);
@@ -80,13 +83,45 @@ const WSport=({})=>{
             objInfo.bt=null;
         }
     }
+    useEffect(()=>{
+        if (pathname.startsWith(ROUTE_PATH.SPORTS)){
+            let sub=pathname.replace(ROUTE_PATH.SPORTS,"");
+            if (sub==="")sub="/";
+            setSportPath(sub);
+            if (objInfo.bt){
+                objInfo.bt.updateOptions({
+                    url:sub
+                })
+            }
+        }
+    },[pathname])
+    useEffect(()=>{
+        if (objInfo.bt){
+            if (bbConf==null)return null;
+            let bbtheme=bbConf.theme;
+            let themeIndex=0;
+            if (theme===APP_THEME.LIGHT)themeIndex=1;
+            let themeName=bbtheme[themeIndex];
+            objInfo.bt.updateOptions({
+                themeName:themeName
+            })
+        }
+    },[theme])
+    useEffect(()=>{
+        if (objInfo.bt){
+            objInfo.bt.updateOptions({
+                lang: language,
+            })
+        }
+    },[language])
     useEffect(()=>{
         clearBT();
         objInfo.bt=initBetby();
         return ()=>{
             clearBT();
         }
-    },[userID,theme,language])
+    },[userID])
+    //,theme,language
     return (
         <div id="betby" className={`${styles.container} ${isMobile()?styles.container_m:''}`}></div>
     )