refactor(ECR-001): 接入 ESS 并完成结构对齐 Phase A–E

绑定 ESS 双轨治理,拆分超大 H5 页与 Go 引擎,抽出 membership 服务,
并将 star/fortune 重命名为 outlook(JSON 双写兼容);同时修复 /psy API 代理与首页 + 菜单层级。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-05 17:51:40 +08:00
co-authored by Cursor
parent 583133dd09
commit 19d3cd5945
75 changed files with 4199 additions and 2505 deletions
+22 -12
View File
@@ -7,22 +7,32 @@
## Packages under `internal/service/`
| Package | 职责 | P1 |
|---|---|---|
| `user` | 注册/游客升级/Session | Yes |
| `profile` | 个人档案 CRUD、切换 | Yes |
| `portrait` | 生成个人画像 → GrowthReport | Yes |
| `scale` | 探索测试定义与计分 | Yes |
| `relation` | RelationInsight | Yes **必做** |
| `report` | GrowthReport 读取 + **权益裁剪** | Yes |
| `ask` | Thread/MessageP1 规则引擎 + 额度 | YesDemo |
| `companion` | SolarTerm 读、Mood 写 | Shell |
| `membership` | 成长会员状态与额度 | Yes |
| `order` | Order + pay-mock + DeepAccess 发放 | Yes |
| Package | 职责 | P1 | 实现态(2026-08 |
|---|---|---|---|
| `user` | 注册/游客升级/Session | Yes | 多在 profile/auth 路径;无独立包名时勿重复造轮 |
| `profile` | 个人档案 CRUD、切换 | Yes | `service/profile` |
| `portrait` | 生成个人画像 → GrowthReport | Yes | 计算在 `internal/portrait`;用例经 report/handler 路径 |
| `scale` | 探索测试定义与计分 | Yes | `service/scale` + `internal/scale` |
| `relation` | RelationInsight | Yes **必做** | `service/relation` + `internal/relation` |
| `report` | GrowthReport 读取 + **权益裁剪** | Yes | `service/report` |
| `ask` | Thread/MessageP1 规则引擎 + 额度 | YesDemo | `service/ask` + `internal/ask` |
| `companion` | SolarTerm 读、Mood 写 | Shell | `service/companion` |
| `membership` | 成长会员状态与额度 | Yes | `service/membership`ECR-001 Phase C 已从 report 抽出) |
| `order` | Order + pay-mock + DeepAccess 发放 | Yes | 用例在 `service/membership`(同 Phase C;未单独拆包) |
| `imagecard` | 意象卡片 | P2 | `service/imagecard` |
### Engine vs Service
| Kind | Path | Can | Cannot |
|---|---|---|---|
| Engine | `internal/{portrait,relation,star,ask,scale,rhythm,…}` | 纯计算 / 组装报告结构 | 引用 `gin.Context`;做权益解锁 |
| Service | `internal/service/*` | 用例编排、鉴权后业务、调 repo/engine | SQL 直写;跳过归属校验 |
`internal/handler/`:每域一组 handler,只做 bind/validate/调用 service。
`internal/repository/`SQL;无 business unlock 规则(规则在 service/report + membership)。
星座周期展望引擎包:`internal/star/outlook`(原 `fortune`ECR-002)。对外 JSON 暂双写 `fortune`/`outlook` 键以兼容旧客户端。
---
## 跨域规则