进展
路线图
演示场、演示准备、概览页三个阶段均已完成,下一步是统一上线。
已经走完的路
Playground 演示场分两个阶段推进,之后的 Phase 0 / Phase C 也都已收口:
| 阶段 | 做了什么 | 结果 | 时间 |
|---|---|---|---|
| Phase A | 定义菜单树、脚本化录入菜单、四端先落占位页 | 骨架打通 | 09-14 |
| Phase B | 先做 React 基准,再依次跟进 Next → Vue → Nuxt | 四端全对齐(现为 10 页) | 09-16 |
| Phase 0 | 演示环境加固:只读守卫、快捷登录、数据重置、日志降噪 | 陌生人可安全访问 | 09-18 |
| Phase C | Dashboard 概览:KPI + 登录趋势 + 角色占比 + 最新动态,四端对齐 | 功能矩阵补齐最后一块 | 09-19 |
分阶段的关键在于:先把菜单与路由骨架在四端都立起来,再填内容。这样内容阶段只需要复制已经验证过的结构,不会出现"某一端做到一半发现路由结构不对,四端一起返工"。
中间那道 Gate 的通过条件是「Nuxt 端功能全对齐 + 通过冒烟测试」,已于 09-16 通过——把闸口放在演示环境稳定之前,是为了避免新功能的问题和环境噪音混在一起。
契约版本走到哪了
| 版本 | 内容 |
|---|---|
| v1.10.0 | Phase 0:DEMO_READONLY 只读守卫语义 + POST /auth/demo-login |
| v1.11.0 → v1.12.0 | Phase C:GET /stats/overview 只读聚合;v1.12.0 移除 days 参数、趋势固定近 30 日,区间由前端本地截取 |
| v1.13.0 | 角色「关联用户」列 + GET /roles/{id}/users 名单穿透 |
| v1.14.0 | GET /health 存活探针(下面的保活项就是它的前提) |
真源始终是 apps/nest/openapi/openapi.yaml,共 48 条路径 / 77 个操作。
下一步:统一上线
五个应用功能都已就绪,剩下的全是部署环节。上线清单:
| 事项 | 为什么必须做 |
|---|---|
| NestJS 保活 ping | 免费实例 15 分钟不活跃即休眠,冷启动 30–50 秒会直接拖垮演示第一印象。GET /health 端点已实现,还需配 UptimeRobot / CF Worker Cron 每 5–10 分钟打一次 |
| CORS 白名单收敛 | 从本地端口改为线上域名;Nest 只服务 React / Vue 两端,Next / Nuxt 是独立全栈不走它 |
| SPA 直链回退 | React / Vue 是纯静态站,直接分享子路由链接需要回退到 index.html |
| 演示模式开关 | 线上配 DEMO_MODE=true;LOG_API_SKIP_GET 默认关闭,需显式开启才降噪 |
| 环境变量与迁移 | 各平台配齐变量(密钥不进仓库),数据库迁移在目标环境执行到位 |
| 构建验证 | 各端构建产物验证通过;CI 目前只有语言包与日志清理两个 cron,lint / test / build 尚未挂接 |
平台分工:React / Vue → Cloudflare Workers(Static Assets,SPA 深链回退由 wrangler.jsonc 的 not_found_handling 负责),Next / Nuxt / 本站 → Vercel,NestJS → Render。绑定域名后本页会同步更新在线地址。