Files
wwjcloud-nest-v1/MILESTONE-0.1.1.md

57 lines
4.4 KiB
Markdown
Raw Normal View History

2025-08-29 00:08:18 +08:00
# WWJCloud 框架里程碑 0.1.1
## 一、全局评估(当前基线)
- 分层清晰config配置与适配、core通用基础/抽象、vendor第三方适配、common业务域依赖方向 App→common→core→vendor 合规。
- 配置中心落地ConfigCenterService 统一读取与开关(如 swagger.enabled、swagger.token控制器与 UI 解耦;动态配置具备基础能力。
- API 文档输出:仅输出 JSON三端点分组全量/admin/frontend鉴权改为 Bearer Tokenswagger.token
- 观测与健康Winston 日志、Terminus 健康(/healthz /readyz /startupz、Metrics 基础可用。
- 任务与事件Outboxevents表、调度与重试字段/索引齐备;队列/事件基础设施在位。
- 安全基线全局守卫、RBAC文档 JSON 受 Token 保护Throttler 可用。
- 启动可观测:启动成功日志输出后端基地址与文档 JSON 三路由,便于联调。
## 二、风险与待确认
- 动态配置能力的“变更通知/缓存 TTL/审计记录”需在进入多域前补完细节。
- CI 质量门禁需在 PR 阶段强制ESLint/TS/coverage/e2e 阈值)。
- DB 初始化要强制走 migration避免纯 SQL 造成偏差。
- 文档 JSON 的密钥管理建议生产具备轮换机制。
- Nginx 反代模板建议固化(由 1Panel 管理也可)。
## 三、绿通项(已完成,可直接使用)
- Swagger JSON 鉴权与分组输出(/api-json、/api/admin-json、/api/frontend-json
- events 表(含 site_id、trace_id 等)完整建表与索引 SQL。
- 启动成功日志输出(服务地址与三条 JSON 路由)。
- 文档站联调(实时直连 + 备用离线脚本,带 Token
- 移除循环依赖隐患Swagger 纳入 config 核心模块barrel 不再导出 swagger module
## 四、网关Kong结论
- 单体阶段不必须启用1Panel/Nginx 反代 + 后端限流/鉴权足够。
- 多应用授权/域名授权阶段:建议引入网关统一鉴权/配额/策略,后端专注业务授权与审计。现有改造路径已预留。
## 五、PHP 框架迁移前置调整
- 数据与命名:表/字段/DTO/错误码与 PHP 对齐;返回格式统一。
- 鉴权与越权:管理端统一 JwtAuthGuard + RolesGuard`site_id` 租户隔离在业务流全链路透传与校验。
- 配置迁移PHP 配置项映射到 ConfigCenterService 键camelCase环境变量 UPPER_SNAKE_CASE生产设置 swagger.token。
- 依赖与集成:异步任务/事件对齐 Queue + Outbox只传 ID、支持幂等重试vendor 适配上传/存储/短信/支付。
- 测试与门禁:将 PHP 关键路径用例迁为 e2e/集成测试CI 强制 ESLint/TS/coverage/e2e 阈值。
- 文档对齐PHP 接口文档合流至当前 Swagger JSON 输出docs 站读取三份 JSON。
## 六、是否定稿 core/vendor/config进入 common 层?
- 结论可以。core/vendor/config 已达“可用基线”,足以支撑 common 层建设与业务迁移。
- core健康、拦截器/守卫/HTTP、队列与事件抽象、指标与 tracing 框架就绪。
- vendor第三方适配器骨架可用按业务逐步补实现。
- config配置中心、控制器出口、Swagger JSON 鉴权与分组稳定Barrel 导出已规避循环。
## 七、近期执行建议(进入 common
- 业务域落地顺序IAM用户/角色/权限)→ Settings → Upload → Notification → Schedule。
- 分层落地Controller路由+DTO→ AppService编排→ Core规则→ Infra持久化全链路 `site_id` 隔离。
- 测试覆盖:补关键用例(认证登录、权限越权、租户隔离、上传、事件投递/消费)单测/集成/e2e。
- 质量门禁:开启 ESLint/TS/coverage≥阈值 与 e2e 关键路径门禁。
- Nginx 反代模板:固化到仓库 docsHTTPS/超时/限流/大包/真实 IP 透传)。
## 八、版本说明0.1.1
- 特性Swagger JSON 分组与鉴权、配置中心接入、events 表与索引、启动可观测日志、docs 联调脚本支持 Token。
- 破坏性变更:移除旧 swagger integrations 引用与循环依赖;文档 JSON 访问需携带 Bearer Token。
- 升级指引:
1) 数据库执行 `events` 建表 SQL含 site_id/trace_id 等);
2) 配置中心设置 `swagger.token`
3) docs 侧按需携带 Bearer Token脚本已内置或通过环境变量