mirror of
https://github.com/PlayEdu/backend
synced 2025-12-23 07:09:27 +08:00
重构
This commit is contained in:
@@ -7,8 +7,8 @@ import { PerButton } from "../../compenents";
|
||||
import type { DataNode, TreeProps } from "antd/es/tree";
|
||||
import { DepartmentCreate } from "./compenents/create";
|
||||
import { DepartmentUpdate } from "./compenents/update";
|
||||
import { useSelector } from "../../store/hooks";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useSelector } from "react-redux";
|
||||
|
||||
const { confirm } = Modal;
|
||||
|
||||
@@ -20,7 +20,9 @@ interface Option {
|
||||
|
||||
const DepartmentPage = () => {
|
||||
const navigate = useNavigate();
|
||||
const permisssions = useSelector((state: any) => state.permisssions);
|
||||
const permissions = useSelector(
|
||||
(state: any) => state.loginUser.value.permissions
|
||||
);
|
||||
const [loading, setLoading] = useState<boolean>(true);
|
||||
const [refresh, setRefresh] = useState(false);
|
||||
const [treeData, setTreeData] = useState<any>([]);
|
||||
@@ -36,15 +38,15 @@ const DepartmentPage = () => {
|
||||
};
|
||||
|
||||
const through = (p: string) => {
|
||||
if (!permisssions) {
|
||||
if (!permissions) {
|
||||
return false;
|
||||
}
|
||||
return typeof permisssions[p] !== "undefined";
|
||||
return typeof permissions[p] !== "undefined";
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
getData();
|
||||
}, [refresh, permisssions]);
|
||||
}, [refresh, permissions]);
|
||||
|
||||
const getData = () => {
|
||||
setLoading(true);
|
||||
|
||||
@@ -1,7 +1,22 @@
|
||||
import { useDispatch } from "react-redux";
|
||||
import { Outlet } from "react-router-dom";
|
||||
import { loginAction } from "../../store/user/loginUserSlice";
|
||||
|
||||
const InitPage = () => {
|
||||
return <><Outlet /></>
|
||||
interface Props {
|
||||
loginData: any | null;
|
||||
}
|
||||
|
||||
const InitPage = (props: Props) => {
|
||||
const dispatch = useDispatch();
|
||||
if (props.loginData) {
|
||||
dispatch(loginAction(props.loginData));
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Outlet />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default InitPage;
|
||||
|
||||
@@ -4,15 +4,11 @@ import { Spin, Input, Button, message } from "antd";
|
||||
import { login, system } from "../../api/index";
|
||||
import { setToken } from "../../utils/index";
|
||||
import { useDispatch } from "react-redux";
|
||||
import {
|
||||
IsLoginActionCreator,
|
||||
SetUserActionCreator,
|
||||
SetPermisssionsActionCreator,
|
||||
} from "../../store/user/userActions";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import banner from "../../assets/images/login/banner.png";
|
||||
import icon from "../../assets/images/login/icon.png";
|
||||
import "./login.less";
|
||||
import { loginAction } from "../../store/user/loginUserSlice";
|
||||
|
||||
const LoginPage = () => {
|
||||
const dispatch = useDispatch();
|
||||
@@ -75,9 +71,7 @@ const LoginPage = () => {
|
||||
const getUser = () => {
|
||||
login.getUser().then((res: any) => {
|
||||
const data = res.data;
|
||||
dispatch(IsLoginActionCreator());
|
||||
dispatch(SetUserActionCreator(data.user));
|
||||
dispatch(SetPermisssionsActionCreator(data.permissions));
|
||||
dispatch(loginAction(data));
|
||||
setLoading(false);
|
||||
navigate("/");
|
||||
});
|
||||
|
||||
@@ -7,8 +7,8 @@ import { PerButton } from "../../../compenents";
|
||||
import type { DataNode, TreeProps } from "antd/es/tree";
|
||||
import { ResourceCategoryCreate } from "./compenents/create";
|
||||
import { ResourceCategoryUpdate } from "./compenents/update";
|
||||
import { useSelector } from "../../../store/hooks";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useSelector } from "react-redux";
|
||||
|
||||
const { confirm } = Modal;
|
||||
|
||||
@@ -20,7 +20,9 @@ interface Option {
|
||||
|
||||
const ResourceCategoryPage = () => {
|
||||
const navigate = useNavigate();
|
||||
const permisssions = useSelector((state: any) => state.permisssions);
|
||||
const permissions = useSelector(
|
||||
(state: any) => state.loginUser.value.permissions
|
||||
);
|
||||
const [loading, setLoading] = useState<boolean>(true);
|
||||
const [refresh, setRefresh] = useState(false);
|
||||
const [treeData, setTreeData] = useState<any>([]);
|
||||
@@ -32,17 +34,17 @@ const ResourceCategoryPage = () => {
|
||||
|
||||
useEffect(() => {
|
||||
getData();
|
||||
}, [refresh, permisssions]);
|
||||
}, [refresh, permissions]);
|
||||
|
||||
const onSelect = (selectedKeys: any, info: any) => {
|
||||
setSelectKey(selectedKeys);
|
||||
};
|
||||
|
||||
const through = (p: string) => {
|
||||
if (!permisssions) {
|
||||
if (!permissions) {
|
||||
return false;
|
||||
}
|
||||
return typeof permisssions[p] !== "undefined";
|
||||
return typeof permissions[p] !== "undefined";
|
||||
};
|
||||
|
||||
const getData = () => {
|
||||
|
||||
Reference in New Issue
Block a user