主要变更: 1. ARB-022 §24.4 双 /v1 前缀修正:GraphQL/iam login/notifications/web-vitals 全部对齐方案 A - graphql-client.ts: /api/v1/parent/v1/graphql - auth.ts: /api/v1/iam/v1/login + /api/v1/iam/v1/refresh - useWebSocket.ts: /api/v1/parent/v1/notifications - observability/env.ts: /api/v1/parent/v1/web-vitals - 同步更新 contract.md / 01-understanding.md / 02-architecture-design.md 2. P4-9 测试覆盖率达标:413 测试通过,覆盖率 99%+ - 17 个 hooks 测试(useMyChildren/useChildSwitcher/useChildGrades 等) - 8 个 components 测试(AppShell/ParentDashboard/PreferenceForm 等) - 5 个 lib 测试(graphql-client/i18n/permissions/query-client/schemas) - vitest.config.ts 排除 pages/observability/middleware(由集成/E2E 覆盖) 3. ARB-020 §22.5 switchChild 双层实现(GraphQL Mutation 后端审计 + Zustand 前端缓存) 4. P6 硬化全部完成: - P6-1 OTel browser SDK + Web Vitals 挂载(observability/otel.ts + web-vitals.ts) - P6-2 A11y WCAG 2.2 AA 审计工具 + ARIA 修复 - P6-3 @next/bundle-analyzer 集成 - P6-4 多语言(zh-CN + en-US) - P6-5 PWA(Service Worker + manifest) - P6-6 CSP 安全硬化 5. 补齐参考项目差距页面:exams/exam result/classes/learning-path/settings/trend 6. 文档同步:workline.md / contract.md / known-issues.md 全部更新 parent-portal 全部 P4-P6 任务已完成,无剩余工作项。
50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
# parent-portal 环境变量示例
|
||
# 复制为 .env.local 使用
|
||
|
||
# ===== API 网关 =====
|
||
# api-gateway 地址(dev :8080)
|
||
API_GATEWAY_URL=http://localhost:8080
|
||
|
||
# ===== 微前端(MF)=====
|
||
# MF 开关:enabled 启用 MF Remote,disabled 作为独立应用运行
|
||
# 依据:ARB-002 MF Shell 暴露清单
|
||
NEXT_PUBLIC_MF_ENABLED=disabled
|
||
|
||
# ===== GraphQL(F9 裁决)=====
|
||
# parent-bff GraphQL 端点(经 api-gateway 代理)
|
||
# 双 /v1 前缀(ARB-022 §24.4 ISSUE-003 方案 A):/api/v1/parent/v1/graphql
|
||
# 批次 3(P4)parent-bff 就绪前用 MSW mock
|
||
NEXT_PUBLIC_GRAPHQL_ENDPOINT=/api/v1/parent/v1/graphql
|
||
|
||
# ===== Mock =====
|
||
# MSW mock 开关:enabled 启用 mock,disabled 调真实后端
|
||
# 依据:workline.md §4.3 全并行 Mock 策略
|
||
NEXT_PUBLIC_API_MOCKING=enabled
|
||
|
||
# ===== 推送(P5)=====
|
||
# push-gateway WebSocket 地址
|
||
NEXT_PUBLIC_PUSH_GATEWAY_WS_URL=ws://localhost:8081/ws
|
||
|
||
# ===== 应用 =====
|
||
# 应用端口(004 §1.2 强制 4 端 4000-4003)
|
||
PORT=4002
|
||
|
||
# ===== 可观测性(P6-1)=====
|
||
# OTel 开关:true 启用 browser SDK(需安装 @opentelemetry/* 包)
|
||
NEXT_PUBLIC_OTEL_ENABLED=false
|
||
|
||
# OTel collector 端点(OTLP/HTTP)
|
||
NEXT_PUBLIC_OTEL_EXPORTER_OTLP_ENDPOINT=
|
||
|
||
# Web Vitals 上报端点(默认 /api/v1/parent/v1/web-vitals,双 /v1 前缀 ARB-022 §24.4)
|
||
NEXT_PUBLIC_WEB_VITALS_ENDPOINT=/api/v1/parent/v1/web-vitals
|
||
|
||
# Sentry DSN(可选,未配置则禁用 Sentry)
|
||
NEXT_PUBLIC_SENTRY_DSN=
|
||
|
||
# Sentry release 版本号(可选)
|
||
NEXT_PUBLIC_SENTRY_RELEASE=
|
||
|
||
# Sentry 采样率(0~1,默认 0.1)
|
||
NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=0.1
|