Ver código fonte

🐛进登录页面把权限的信息初始化,防止登录成功之后进到首页,数据渲染问题

shaogen1995 2 anos atrás
pai
commit
d2bc61a8aa
3 arquivos alterados com 22 adições e 22 exclusões
  1. 0 3
      src/pages/Home/index.tsx
  2. 13 18
      src/pages/Layout/index.tsx
  3. 9 1
      src/pages/Login/index.tsx

+ 0 - 3
src/pages/Home/index.tsx

@@ -44,9 +44,6 @@ export default function Home() {
   );
 
   useEffect(() => {
-    tabListTemp.forEach((v) => (v.done = false));
-    tempDone.forEach((v) => (v.done = false));
-
     powerInfo.forEach((v: any) => {
       if (v.id === 100) tabListTemp[0].done = tempDone[0].done = true;
       if (v.id === 200) tabListTemp[1].done = true;

+ 13 - 18
src/pages/Layout/index.tsx

@@ -1,7 +1,4 @@
-import {
-  getTokenInfo,
-  removeTokenInfo,
-} from "@/utils/storage";
+import { getTokenInfo, removeTokenInfo } from "@/utils/storage";
 import styles from "./index.module.scss";
 import classNames from "classnames";
 import { useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -90,20 +87,18 @@ function Layout() {
         name: "系统管理",
       });
 
-    if (powerInfo.length) {
-      powerInfo.forEach((v: any) => {
-        if (
-          v.id === 100 ||
-          v.id === 200 ||
-          v.id === 300 ||
-          v.id === 400 ||
-          v.id === 500 ||
-          v.id === 600
-        ) {
-          tabListTemp[1].done = true;
-        }
-      });
-    } else tabListTemp[1].done = false;
+    powerInfo.forEach((v: any) => {
+      if (
+        v.id === 100 ||
+        v.id === 200 ||
+        v.id === 300 ||
+        v.id === 400 ||
+        v.id === 500 ||
+        v.id === 600
+      ) {
+        tabListTemp[1].done = true;
+      }
+    });
 
     setTabList(tabListTemp.filter((v) => v.done));
   }, [powerInfo, tabListTemp]);

+ 9 - 1
src/pages/Login/index.tsx

@@ -2,14 +2,22 @@ import styles from "./index.module.scss";
 
 import { Input, Button, message } from "antd";
 import { UserOutlined, LockOutlined } from "@ant-design/icons";
-import { useState } from "react";
+import { useEffect, useState } from "react";
 import { Base64 } from "js-base64";
 import encodeStr from "@/utils/pass";
 import { userLoginAPI } from "@/store/action/login";
 import { setTokenInfo } from "@/utils/storage";
 import history from "@/utils/history";
+import { useDispatch } from "react-redux";
 
 export default function Login() {
+  const dispatch = useDispatch();
+
+  // 进登录页面把权限的信息初始化,防止登录成功之后进到首页,数据渲染问题
+  useEffect(() => {
+    dispatch({ type: "login/setAuthPageArr", payload: [] });
+  }, [dispatch]);
+
   // 账号密码
   const [userName, setUserName] = useState("");
   const [passWord, setPassWord] = useState("");