module-menu 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/pages/ModuleMenu/index.jsx +26 -38
package/package.json
CHANGED
|
@@ -7,49 +7,38 @@ import _ from 'lodash';
|
|
|
7
7
|
import './index.less';
|
|
8
8
|
|
|
9
9
|
const ModuleMenu = ({ sysName, stash }) => {
|
|
10
|
-
|
|
11
|
-
const [sessionMenu, setsessionMenu] = useState([]);
|
|
10
|
+
const [sessionMenu, setSessionMenu] = useState([]);
|
|
12
11
|
const [showMenuList, setshowMenuList] = useState(false);
|
|
13
12
|
const [menuList, setMenuList] = useState([]);
|
|
14
|
-
const [menuListServer, setMenuListServer] = useState([]);
|
|
15
13
|
|
|
16
14
|
useEffect(() => {
|
|
17
|
-
|
|
18
|
-
setsessionMenu(newSessionMenu);
|
|
19
|
-
let newMenuList = getNewMenuList();
|
|
20
|
-
setMenuList(newMenuList);
|
|
15
|
+
getSessionMenu();
|
|
21
16
|
}, []);
|
|
22
17
|
|
|
23
|
-
const
|
|
24
|
-
const res = await Axios(
|
|
25
|
-
'get',
|
|
26
|
-
'/admin-api/system/user/getUserMenusList',
|
|
27
|
-
'',
|
|
28
|
-
{},
|
|
29
|
-
);
|
|
30
|
-
let menuListServers = [];
|
|
31
|
-
if (res.data.code === 0) {
|
|
32
|
-
menuListServers =
|
|
33
|
-
res.data.data &&
|
|
34
|
-
res.data.data.map((item) => {
|
|
35
|
-
return {
|
|
36
|
-
...item,
|
|
37
|
-
path: item.path.indexOf('/') !== -1 ? item.path : '/' + item.path,
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
return menuListServers;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const getSessionMenu = async () => {
|
|
18
|
+
const getSessionMenu = () => {
|
|
45
19
|
if (!stash) {
|
|
46
20
|
const menuObj = JSON.parse(sessionStorage.getItem('bigdata-menu'));
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return [];
|
|
21
|
+
let menuGet = menuObj?.content || [];
|
|
22
|
+
setSessionMenu(menuGet);
|
|
23
|
+
getNewMenuList(menuGet);
|
|
51
24
|
} else {
|
|
52
|
-
|
|
25
|
+
Axios('get', '/admin-api/system/user/getUserMenusList', '', {})
|
|
26
|
+
.then((res) => {
|
|
27
|
+
if (res.data.code === 0) {
|
|
28
|
+
let menuGet =
|
|
29
|
+
res.data.data &&
|
|
30
|
+
res.data.data.map((item) => {
|
|
31
|
+
return {
|
|
32
|
+
...item,
|
|
33
|
+
path:
|
|
34
|
+
item.path.indexOf('/') !== -1 ? item.path : '/' + item.path,
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
setSessionMenu(menuGet);
|
|
38
|
+
getNewMenuList(menuGet);
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
.catch((e) => console.log('e', e));
|
|
53
42
|
}
|
|
54
43
|
};
|
|
55
44
|
|
|
@@ -127,11 +116,10 @@ const ModuleMenu = ({ sysName, stash }) => {
|
|
|
127
116
|
window.location.href = '/#/index';
|
|
128
117
|
}
|
|
129
118
|
};
|
|
130
|
-
const getNewMenuList = () => {
|
|
131
|
-
const sessionMenu = getSessionMenu();
|
|
119
|
+
const getNewMenuList = (menuGet) => {
|
|
132
120
|
let newMenuList = _.cloneDeep(menuListInit(stash));
|
|
133
|
-
if (
|
|
134
|
-
const pathList =
|
|
121
|
+
if (menuGet) {
|
|
122
|
+
const pathList = menuGet.map((item) => item.path);
|
|
135
123
|
// 过滤掉没有权限的子菜单(PS:如果模块下面子菜单都没有,则不显示该模块)
|
|
136
124
|
for (let index = newMenuList.length - 1; index >= 0; index--) {
|
|
137
125
|
const menuItem = newMenuList[index];
|