zhejiushizhuce 2 лет назад
Родитель
Сommit
a5fa1b660c

+ 2 - 1
src/components/GameList/index.jsx

@@ -268,7 +268,8 @@ const GameList=({data,status,reqMore,user})=>{
         if (reqMore){
             let page=Number(data.page)+1;
             let tabtype=data.tabtype;
-            reqMore(tabtype,page);
+            let id=data.id;
+            reqMore(id,tabtype,page);
         }
     }
     const renderShowMoreBtn=()=>{

+ 8 - 3
src/components/GameTabs/index.jsx

@@ -1,7 +1,8 @@
 import styles from "@components/GameTabs/styles.module.scss";
-import React, {Fragment, useEffect, useState} from "react";
+import React, {Fragment, Suspense, useEffect, useState} from "react";
 import symbol from '@assets/symbol-defs.svg';
 import AllWidgets from "@widgets/index";
+import SmallLoading from "@components/SmallLoading";
 const GameTabs=({data})=>{
     const [tabIndex, setTabIndex] = useState(1);
     // data={
@@ -47,6 +48,7 @@ const GameTabs=({data})=>{
     const renderTabs=()=>{
         let tabs=data.tabs;
         if (tabs==null)tabs=[];
+        if (tabs.length===0)return (<></>);
         return (
             <div className={styles.game_tabs}>
                 {
@@ -54,7 +56,7 @@ const GameTabs=({data})=>{
                         return (
                             <button key={index} onClick={()=>{
                                 changeTab(item.tabtype);
-                            }} className={`${styles.tab_item} ${item.tabtype==tabIndex?styles.active:''}`}>
+                            }} className={`${styles.tab_item} ${item.tabtype===tabIndex?styles.active:''}`}>
                                 <svg className={styles.icon}>
                                     <use xlinkHref={`${symbol}#${item.icon}`} />
                                 </svg>
@@ -81,6 +83,7 @@ const GameTabs=({data})=>{
     }
     const renderModule=()=>{
         let list=getModules();
+        if (list==null||list.length===0)return (<></>);
         return (
             <>
                 {
@@ -89,7 +92,9 @@ const GameTabs=({data})=>{
                         if (Comp==null)return (<></>);
                         return (
                             <Fragment key={index}>
-                                <Comp data={item}></Comp>
+                                <Suspense fallback={<SmallLoading/>}>
+                                    <Comp data={item}></Comp>
+                                </Suspense>
                             </Fragment>
                         )
                     })

+ 3 - 2
src/features/api.js

@@ -75,14 +75,15 @@ export const reqPageModules=createAsyncThunk(
 export const reqGameList=createAsyncThunk(
     APP_GAME_LIST,
     async (arg,thunkAPI) => {
-        const {mkey,tabtype,page}=arg;
+        const {mkey,tabtype,page,id}=arg;
         // https://api.ouro777.com/game/gameList/?type=2&page=2
         // const url=APP_GAME_LIST+"?type="+tabtype+"&page="+page;
         let params={
             url:APP_GAME_LIST,
             params:{
                 type:tabtype,
-                page:page
+                // page:page
+                id:id,
             }
         }
         const response = await Http.get(params);

+ 2 - 2
src/widgets/ModuleGameList/index.jsx

@@ -11,8 +11,8 @@ const ModuleGameList=({data})=>{
     const dispatch = useDispatch();
     const status=useSelector(getGameListStatus(data._mkey));
     const user=useSelector(getUserInfo);
-    const reqMore=(tabtype,page)=>{
-        dispatch(reqGameList({mkey:data._mkey,tabtype,page}));
+    const reqMore=(id,tabtype,page)=>{
+        dispatch(reqGameList({mkey:data._mkey,id,tabtype,page}));
     }
     return (
         <div className={``}>

+ 12 - 6
src/widgets/ModuleGameTabs/index.jsx

@@ -7,9 +7,9 @@ const ModuleGameTabs=({data})=>{
     if (data==null)data={data:[]}
     const tabdata={};
     const parseTabs=()=>{
-        let tabs=[];
+        let tabs=data.tabs!=null&&data.tabs.length>0?data.tabs:[];
         let items=data.data;
-        if (items){
+        if (items&&tabs.length===0){
             let temp={};
             for (let i = 0; i < items.length; i++) {
                 let item=items[i];
@@ -27,11 +27,17 @@ const ModuleGameTabs=({data})=>{
     }
     parseTabs();
     return (
-        <div className={``}>
-            <GameTabs data={tabdata}>
+        <>
+            {
+                tabdata.tabs.length>0? (
+                    <div className={``}>
+                        <GameTabs data={tabdata}>
 
-            </GameTabs>
-        </div>
+                        </GameTabs>
+                    </div>
+                ):(<></>)
+            }
+        </>
     )
 }
 export default ModuleGameTabs;