jeecg-boot首頁剔除,根據路由第一項生成
阿新 • • 發佈:2020-12-10
提前說明的是,我這裡的目的是根據自己配置的選單順序,將獲取到的選單列表的第一項作為首頁展示.
java後端
getUserPermissionByToken()方法
將下面的首頁獲取注掉
if(!PermissionDataUtil.hasIndexPage(metaList)){
SysPermission indexMenu = sysPermissionService.list(new LambdaQueryWrapper<SysPermission>().eq(SysPermission::getName, "首頁")).get(0);
metaList.add(0,indexMenu);
}
前端
src/utils/util.js
生成首頁路由的方法改成下面的,
這裡我只做了三層路由,各位可根據實際,進行重寫
export function generateIndexRouter (data) {
let path = undefined
if (data[0].children != undefined && data[0].children.length > 0) {
// 三級路由
if (data[0].children[0] .children != undefined && data[0].children[0].children.length > 0) {
path = data[0].children[0].children[0].path
} else {
// 二級路由
path = data[0].children[0].path
}
} else {
// 一級路由
path = data[0].path
}
console.log('執行路由generateIndexRouter -> path', path)
let indexRouter = [{
path: '/',
name: path,
component: resolve => require(['@/components/layouts/TabLayout'], resolve),
meta: { title: '首頁' },
redirect: path,
children: [
...generateChildRouters(data)
]
}, {
'path': '*', 'redirect': '/404', 'hidden': true
}]
return indexRouter
}
src/components/layouts/TabLayout.vue
這裡是處理頁籤
去掉這個
將用到下面方法的部分注掉
addIndexToFirst()
如圖: