修复后台登录后首页空白

master
weizong song 4 months ago
parent d0743c5024
commit 7d46889c4a

@ -82,18 +82,6 @@ export async function registerAdminDynamicRoutes(router: Router) {
}
useAdminMenuStore().setMenus(menus)
router.addRoute('AdminLayout', {
path: '',
alias: 'dashboard',
name: 'admin-dashboard',
component: ADMIN_COMPONENT_LOADERS['admin-dashboard'],
meta: {
title: '首页',
permissionCode: 'admin.dashboard',
},
})
remember('admin-dashboard')
walkMenuRoutes(router, 'AdminLayout', menus)
router.addRoute('AdminLayout', {

@ -109,7 +109,18 @@ const router = createRouter({
path: '/admin',
name: 'AdminLayout',
component: () => import('../layouts/AdminLayout.vue'),
children: [],
children: [
{
path: '',
name: 'admin-dashboard',
component: () => import('../views/admin/AdminDashboardView.vue'),
meta: { title: '首页', permissionCode: 'admin.dashboard' },
},
{
path: 'dashboard',
redirect: { name: 'admin-dashboard' },
},
],
},
],
})
@ -164,16 +175,9 @@ router.beforeEach(async (to) => {
if (!adminDynamicRoutesRegistered()) {
await registerAdminDynamicRoutes(router)
if (to.name === 'AdminLayout' || to.path === '/admin') {
return { name: 'admin-dashboard', replace: true }
}
return { ...to, replace: true }
}
if (to.name === 'AdminLayout' || to.path === '/admin') {
return { name: 'admin-dashboard', replace: true }
}
return true
}

@ -19,10 +19,22 @@ function loginErrorMessage(e: unknown): string {
return '登录失败'
}
function normalizeAdminRedirectPath(path: string): string {
const baseUrl = import.meta.env.BASE_URL || '/'
const basePrefix = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl
if (basePrefix && basePrefix !== '/' && path.startsWith(`${basePrefix}/admin`)) {
return path.slice(basePrefix.length) || '/admin'
}
return path
}
function resolvePostLoginPath(): string {
const redir = typeof route.query.redirect === 'string' ? route.query.redirect : ''
if (redir && redir.startsWith('/admin') && !redir.includes('/login')) {
return redir
const normalized = normalizeAdminRedirectPath(redir)
if (normalized && normalized.startsWith('/admin') && !normalized.includes('/login')) {
return normalized
}
return '/admin'
}

Loading…
Cancel
Save