perf: 去掉产品权限控制相关逻辑
This commit is contained in:
@ -1,62 +1,62 @@
|
||||
/*
|
||||
* @Author: RenXiaoDong
|
||||
* @Date: 2025-06-19 01:45:53
|
||||
*/
|
||||
import type { RouteRecordRaw, RouteRecordNormalized } from 'vue-router';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { useSidebarStore } from '@/stores/modules/side-bar';
|
||||
// /*
|
||||
// * @Author: RenXiaoDong
|
||||
// * @Date: 2025-06-19 01:45:53
|
||||
// */
|
||||
// import type { RouteRecordRaw, RouteRecordNormalized } from 'vue-router';
|
||||
// import { useRouter } from 'vue-router';
|
||||
// import { useSidebarStore } from '@/stores/modules/side-bar';
|
||||
|
||||
export default function useMenuTree() {
|
||||
const router = useRouter();
|
||||
const appRoutes = router.options?.routes ?? [];
|
||||
const sidebarStore = useSidebarStore();
|
||||
const appRoute = computed(() => {
|
||||
const _filterRoutes = appRoutes.filter((v) => v.meta?.id === sidebarStore.activeMenuKey);
|
||||
return _filterRoutes;
|
||||
});
|
||||
const menuTree = computed(() => {
|
||||
const copyRouter = cloneDeep(appRoute.value) as RouteRecordNormalized[];
|
||||
copyRouter.sort((a: RouteRecordNormalized, b: RouteRecordNormalized) => {
|
||||
return (a.meta.order || 0) - (b.meta.order || 0);
|
||||
});
|
||||
function travel(_routes: RouteRecordRaw[], layer: number) {
|
||||
if (!_routes) return null;
|
||||
// export default function useMenuTree() {
|
||||
// const router = useRouter();
|
||||
// const appRoutes = router.options?.routes ?? [];
|
||||
// const sidebarStore = useSidebarStore();
|
||||
// const appRoute = computed(() => {
|
||||
// const _filterRoutes = appRoutes.filter((v) => v.meta?.id === sidebarStore.activeMenuKey);
|
||||
// return _filterRoutes;
|
||||
// });
|
||||
// const menuTree = computed(() => {
|
||||
// const copyRouter = cloneDeep(appRoute.value) as RouteRecordNormalized[];
|
||||
// copyRouter.sort((a: RouteRecordNormalized, b: RouteRecordNormalized) => {
|
||||
// return (a.meta.order || 0) - (b.meta.order || 0);
|
||||
// });
|
||||
// function travel(_routes: RouteRecordRaw[], layer: number) {
|
||||
// if (!_routes) return null;
|
||||
|
||||
const collector: any = _routes.map((element) => {
|
||||
// leaf node
|
||||
if (element.meta?.hideChildrenInMenu || !element.children) {
|
||||
element.children = [];
|
||||
return element;
|
||||
}
|
||||
// const collector: any = _routes.map((element) => {
|
||||
// // leaf node
|
||||
// if (element.meta?.hideChildrenInMenu || !element.children) {
|
||||
// element.children = [];
|
||||
// return element;
|
||||
// }
|
||||
|
||||
// route filter hideInMenu true
|
||||
element.children = element.children.filter((x) => x.meta?.hideInMenu !== true);
|
||||
// // route filter hideInMenu true
|
||||
// element.children = element.children.filter((x) => x.meta?.hideInMenu !== true);
|
||||
|
||||
// Associated child node
|
||||
const subItem = travel(element.children, layer + 1);
|
||||
// // Associated child node
|
||||
// const subItem = travel(element.children, layer + 1);
|
||||
|
||||
if (subItem.length) {
|
||||
element.children = subItem;
|
||||
return element;
|
||||
}
|
||||
// the else logic
|
||||
if (layer > 1) {
|
||||
element.children = subItem;
|
||||
return element;
|
||||
}
|
||||
// if (subItem.length) {
|
||||
// element.children = subItem;
|
||||
// return element;
|
||||
// }
|
||||
// // the else logic
|
||||
// if (layer > 1) {
|
||||
// element.children = subItem;
|
||||
// return element;
|
||||
// }
|
||||
|
||||
if (element.meta?.hideInMenu === false) {
|
||||
return element;
|
||||
}
|
||||
// if (element.meta?.hideInMenu === false) {
|
||||
// return element;
|
||||
// }
|
||||
|
||||
return null;
|
||||
});
|
||||
return collector.filter(Boolean);
|
||||
}
|
||||
return travel(copyRouter, 0);
|
||||
});
|
||||
// return null;
|
||||
// });
|
||||
// return collector.filter(Boolean);
|
||||
// }
|
||||
// return travel(copyRouter, 0);
|
||||
// });
|
||||
|
||||
return {
|
||||
menuTree,
|
||||
};
|
||||
}
|
||||
// return {
|
||||
// menuTree,
|
||||
// };
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user