Procházet zdrojové kódy

切换账号清理数据

zhejiushizhuce před 2 roky
rodič
revize
14dee41348

+ 2 - 1
src/App.js

@@ -151,6 +151,8 @@ const App = () => {
     const reqInitData=()=>{
         //未初始化
         if (userID===-1)return;
+        //onChangeUser
+        dispatch(onChangeUser(userInfo));
         if (userID>0){
             dispatch(connectHall(hallServerUrl));
             localStorageSet(LOCAL_WHEEL_INVITE_CODE,"");
@@ -177,7 +179,6 @@ const App = () => {
         // dispatch(reqAgentCheck());
         //activity
         // dispatch(reqGameActivity());
-        dispatch(onChangeUser(userInfo));
     }
     const appInitData=()=>{
         // scroll to top on route change

+ 3 - 2
src/components/GameItem/index.jsx

@@ -11,7 +11,7 @@ import LazyImgix from "@components/Imgix/LazyImgix";
 import {ReactComponent as UNLikeIcon} from "@assets/singlesvg/xiai_bai.svg";
 import {ReactComponent as LikeIcon} from "@assets/singlesvg/xiai_hong.svg";
 import {useDispatch, useSelector} from "react-redux";
-import {getGameLike, updateGameLike} from "@features/mainSlice";
+import {getGameLike, isLogined, updateGameLike} from "@features/mainSlice";
 import {updatePageGameLike} from "@features/pageSlice";
 import SvgIcon from "@components/SvgIcon";
 import {reqUpdateFavoInfo} from "@features/api";
@@ -19,6 +19,7 @@ import {reqUpdateFavoInfo} from "@features/api";
 const GameItem=({data,handleRoom,...props})=>{
     const navigate=useNavigate();
     const like=useSelector(getGameLike(data.id));
+    const isLogin=useSelector(isLogined);
     const dispatch=useDispatch();
     const renderOlicon=()=>{
         return (
@@ -64,7 +65,7 @@ const GameItem=({data,handleRoom,...props})=>{
         let info={id:data.id,data:data,like:(1-like)}
         dispatch(updateGameLike(info));
         dispatch(updatePageGameLike(info));
-        dispatch(reqUpdateFavoInfo(info));
+        if(isLogin)dispatch(reqUpdateFavoInfo(info));
     }
     // return (
     //     <div className={styles.grid_item}>

+ 3 - 0
src/features/mainSlice.js

@@ -456,6 +456,9 @@ export const Main=createSlice({
                 }
             }
             // localStorageSet(LOCAL_FAVO_IDS,JSON.stringify(favorites));
+        },
+        onSliceChangeUser:(state,action)=>{
+            state.favorites=[];
         }
     },
     extraReducers: (builder) => {

+ 14 - 1
src/features/pageSlice.js

@@ -162,7 +162,20 @@ export const Page=createSlice({
             }
             // if (like===1)localStorageSet(LOCAL_FAVO_DATA+"_"+data.id,JSON.stringify(data));
             // else localStorageRemove(LOCAL_FAVO_DATA+"_"+data.id)
-        })
+        }),
+        onSliceChangeUser:(state,action)=>{
+            state.favoriteData=[];
+            let favoriteKeys=state.favoriteKeys;
+            if (favoriteKeys&&favoriteKeys.length>0) {
+                for (let i = 0; i < favoriteKeys.length; i++) {
+                    let mkey = favoriteKeys[i];
+                    let module = getModuleData(state.pageData, mkey);
+                    if (module != null) {
+                        module.data=[];
+                    }
+                }
+            }
+        }
     },
     extraReducers: (builder) => {
         buildReqReducer(builder,reqPageModules,reducerPage,pageStatus);