- shadcn/ui 标准化:废弃纸感令牌,统一 bg-background/text-foreground 等 - Tailwind v4 + @theme inline,移除 tailwind.config.js - React 19 use() + Suspense 流式渲染,首屏骨架秒出 - 三级错误边界:Route → Section → Widget 层层兜底 - 错误上报:useErrorReport → sendBeacon → /api/log mock 端点 - 三层安全边界:L1 角色门禁 / L2 权限点门禁 / L3 数据范围 - 权限位图 base36 压缩:67 权限点 → ~14 字符,JWT 体积减少 ≥ 99% - notify 统一 Toast 封装,禁止业务直接 import sonner - PluginBoundary 替代 PluginLoader(错误边界 + Suspense + Skeleton 三件套) 验证:typecheck 0 错误 / lint 0 错误 / build 6 路由生成成功
49 lines
1.6 KiB
YAML
49 lines
1.6 KiB
YAML
# Apollo Federation 2 Supergraph 组合配置(开发态 - host 模式)
|
||
#
|
||
# 用于本地开发:应用服务跑在 host 上,apollo-router 在 Docker 容器内,
|
||
# 通过 host.docker.internal 访问 host 上的子图 /graphql 端点。
|
||
#
|
||
# 使用:docker run --add-host=host.docker.internal:host-gateway ...
|
||
#
|
||
# 与 supergraph.yaml 的差异:routing_url 从容器内服务名改为 host.docker.internal
|
||
#
|
||
# 当前可用子图(5 个 TS 服务):
|
||
# - iam (3002): 用户/RBAC/JWT
|
||
# - core-edu (3004): 作业/考试/成绩/考勤
|
||
# - content (3005): 内容管理
|
||
# - msg (3007): 消息
|
||
# - config (3011): 插件配置中心(portal-shell 主要数据源)
|
||
#
|
||
# 暂不包含的子图:
|
||
# - classes (3001): 无 GraphQL 模块(仅 REST + gRPC)
|
||
# - data-ana (3006): Python 服务,无 Federation 子图
|
||
# - ai (3008): Python 服务,无 Federation 子图
|
||
|
||
federation_version: =2.9.0
|
||
|
||
subgraphs:
|
||
iam:
|
||
routing_url: http://host.docker.internal:3002/graphql
|
||
schema:
|
||
subgraph_url: http://host.docker.internal:3002/graphql
|
||
|
||
core-edu:
|
||
routing_url: http://host.docker.internal:3004/graphql
|
||
schema:
|
||
subgraph_url: http://host.docker.internal:3004/graphql
|
||
|
||
content:
|
||
routing_url: http://host.docker.internal:3005/graphql
|
||
schema:
|
||
subgraph_url: http://host.docker.internal:3005/graphql
|
||
|
||
msg:
|
||
routing_url: http://host.docker.internal:3007/graphql
|
||
schema:
|
||
subgraph_url: http://host.docker.internal:3007/graphql
|
||
|
||
config:
|
||
routing_url: http://host.docker.internal:3011/graphql
|
||
schema:
|
||
subgraph_url: http://host.docker.internal:3011/graphql
|