feat(portal-shell): implement portal-shell with apollo-router integration

M8: portal-shell unified frontend shell (Modular Monolith + micro-kernel).

- Apollo Client -> apollo-router (port 4010, RSC prefetch)

- 5 layouts: classic/focus/split/triple/canvas

- Registry + PluginLoader (dynamic import ssr:false)

- 3-layer props merge, Zustand PluginStore

- 4 widgets: grades/notification-bell/user-menu/class-selector

- config-service: new pluginConfig GraphQL resolver

- apollo-router: CORS + header propagation for portal-shell

- docker-compose.yml: portal-shell service block
This commit is contained in:
SpecialX
2026-07-15 08:06:09 +08:00
parent 47e950c664
commit 514e26ebb4
49 changed files with 2802 additions and 6 deletions

View File

@@ -14,7 +14,7 @@ module.exports = {
'iam', 'core-edu', 'classes', 'content', 'data-ana', 'msg', 'ai',
'config-service',
'teacher-bff', 'student-bff', 'parent-bff',
'teacher-portal', 'student-portal', 'parent-portal', 'admin-portal',
'teacher-portal', 'student-portal', 'parent-portal', 'admin-portal', 'portal-shell',
'shared-proto', 'shared-ts', 'shared-go', 'shared-py', 'shared-tokens',
'arch-scan', 'infra', 'docs', 'deps', 'release',
],