From 94b993f16fdef7264ce3567f2b680e71f3d4392a Mon Sep 17 00:00:00 2001 From: dai <851733175@qq.com> Date: Mon, 26 Sep 2022 11:00:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=86router=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/router/index.js b/src/router/index.js index 9f87613e6..389c3ba4f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -107,6 +107,35 @@ export const moduleRoutes = { ], }; +// pc端菜单的 如果没有配置 默认的 或者配置了默认的 但没有权限 默认选中第一 +function cookApiDataItem(item) { + function n2one(v) { + let ret = []; + for (let i = 0; i < v.length; i++) { + console.log("xxxxx", v[i]); + ret.push(v[i]); + if (Array.isArray(v[i].children) && v[i].children.length > 0) { + ret.push(...n2one(v[i].children)); + } + } + console.log("aaaa", ret); + debugger; + return ret; + } + + let allChildrenUrl = n2one(item.children) + .filter((i) => i.url != "") + .map((i) => i.url); + console.log("))))))))))))", allChildrenUrl); + + if (item.children.length > 0) { + if (item.url == "" || !allChildrenUrl.find((i) => i.url == item.url)) { + item.url = allChildrenUrl[0]; + } + } + return item; +} + // 模块路由(基于主入口布局页面) 可视化数据 export const moduleShujuRoutes = { path: "/main-shuju", @@ -250,7 +279,9 @@ router.beforeEach((to, from, next) => { name: "login", }); } - window.SITE_CONFIG["menuList"] = res.data; + window.SITE_CONFIG["menuList"] = res.data.map((item) => + cookApiDataItem(item) + ); fnAddDynamicMenuRoutes(window.SITE_CONFIG["menuList"]); // next({ ...to, replace: true }) next({