Files
WonderQ-Project/docs/development-status.md
2026-08-11 19:19:11 +08:00

109 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WonderQ 开发状态矩阵
本文档用来快速判断三端当前对接状态。状态以现有文档和接口契约为准,不替代实际构建、测试和联调结果。
## 状态说明
| 状态 | 含义 |
| --- | --- |
| 已覆盖 | 文档中已有明确契约,后端或前端已有对应调用说明 |
| 已封装 | 前端已有客户端封装,但页面不一定展示 |
| 当前使用 | 当前页面或启动流程依赖该能力 |
| 后续接入 | 契约已保留,当前页面可暂不依赖 |
| 需实测 | 需要本地启动三端后验证 |
## 三端总览
| 能力 | 后端 `WonderQ-Admin` | 管理前端 `WonderQ-Admin-UI` | 前台 `WonderQ-MiniAPP` | 说明 |
| --- | --- | --- | --- | --- |
| 健康检查 | 已覆盖 | 需实测 | 需实测 | `GET /health` |
| Public 站点配置 | 已覆盖 | 不直接使用 | 当前使用 | `GET /api/public/site-config` |
| Public 产品列表 | 已覆盖 | 不直接使用 | 当前使用 | `GET /api/public/products` |
| Public 产品详情 | 已覆盖 | 不直接使用 | 后续接入 | MiniAPP 当前主要使用产品列表缓存 |
| Public 目的地列表 | 已覆盖 | 不直接使用 | 后续接入 | 首页目的地当前来自 `site-config.destinations` |
| Public 线索提交 | 已覆盖 | 不直接使用 | 当前使用 | `POST /api/public/leads` |
| Admin 登录 | 已覆盖 | 当前使用 | 不使用 | `POST /api/admin/auth/login` |
| Admin 商品维护 | 已覆盖 | 当前使用 | 不使用 | 商品列表、新建、更新 |
| Admin 目的地维护 | 已覆盖 | 当前使用 | 不使用 | 返回别名和商品计数 |
| Admin 站点配置 | 已覆盖 | 当前使用 | 不使用 | 完整站点配置读取 |
| 页面模块 CRUD | 已覆盖 | 当前使用 | 不使用 | 细节以 `module-config-api.md` 为准 |
| 目的地页数据联调 | 已覆盖 | 当前使用 | 当前使用 | Admin UI 维护 `destinationHero`、`destinationRegions`、`destinations` 和商品 `destinationId`;MiniAPP 目的地页消费 `site-config.destinationHero`、`site-config.destinationRegions`、`site-config.destinations` 与 `products.items` |
| 需求页数据配置联调 | 已覆盖 | 当前使用 | 当前使用 | Admin UI 维护 `demandHero`、`demandFeatureCards`、`demandForm`、`demandRecommendations`,MiniAPP 需求页消费对应配置并按 `productIds` 匹配 `products.items` |
| Admin 线索跟进 | 已覆盖 | 当前使用 | 不使用 | 线索列表和状态流转 |
| 发布站点配置 | 已覆盖 | 当前使用 | 不使用 | `POST /api/admin/publish` |
| 贵州内容重置 | 已覆盖 | 当前使用 | 不使用 | 高风险操作,需鉴权和审计 |
| 媒体上传 | 契约已定义 | 当前使用 | 不使用 | 见 `module-config-api.md` 图片素材上传 |
## 目的地页优先联调路径
1. Admin UI 登录后进入“目的地页”,后台模块名称与前台三个区块一一对应为“顶部主视觉”“热门区域”“省内目的地”。
2. 在“顶部主视觉”新增或编辑主视觉标题、小标题、图片、启停和排序。
3. 在“热门区域”新增或编辑区域名称、搜索关键词、景点摘要、启停和排序。
4. 在“省内目的地”新增目的地,编辑名称、图片、热门状态、启停和排序。
5. 在“商品维护”新建或编辑商品,绑定 `destinationId` 并设置 `status="published"`。
6. MiniAPP 启动后并行读取 `GET /api/public/site-config` 与 `GET /api/public/products`。
7. MiniAPP 目的地页验证顶部主视觉来自 `site-config.destinationHero`,热门区域来自 `site-config.destinationRegions`,省内目的地卡片来自 `site-config.destinations`;点击区域或目的地后搜索结果能命中绑定商品。
8. 删除无商品引用的测试目的地应成功;删除仍被商品引用的目的地应返回 `409 MODULE_CONFIG_CONFLICT`。
## 需求页联调路径
1. Admin UI 登录后进入“需求线索”,页面模块名称与前台区块一一对应为“顶部定制说明”“服务说明卡”“需求表单配置”“热门推荐线路”“线索查询跟进”。
2. 在前 4 个配置模块中新增、编辑、删除、排序、启停;`demandForm` 为单例配置,不提供排序。
3. 在“热门推荐线路”选择已发布商品并调整顺序;该操作只维护商品 ID 关联,不删除商品本体。
4. MiniAPP 启动后并行读取 `GET /api/public/site-config` 与 `GET /api/public/products`。
5. MiniAPP 需求页验证顶部说明、服务卡、表单文案/快捷选项和热门推荐来自 `site-config`;缺字段或无匹配商品时回退本地内容。
6. 在需求页提交表单后,Admin UI “线索查询跟进”可按状态、来源、关键词、提交时间范围查询,并支持行内状态更新。
## 通用联调路径
1. 后端健康检查、迁移和 seed。
2. Admin UI 登录、读取 `GET /api/admin/site-config`。
3. Admin UI 页面模块新增、更新、删除、排序。
4. MiniAPP 启动并读取 `site-config` 与 `products`。
5. MiniAPP 提交线索,Admin UI 在线索列表查看并变更状态。
6. Admin UI 发布站点配置,MiniAPP 刷新验证展示结果。
## 验证命令
```powershell
Set-Location D:\www\znkj\WonderQ-Project\WonderQ-Admin
.\.venv\Scripts\python.exe -m pytest
```
```powershell
Set-Location D:\www\znkj\WonderQ-Project\WonderQ-Admin-UI
yarn build
```
```powershell
Set-Location D:\www\znkj\WonderQ-Project\WonderQ-MiniAPP
yarn test
```
本轮目的地页联调已执行:
- `WonderQ-Admin`: `.\.venv\Scripts\python.exe -m pytest`,69 passed;`.\.venv\Scripts\python.exe -m alembic upgrade head`,迁移到 `0007_destination_page_modules`。
- `WonderQ-Admin-UI`: `yarn build`,通过。
- `WonderQ-MiniAPP`: `yarn test`,11 passed;`yarn build:h5`、`yarn build:mp-weixin` 均通过。
本轮需求页配置与线索查询联调验证项:
- `WonderQ-Admin`: `.\.venv\Scripts\python.exe -m pytest`,78 passed;`.\.venv\Scripts\python.exe -m alembic upgrade head`,迁移到 `0008_demand_page_modules`。
- `WonderQ-Admin-UI`: “需求线索”结构页已接入 5 个模块;线索列表已接状态、来源、关键词、提交时间范围查询和行内状态更新;`yarn build` 通过。
- `WonderQ-MiniAPP`: 需求页已消费 `demandHero`、`demandFeatureCards`、`demandForm`、`demandRecommendations`;`yarn test`,13 passed;`yarn build:h5`、`yarn build:mp-weixin` 均通过。
- 浏览器检查:MiniAPP H5 需求页关键区块可见;Admin UI 侧边栏“需求线索”进入结构页后展示“顶部定制说明”“服务说明卡”“需求表单配置”“热门推荐线路”“线索查询跟进”五个模块。
- 未执行 `python -m app.seed`:本轮约束为不做内容重置或 seed 覆盖,避免改写开发库已有内容。
## 近期风险点
- `admin-api-requirements.md` 与 `module-config-api.md` 的边界必须保持清楚:前者描述管理端主接口,后者是页面模块 CRUD 的唯一细节来源。
- MiniAPP 依赖本地 fallback,接口为空和接口失败都要验证。
- 线索手机号等隐私字段只在必要页面展示,日志和文档示例不得出现真实值。
- 重置内容、seed、迁移、发布和回滚需要额外确认,避免影响生产数据。
## 更新规则
- 接口契约变化后,同步更新本文件对应状态。
- 状态从“需实测”改为“当前使用”前,必须完成本地三端联调验证。
- 新增模块时先写契约文档,再实现后端和前端调用。