59 lines
3.0 KiB
Markdown
59 lines
3.0 KiB
Markdown
# Tigshop → VMall Migration Plan
|
||
|
||
> 临时跟踪文档:每实现并验证一个 change(tasks 全勾、`openspec archive` 完成、`openspec validate --all --strict` 全绿)后,更新本文档状态表。**8 个 change 全部归档后删除本文件。**
|
||
|
||
来源:对 `/Users/chengdzhang/github/jamyun/tigshop`(Admin + Uniapp + PHP 后端)的只读盘点。迁移的是领域模型与信息架构,不是代码。
|
||
|
||
## 明确排除(不迁移)
|
||
|
||
- 微信小程序专属能力(wx.login / requestPayment / 订阅消息 / 分享 / 企业客服)
|
||
- 供应商(vendor)三层体系 —— 架构级决策,非功能迁移
|
||
- 分销(tigshop 自身半成品)、完整拖拽装修器、电子卡密/虚拟商品、直播、打印、内置 IM
|
||
|
||
## 依赖图
|
||
|
||
```
|
||
P6 content-admin-ui ──┐(无依赖,热身)
|
||
P1 product-reviews ───┤(无依赖,可并行)
|
||
P5 onboarding ────────┤(无依赖,可并行)
|
||
P7 membership ────────┤(无依赖,可并行)
|
||
│
|
||
P0 aftersale ─────────┤
|
||
│ │
|
||
├─→ P3 wallet-settlement(结算需扣减退款,硬依赖 P0 的 aftersales 表)
|
||
│ │
|
||
└────────┴─→ P4 mobile-h5(售后/钱包页面消费 P0/P3 API;核心链路只依赖现有 API,可与 P3 并行起步)
|
||
P2 freight ───────────┘(改 checkout/order totals,与 P0 同触 order 模块,建议与 P0 串行)
|
||
```
|
||
|
||
## 推荐实施波次
|
||
|
||
| 波次 | Changes | 说明 |
|
||
|---|---|---|
|
||
| Wave 1 | P6 → P0 → P2 → P1 | P6 热身(纯前端);P0/P2 都动 order 模块故串行;P1 任意位置插入 |
|
||
| Wave 2 | P3、P5、P7 | P3 必须在 P0 归档后启动;P5/P7 随时可插 |
|
||
| Wave 3 | P4 | 移动 H5 收尾,消费前面所有 API;P0/P3 未完成时对应页面降级 Coming soon |
|
||
|
||
## 状态跟踪
|
||
|
||
| # | Change | 依赖 | 状态 | 归档日期 |
|
||
|---|---|---|---|---|
|
||
| P0 | `add-aftersale-refunds` | — | archived | 2026-09-23 |
|
||
| P1 | `add-product-reviews` | — | proposed | — |
|
||
| P2 | `add-freight-templates` | —(与 P0 串行) | proposed | — |
|
||
| P3 | `add-wallet-settlement` | P0 | proposed | — |
|
||
| P4 | `add-mobile-h5` | P0、P3(软) | proposed | — |
|
||
| P5 | `add-merchant-onboarding` | — | proposed | — |
|
||
| P6 | `add-content-admin-ui` | — | archived | 2026-09-23 |
|
||
| P7 | `add-membership-messaging` | — | proposed | — |
|
||
|
||
状态取值:`proposed` → `implementing` → `verified`(tasks 全勾 + 测试/构建/smoke 通过)→ `archived`。
|
||
|
||
## 更新规则
|
||
|
||
1. 开始实现某 change:状态改 `implementing`。
|
||
2. 实现并验证完成(含 `cargo test -p vmall-api` 连跑两次全绿、受影响前端 build、浏览器 smoke):状态改 `verified`。
|
||
3. `openspec archive <name> --yes` 且 `openspec validate --all --strict` 全绿:状态改 `archived`,填归档日期。
|
||
4. 实施中发现新的跨 change 依赖:先更新本文件依赖图,再继续。
|
||
5. 全部 `archived` 后:删除本文件。
|