张涛 1 년 전
부모
커밋
f4c0c013bb
4개의 변경된 파일26개의 추가작업 그리고 40개의 파일을 삭제
  1. 2
    2
      src/layouts/AuthLayout/components/Header/User.jsx
  2. 1
    11
      src/layouts/AuthLayout/index.jsx
  3. 6
    0
      src/services/login.js
  4. 17
    27
      src/store/models/user.js

+ 2
- 2
src/layouts/AuthLayout/components/Header/User.jsx 파일 보기

@@ -113,8 +113,8 @@ export default (props) => {
113 113
   return (
114 114
     <Dropdown menu={{ items, onClick }}>
115 115
       <div className="user-info">
116
-        <Avatar size={24} src={user.avatar || <DefaultAvatar />} />
117
-        <span className="font">{user.name}</span>
116
+        <Avatar size={24} src={user.account || <DefaultAvatar />} />
117
+        <span className="font">{user.userName}</span>
118 118
         <ChangePassword user={user} ref={passRef} />
119 119
       </div>
120 120
     </Dropdown>

+ 1
- 11
src/layouts/AuthLayout/index.jsx 파일 보기

@@ -1,10 +1,8 @@
1
-import React, { useEffect } from "react";
1
+import React from "react";
2 2
 import { Spin } from "antd";
3 3
 import HtmlTitle from "./components/HtmlTitle";
4 4
 // import Main from './Main';
5 5
 import withLogin from "./withLogin";
6
-import { getToken } from "@/utils/token";
7
-import { useNavigate } from "react-router-dom";
8 6
 
9 7
 const Spinner = () => (
10 8
   <div
@@ -20,14 +18,6 @@ const Spinner = () => (
20 18
 );
21 19
 
22 20
 export default (props) => {
23
-  const navigator = useNavigate();
24
-
25
-  const token = getToken();
26
-  useEffect(() => {
27
-    if (!token) {
28
-      navigator("login");
29
-    }
30
-  }, [token]);
31 21
   const RequireLogin = React.lazy(() => {
32 22
     return withLogin(import("./Main"));
33 23
   });

+ 6
- 0
src/services/login.js 파일 보기

@@ -23,3 +23,9 @@ export const logout = (data) =>
23 23
  *查询当前登录状态
24 24
  */
25 25
 export const isLogin = (params) => request("/api/isLogin", { params })
26
+
27
+
28
+/**
29
+ * 获取当前用户信息
30
+ */
31
+export const currentUser = (params) => request("/api/current", { params })

+ 17
- 27
src/store/models/user.js 파일 보기

@@ -2,39 +2,29 @@ import { useState, useRef } from "react";
2 2
 import { defaultRoutes, authRoutes, mergeAuthRoutes } from "@/routes/routes";
3 3
 import { getMenuItems } from "@/routes/menus";
4 4
 // import { getAuthedRoutes } from "@/routes/permissions";
5
-import { isLogin } from "@/services/login";
5
+import { currentUser } from "@/services/login";
6 6
 
7
-export default function useUser () {
8
-  // const [user, setUser] = useState();
7
+export default function useUser() {
8
+  const [user, setUser] = useState({});
9 9
   const menusRef = useRef();
10 10
   const routesRef = useRef();
11 11
 
12
-  const getCurrentUser = () =>
13
-    new Promise((resolve, reject) => {
14
-      // isLogin()
15
-      //   .then((res) => {
16
-      // const { user } = res;
17
-      // const permissions = res;
18
-
19
-      // authRoutes 是所有待验证授权的路由
20
-      // authedRoutes 是已经被授权的路由
21
-      // const authedRoutes = authRoutes;
22
-
23
-      menusRef.current = getMenuItems(authRoutes);
24
-      routesRef.current = mergeAuthRoutes(defaultRoutes);
25
-      // console.log('menusRef.current', menusRef.current)
26
-
27
-      // setUser(user);
28
-      resolve();
29
-      // })
30
-
31
-    }).catch((e) => {
32
-      console.log(e)
33
-    });
12
+  const getCurrentUser = async () => 
13
+  new Promise((resolve, reject) => {
14
+    currentUser()
15
+      .then((res) => {
16
+        setUser(res);
17
+        menusRef.current = getMenuItems(authRoutes);
18
+        routesRef.current = mergeAuthRoutes(defaultRoutes);
19
+        // console.log('menusRef.current', menusRef.current)
20
+        resolve(res);
21
+      })
22
+      .catch(reject);
23
+  });
34 24
 
35 25
   return {
36
-    // user,
37
-    // setUser,
26
+    user,
27
+    setUser,
38 28
     getCurrentUser,
39 29
     menus: menusRef.current || [],
40 30
     routes: routesRef.current || [],