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

109 lines
4.1 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 当前技术与文档决策
本文档只记录当前有效决策,避免非当前技术路径干扰后续开发。
## DEC-001后端采用 Python + FastAPI 技术栈
状态:已接受
当前后端服务位于 `WonderQ-Admin`,技术栈为 Python、FastAPI、SQLAlchemy 2、Alembic、PostgreSQL、JWT 和 Pydantic。
原因:
- 当前代码和文档已经围绕该技术栈落地。
- Alembic 负责数据库迁移,适合继续演进 PostgreSQL 结构。
- FastAPI 与 Pydantic 能清晰表达 Public API 和 Admin API 的请求响应契约。
影响:
- 后端文档以 `backend-api-service.md``backend-plan.md` 为准。
- 不在当前文档中保留其它后端技术栈规划。
## DEC-002Public API 与 Admin API 分离
状态:已接受
`WonderQ-MiniAPP` 只对接 `/api/public/...`,不依赖后台鉴权;`WonderQ-Admin-UI` 只对接 `/api/admin/...`,除登录外均需要后台登录态。
原因:
- 前台展示和后台运营权限边界不同。
- Public API 需要过滤未发布或未启用内容。
- Admin API 需要返回运营维护所需的完整配置和草稿数据。
影响:
- `public-api.md` 是 MiniAPP 对接后端的唯一 Public API 契约。
- `admin-api-requirements.md` 是 Admin UI 对接后端的主契约。
## DEC-003页面模块 CRUD 细节以 `module-config-api.md` 为准
状态:已接受
首页轮播、目的地、地图、主题卡、特价优惠、精选线路、特色酒店、万趣用车和更多服务的新增、更新、删除、排序细节,统一维护在 `module-config-api.md`
原因:
- 页面模块字段多、规则细,放在 Admin API 主文档里会造成重复。
- 管理前端和后端实现都需要同一份细粒度契约。
影响:
- `admin-api-requirements.md` 只保留站点配置主接口和模块入口说明。
- 任何页面模块字段、状态码、排序、媒体上传规则变化,都先更新 `module-config-api.md`
## DEC-004文档保持扁平结构
状态:已接受
`docs/` 目录不再按子项目分目录,所有当前文档直接放在 `docs/` 根目录。
原因:
- 当前项目只有少量关键文档,扁平结构查找更快。
- 三端联调需要跨项目阅读,按子项目分目录会增加跳转成本。
影响:
- `docs/README.md` 是唯一文档入口。
- 新文档必须在 `docs/README.md` 登记。
## DEC-005当前文档只服务现行架构
状态:已接受
当前文档集中只保留服务现行架构和三端联调的内容。
原因:
- 非当前技术路径会干扰三端当前开发判断。
- 当前任务目标是提高后端、管理前端和 MiniAPP 的开发进度,文档需要服务现行架构。
影响:
- 新成员只需要阅读当前文档即可理解现行协作方式。
- 如未来需要记录重大调整,直接新增当前决策或更新本文件。
## DEC-006MiniAPP 采用简约、内容优先的移动端视觉风格
状态:已接受
`WonderQ-MiniAPP` 的 H5 与微信小程序前台统一采用扁平、低装饰的简约风格。内容图片和信息层级优先于装饰效果,交互状态通过颜色、边框和轻量动效表达。
原因:
- 旅行内容页需要让用户快速扫描目的地、线路和服务入口,复杂背景和重装饰会削弱信息层级。
- H5 与小程序运行设备性能差异较大,减少渐变、模糊和重阴影可以降低渲染负担并提高跨端一致性。
- 固定导航采用稳定布局,避免浮动徽章和缩放动画造成视觉干扰或布局跳动。
约定:
- 基础色使用白色、浅灰和低饱和绿色;主操作使用绿色,价格等业务强调色保持低饱和暖色。
- 卡片、输入框和按钮优先使用 8-12px 圆角、细边框和轻阴影;不新增大面积渐变、装饰性光晕或重阴影。
- 复用 `WonderQ-MiniAPP/src/app.css``--wq-*` 设计变量及共享组件样式,页面局部样式不得重新建立一套颜色和阴影体系。
影响:
- 新增或调整 MiniAPP 页面时,应先复用共享样式,再补充页面特有布局。
- 如确需引入明显装饰效果,需要在页面需求中说明其内容价值,并同步更新本决策。