Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b120bea

Browse files
committed
update
1 parent 287254b commit b120bea

File tree

9 files changed

+40
-36
lines changed

9 files changed

+40
-36
lines changed

‎package.json‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,19 @@
1414
"@loadable/component": "^5.15.3",
1515
"@rematch/core": "^2.1.0",
1616
"antd": "^4.16.13",
17-
"axios": "^0.21.4",
18-
"history": "^4.10.1",
17+
"axios": "^1.3.4",
1918
"lodash": "^4.17.21",
2019
"normalize.css": "^8.0.1",
2120
"qs": "^6.11.0",
2221
"react": "^18.2.0",
2322
"react-dom": "^18.2.0",
2423
"react-redux": "^7.2.5",
25-
"react-router-cache-route": "^1.11.1",
2624
"react-router-dom": "^6.8.2",
2725
"react-use": "^17.3.1",
2826
"react-vcode": "1.0.11",
2927
"redux": "^4.1.1"
3028
},
3129
"devDependencies": {
32-
"@types/history": "^4.7.9",
3330
"@types/loadable__component": "^5.13.4",
3431
"@types/lodash": "^4.14.175",
3532
"@types/mockjs": "^1.0.4",

‎src/components/Bread/index.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/** 通用动态面包屑 **/
22
import React, { useMemo } from "react";
3-
import {useLocation} from 'react-router-dom';
3+
import {useLocation} from "react-router-dom";
44
import { Breadcrumb } from "antd";
55
import { EnvironmentOutlined } from "@ant-design/icons";
66
import "./index.less";

‎src/components/Menu/index.tsx‎

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// ==================
66
import React, { useState, useEffect, useCallback, useMemo } from "react";
77
import { Layout, Menu as MenuAntd } from "antd";
8-
import { Link, useNavigate,useLocation } from "react-router-dom";
8+
import { Link, useNavigate,useLocation } from "react-router-dom";
99
import { cloneDeep } from "lodash";
1010

1111
const { Sider } = Layout;
@@ -50,23 +50,26 @@ export default function MenuCom(props: Props): JSX.Element {
5050

5151
// 菜单被选择
5252
const onSelect = (e: any) => {
53-
if(e?.key){
53+
if(e?.key){
5454
navigate(e.key);
5555
}
56-
}
56+
};
5757

5858
// 工具 - 递归将扁平数据转换为层级数据
59-
const dataToJson = useCallback((one: Menu | undefined, data: Menu[]): Menu[] | undefined => {
60-
let kids;
61-
if (!one) {
62-
// 第1次递归
63-
kids = data.filter((item: Menu) => !item.parent);
64-
} else {
65-
kids = data.filter((item: Menu) => item.parent === one.id);
66-
}
67-
kids.forEach((item: Menu) => (item.children = dataToJson(item, data)));
68-
return kids.length ? kids : undefined;
69-
}, []);
59+
const dataToJson = useCallback(
60+
(one: Menu | undefined, data: Menu[]): Menu[] | undefined => {
61+
let kids;
62+
if (!one) {
63+
// 第1次递归
64+
kids = data.filter((item: Menu) => !item.parent);
65+
} else {
66+
kids = data.filter((item: Menu) => item.parent === one.id);
67+
}
68+
kids.forEach((item: Menu) => (item.children = dataToJson(item, data)));
69+
return kids.length ? kids : undefined;
70+
},
71+
[]
72+
);
7073

7174
// 构建树结构
7275
const makeTreeDom = useCallback((data: Menu[]): JSX.Element[] => {

‎src/models/app.ts‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,7 @@ export default {
8787
},
8888

8989
/** 修改了角色/菜单/权限信息后需要更新用户的roles,menus,powers数据 **/
90-
async updateUserInfo(
91-
payload: null,
92-
rootState: RootState
93-
): Promise<any> {
90+
async updateUserInfo(payload: null, rootState: RootState): Promise<any> {
9491
/** 2.重新查询角色信息 **/
9592
const userinfo: UserInfo = rootState.app.userinfo;
9693

‎src/pages/Home/index.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export default function HomePageContainer(): JSX.Element {
1212
<img src={ImgLogo} />
1313
<div className="title">React-admin</div>
1414
<div className="info">
15-
标准React+Redux分层结构,react17、router4、antd4、webpack5、ES6+
15+
标准后台管理系统解决方案,react18、router6、rematch、antd5、vite4、ES6+
1616
</div>
1717
<div className="info">动态菜单配置,权限精确到按钮</div>
1818
</div>

‎src/pages/System/MenuAdmin/index.type.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export type Props = {
2828

2929
export interface TreeSourceData {
3030
id: number; // ID,添加时可以没有id
31-
key: string|number;
31+
key: string|number;
3232
title: string; // 标题
3333
icon: string; // 图标
3434
url: string; // 链接路径
@@ -37,4 +37,4 @@ export interface TreeSourceData {
3737
sorts: number; // 排序编号
3838
conditions: number; // 状态,1启用,-1禁用
3939
children?: TreeSourceData[]; // 子菜单
40-
}
40+
}

‎src/pages/System/PowerAdmin/index.type.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export type SearchInfo = {
3838

3939
export interface TreeSourceData {
4040
id: number; // ID,添加时可以没有id
41-
key: string|number;
41+
key: string|number;
4242
title: string; // 标题
4343
icon: string; // 图标
4444
url: string; // 链接路径
@@ -47,4 +47,4 @@ export interface TreeSourceData {
4747
sorts: number; // 排序编号
4848
conditions: number; // 状态,1启用,-1禁用
4949
children?: TreeSourceData[]; // 子菜单
50-
}
50+
}

‎src/util/axios.ts‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
import { baseUrl } from "../config";
44
import axios from "axios";
55

6-
// 不需要下面这些mock配置,仅本地发布DEMO用
6+
/**
7+
* MOCK模拟数据
8+
* 不需要下面这些mock配置,仅本地用
9+
* 正式打包需要去掉
10+
* */
711
import Mock from "mockjs";
812
// @ts-ignore
913
import mock from "../../mock/app-data.js";

‎src/util/tools.ts‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,17 @@ const tools = {
135135
* 0 算有效值
136136
* @param {Object} obj 待处理的对象
137137
* **/
138-
clearNull<T>(obj: T): T {
139-
const temp: T = { ...obj };
140-
Object.keys(temp).forEach((key) => {
141-
if (temp[key] !== 0 && !temp[key]) {
142-
delete temp[key];
138+
clearNull<T>(obj: T): T {
139+
const temp: any = { ...obj };
140+
for (const key in temp) {
141+
if (temp.hasOwnProperty(key)) {
142+
const value = temp[key];
143+
if (value === null || value === undefined) {
144+
delete temp[key];
145+
}
143146
}
144-
});
145-
return temp;
147+
}
148+
return tempasT;
146149
},
147150
};
148151

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /