|
@@ -16,8 +16,8 @@ import {
|
|
|
DownOutlined,
|
|
|
} from '@ant-design/icons';
|
|
|
import { useSelector } from 'react-redux';
|
|
|
-import { useNavigate, Link } from 'react-router-dom';
|
|
|
-import { useState, createElement } from 'react';
|
|
|
+import { useNavigate, Link, redirect } from 'react-router-dom';
|
|
|
+import { useState, createElement, useEffect } from 'react';
|
|
|
import defaultAvatar from '../logo.svg';
|
|
|
|
|
|
const { Header, Sider, Content, Footer } = Layout;
|
|
@@ -34,6 +34,18 @@ export default function Index() {
|
|
|
navigate(key);
|
|
|
}
|
|
|
|
|
|
+ // 退出登录
|
|
|
+ function logout() {
|
|
|
+ localStorage.clear();
|
|
|
+ navigate('/login');
|
|
|
+ }
|
|
|
+
|
|
|
+ useEffect(() => {
|
|
|
+ // 获取用户信息
|
|
|
+ const token = localStorage.getItem('token');
|
|
|
+ if (!token) navigate('/login');
|
|
|
+ }, []);
|
|
|
+
|
|
|
return (
|
|
|
<Layout>
|
|
|
<Sider
|
|
@@ -88,7 +100,7 @@ export default function Index() {
|
|
|
type: 'divider',
|
|
|
},
|
|
|
{
|
|
|
- label: '退出登录',
|
|
|
+ label: <span onClick={logout}>退出登录</span>,
|
|
|
key: '3',
|
|
|
},
|
|
|
],
|
|
@@ -97,7 +109,7 @@ export default function Index() {
|
|
|
>
|
|
|
<a onClick={(e) => e.preventDefault()}>
|
|
|
<Space>
|
|
|
- 超级管理员
|
|
|
+ {JSON.parse(localStorage.getItem('user') || '{}').nickname}
|
|
|
<DownOutlined />
|
|
|
</Space>
|
|
|
</a>
|