fix(微前端): 远端应用改为 Layout 子路由,不再覆盖 GERP 框架
此前 /remote-app/:code 经 router.addRoute 注册为顶层路由,会绕过 DefaultLayout 直接铺满整屏(盖住侧边栏/顶栏);现给布局父路由命名 Layout 并以 router.addRoute('Layout', ...) 注入子路由,远端页面渲染在 GERP 框架内(保留导航与标签页)。
This commit is contained in:
1 parent
5ffadd3f8a
commit
7db725d9f4
2 files changed
+7
-2
No files matched your search
@@ -29,12 +29,14 @@ const REMOTE_DEMO_APP: AppFrontendModule = {
|
||||
* 安装远端应用路由(宿主启动时调用一次)
|
||||
*
|
||||
* 注入 `/remote-app/:code`:由 RemoteAppHost 按 AppCode 动态加载远端组件渲染。
|
||||
* **作为 Layout 的子路由注入**,使远端页面渲染在 GERP 框架内(侧边栏/顶栏/标签页保留);
|
||||
* 若注册为顶层路由,会绕过 DefaultLayout 直接覆盖整个外壳。
|
||||
* 注意路由不带 menuGuarded —— 远端应用暂不参与后端菜单过滤,由清单/接口自行控权限。
|
||||
*/
|
||||
export function InstallRemoteAppRoutes(router: Router): void {
|
||||
registerRemoteApp(REMOTE_DEMO_APP)
|
||||
router.addRoute({
|
||||
path: '/remote-app/:code',
|
||||
router.addRoute('Layout', {
|
||||
path: 'remote-app/:code',
|
||||
name: 'RemoteApp',
|
||||
component: () => import('@/views/RemoteAppHost.vue'),
|
||||
meta: { title: '远端应用', requiresAuth: true },
|
||||
|
||||
@@ -15,6 +15,9 @@ export const staticRoutes: RouteRecordRaw[] = [
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
// 命名父路由:远端微前端应用经 router.addRoute('Layout', ...) 注入为子路由,
|
||||
// 从而享有完整框架(侧边栏/顶栏/标签页),而不是盖住 GERP 外壳
|
||||
name: 'Layout',
|
||||
component: () => import('@/layouts/DefaultLayout.vue'),
|
||||
redirect: '/dashboard',
|
||||
children: [
|
||||
|
||||
Reference in new issue
Block a user