mirror of
https://github.com/vbenjs/vben-admin-thin-next.git
synced 2025-01-23 17:50:22 +08:00
fix: fix homePage affix error
修复当没有通过接口为用户指定首页时,如果默认的首页是一个带有重定向的路由,则可能出现双首页Tab的问题
This commit is contained in:
parent
db7254a5e0
commit
c1178027f0
@ -22,7 +22,7 @@ const dashboard: AppRouteModule = {
|
||||
meta: {
|
||||
title: t('routes.dashboard.about'),
|
||||
icon: 'simple-icons:about-dot-me',
|
||||
// hideMenu: true,
|
||||
hideMenu: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
|
@ -123,15 +123,19 @@ export const usePermissionStore = defineStore({
|
||||
* */
|
||||
const patchHomeAffix = (routes: AppRouteRecordRaw[]) => {
|
||||
if (!routes || routes.length === 0) return;
|
||||
const homePath = userStore.getUserInfo.homePath || PageEnum.BASE_HOME;
|
||||
let homePath: string = userStore.getUserInfo.homePath || PageEnum.BASE_HOME;
|
||||
function patcher(routes: AppRouteRecordRaw[], parentPath = '') {
|
||||
if (parentPath) parentPath = parentPath + '/';
|
||||
routes.forEach((route: AppRouteRecordRaw) => {
|
||||
const { path, children } = route;
|
||||
const { path, children, redirect } = route;
|
||||
const currentPath = path.startsWith('/') ? path : parentPath + path;
|
||||
if (currentPath === homePath) {
|
||||
route.meta = Object.assign({}, route.meta, { affix: true });
|
||||
throw new Error('end');
|
||||
if (redirect) {
|
||||
homePath = route.redirect! as string;
|
||||
} else {
|
||||
route.meta = Object.assign({}, route.meta, { affix: true });
|
||||
throw new Error('end');
|
||||
}
|
||||
}
|
||||
children && children.length > 0 && patcher(children, currentPath);
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user