4.1 KiB
4.1 KiB
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-002:Public 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-006:MiniAPP 采用简约、内容优先的移动端视觉风格
状态:已接受
WonderQ-MiniAPP 的 H5 与微信小程序前台统一采用扁平、低装饰的简约风格。内容图片和信息层级优先于装饰效果,交互状态通过颜色、边框和轻量动效表达。
原因:
- 旅行内容页需要让用户快速扫描目的地、线路和服务入口,复杂背景和重装饰会削弱信息层级。
- H5 与小程序运行设备性能差异较大,减少渐变、模糊和重阴影可以降低渲染负担并提高跨端一致性。
- 固定导航采用稳定布局,避免浮动徽章和缩放动画造成视觉干扰或布局跳动。
约定:
- 基础色使用白色、浅灰和低饱和绿色;主操作使用绿色,价格等业务强调色保持低饱和暖色。
- 卡片、输入框和按钮优先使用 8-12px 圆角、细边框和轻阴影;不新增大面积渐变、装饰性光晕或重阴影。
- 复用
WonderQ-MiniAPP/src/app.css的--wq-*设计变量及共享组件样式,页面局部样式不得重新建立一套颜色和阴影体系。
影响:
- 新增或调整 MiniAPP 页面时,应先复用共享样式,再补充页面特有布局。
- 如确需引入明显装饰效果,需要在页面需求中说明其内容价值,并同步更新本决策。