Skip to content

Commit 85b718f

Browse files
committed
fix: 修复非超级管理员 静态路由下添加错误
1 parent 79e9aa7 commit 85b718f

File tree

3 files changed

+23
-17
lines changed

3 files changed

+23
-17
lines changed

src/features/router/routerHooks.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ export function initAuthRoutes(addRoutes: (parent: string | null, route: RouteOb
2626
} else {
2727
// 非超级管理员
2828
const filteredRoutes = filterAuthRoutesByRoles(reactAuthRoutes, roles);
29-
filteredRoutes.forEach((route, index) => {
30-
addRoutes(reactAuthRoutes[index].parent, route);
29+
30+
filteredRoutes.forEach(({ parent, route }) => {
31+
addRoutes(parent, route);
3132
});
3233
}
3334
} else {

src/features/router/shared.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,12 @@ export function mergeValuesByParent(data: Router.SingleAuthRoute[]) {
5454
*/
5555
export function filterAuthRoutesByRoles(routes: { parent: string | null; route: RouteObject[] }[], roles: string[]) {
5656
return routes.flatMap(route => {
57-
const filteredRoutes = route.route.map(item => filterAuthRouteByRoles(item, roles));
57+
const filteredRoutes = route.route.map(item => {
58+
return {
59+
parent: route.parent,
60+
route: filterAuthRouteByRoles(item, roles)
61+
};
62+
});
5863

5964
return filteredRoutes;
6065
});

src/features/tab/tabHooks.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,19 @@ export function useTabController() {
233233
};
234234
}
235235

236+
export function initTab(cache: boolean, updateTabs: (tabs: App.Global.Tab[]) => void) {
237+
const storageTabs = localStg.get('globalTabs');
238+
239+
if (cache && storageTabs) {
240+
// const tabs = extractTabsByAllRoutes(router.getAllRouteNames(), storageTabs);
241+
// dispatch(setTabs(tabs));
242+
updateTabs(storageTabs);
243+
return storageTabs;
244+
}
245+
246+
return [];
247+
}
248+
236249
export function useTabManager() {
237250
const isInit = useRef(false);
238251

@@ -246,19 +259,6 @@ export function useTabManager() {
246259

247260
const updateTabs = useUpdateTabs();
248261

249-
function _initTabs() {
250-
const storageTabs = localStg.get('globalTabs');
251-
252-
if (themeSettings.tab.cache && storageTabs) {
253-
// const tabs = extractTabsByAllRoutes(router.getAllRouteNames(), storageTabs);
254-
// dispatch(setTabs(tabs));
255-
updateTabs(storageTabs);
256-
return storageTabs;
257-
}
258-
259-
return [];
260-
}
261-
262262
function _cacheTabs() {
263263
if (!themeSettings.tab.cache) return;
264264

@@ -271,7 +271,7 @@ export function useTabManager() {
271271
if (!isInit.current) {
272272
isInit.current = true;
273273

274-
const initTabs = _initTabs();
274+
const initTabs = initTab(themeSettings.tab.cache, updateTabs);
275275

276276
if (!initTabs || initTabs.length === 0 || (initTabs.length > 0 && !isTabInTabs(tab.id, initTabs))) {
277277
dispatch(addTab(tab));

0 commit comments

Comments
 (0)