瀏覽代碼

no message

zhejiushizhuce 2 年之前
父節點
當前提交
c4c6236fa0

+ 9 - 1
src/features/mainSlice.js

@@ -2,6 +2,7 @@ import { initTrackAll ,trackEvent} from "../tracking/TrackAll"
 import {createAsyncThunk, createSlice} from "@reduxjs/toolkit";
 import {routes} from "@db/routes";
 import {
+    ROUTE_PATH,
     ROUTE_TYPE_CUSTOM,
     ROUTE_TYPE_FULL,
     ROUTE_TYPE_IN,
@@ -471,6 +472,13 @@ export const Main=createSlice({
         },
         updateServerKick:(state,action)=>{
             state.serverKick=action.payload;
+        },
+        updateGameRoute:(state,action)=>{
+            let route=state.allMap[ROUTE_PATH.GAME+"/*"];
+            if (route!=null){
+                let type=action.payload;
+                route.type=type;
+            }
         }
     },
     extraReducers: (builder) => {
@@ -491,7 +499,7 @@ export const Main=createSlice({
         buildReqReducer(builder,reqFavoGet,reducerFavoGet,null);
     },
 })
-export const {logout,updateUserInfo,updateUserScore,updateAddScore,updateGameLike,updateCurrGame,updateServerKick} = Main.actions;
+export const {logout,updateUserInfo,updateUserScore,updateAddScore,updateGameLike,updateCurrGame,updateServerKick,updateGameRoute} = Main.actions;
 //数据获取
 export const getFetchStatus=(state)=>{
     return state.main.status;

+ 10 - 3
src/layout/Layout.jsx

@@ -6,8 +6,8 @@ import AppContainer from "@layout/AppContainer";
 import React, {cloneElement, createRef, lazy, Suspense, useEffect, useRef, useState} from "react";
 import LoadingScreen from "@components/LoadingScreen";
 import {Route, Routes, useLocation, useNavigate} from "react-router-dom";
-import {useSelector} from "react-redux";
-import {isFullRoute, isLogined, routesIn, routesPop} from "@features/mainSlice";
+import {useDispatch, useSelector} from "react-redux";
+import {isFullRoute, isLogined, routesIn, routesPop, updateGameRoute} from "@features/mainSlice";
 import {preventDefault} from "@utils/helpers";
 import {useThemeProvider} from "@contexts/themeContext";
 import CRoute from "@layout/Routes";
@@ -25,7 +25,7 @@ import useAuthLockRoute from "@hooks/useAuthLockRoute";
 import WHallWheel from "@widgets/WCashWheel/WHallWheel/WHallWheel";
 import LoadingIn from "@components/Loading/LoadingIn";
 import WDPassBox from "@widgets/WWithdraw/PassBox/WDPassBox";
-import {ROUTE_PATH} from "@constants/routes";
+import {ROUTE_PATH, ROUTE_TYPE_FULL, ROUTE_TYPE_IN} from "@constants/routes";
 import DropCoins from "@components/DropCoins";
 import {toast} from "react-toastify";
 import useEdgeGesture from "@hooks/useEdgeGesture";
@@ -43,6 +43,8 @@ const Layout=({...props})=>{
     const navigate=useNavigate();
     const {getSidedGesture}=useEdgeGesture();
     const isGesture=getSidedGesture();
+    const mobile=isMobile();
+    const dispatch = useDispatch();
     // const {setLockPath}=useAuthLockRoute();
     useEffect(() => {
         // scroll to top on route change
@@ -52,6 +54,11 @@ const Layout=({...props})=>{
     useEffect(()=>{
         global.msgBox=msgBoxRef.current;
     },[msgBoxRef])
+    useEffect(()=>{
+        let routeType=ROUTE_TYPE_FULL;
+        if (!mobile)routeType=ROUTE_TYPE_IN;
+        dispatch(updateGameRoute(routeType));
+    },[mobile])
     const renderIn=()=>{
         let isShowSub=false;
         if (isMobile()&&isOpenSub)isShowSub=true;

+ 8 - 3
src/pages/Game.jsx

@@ -1,10 +1,15 @@
 import WGame from "@widgets/WGame";
+import {useThemeProvider} from "@contexts/themeContext";
+import WDGame from "@widgets/WGame/WDGame/WDGame";
 
 const Game=({...props})=>{
+    const {isMobile} = useThemeProvider();
     return (
-        <WGame {...props}>
-
-        </WGame>
+        <>
+            {
+                isMobile()?(<WGame {...props}/>):(<WDGame {...props}/>)
+            }
+        </>
     )
 }
 export default Game;

+ 17 - 0
src/widgets/WGame/WDGame/WDGame.jsx

@@ -0,0 +1,17 @@
+//桌面游戏容器
+import Spring from "@components/Spring";
+import styles from "./styles.module.scss";
+
+const WDGame=()=>{
+    const renderGame=()=>{
+
+    }
+    return (
+        <Spring type={"slideUp"}>
+            <div className={`${styles.container} page-max-width-wrap`}>
+
+            </div>
+        </Spring>
+    )
+}
+export default WDGame;

+ 10 - 0
src/widgets/WGame/WDGame/styles.module.scss

@@ -0,0 +1,10 @@
+.container{
+  display: flex;
+  flex-direction: column;
+  gap: 1rem;
+  margin-top:1.25rem;
+  margin-bottom: 2rem;
+}
+.game_area{
+
+}