Files
Pet3/docs/07-PRD对齐评审.md
2026-06-25 18:24:29 +08:00

43 lines
4.9 KiB
Markdown
Raw Permalink 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.
# 07 · PRD 对齐评审
> 目的:逐条对比 `wangquan-PRD.md` 与 `docs/` 落地设计,判断哪一边方案更合理,并记录已经写回设计文档的结论。
## 结论总览
整体方向以 PRD 为产品边界,以 `docs/` 为工程落地方式。PRD 在产品范围、狗步算法、定位降级、拟人化表达上更完整;`docs/` 在技术选型、云函数拆分、安全、防刷、后台计时恢复上更落地。最终方案采用「PRD 定边界docs 定实现」的组合。
## 逐条对比
| 项 | PRD 方案 | docs 原方案 | 哪边更好 | 最终修改 |
|---|---|---|---|---|
| V1 范围 | V1 包含计时、距离、狗步;轨迹可后置 | 计时先跑通GPS 距离/狗步后置 | PRD 更好。距离/狗步是成果卡拟人化的关键,不应整体后置 | V1 纳入可选 GPS 距离与狗步后置仅保留轨迹回放、GPS 去噪 |
| 定位权限 | 首版不强制定位,未授权隐藏距离/狗步 | 降级处理有,但把距离/狗步存 null 作为阶段方案 | PRD 更清晰 | 明确“授权则增强,未授权则降级”,首次打开不强制索权 |
| 狗步算法 | 体型档位决定步幅,体重可二次校准 | `breedFactor` 犬种系数 | PRD 更好。犬种系数会把模型复杂化,也不利于串串/未知犬种 | 改为 `sizeLevel/baseStride/stride`,未知犬种手动选体型 |
| 多狗同遛狗步 | 支持多狗一起遛,但 PRD 未展开字段结构 | 单个 `dogSteps` 字段 | 组合后更好。多狗同遛时每只狗步幅不同,不能只存一个狗步 | 改为 `dogStepsByDog: { [dogId]: steps }`,服务端按每只狗 `stride` 计算 |
| 狗步用途 | 狗步只是展示层,不用于跨狗比较、成就、排行 | 有 `totalSteps`,但约束不够明确 | PRD 更好 | 文档补充:成就/排行只用距离、时长、连续天数等客观量 |
| 登录建档分流 | 登录后按是否已有狗判断进入建档或首页 | `login` 返回 `hasDog` | docs 更落地 | 保留 `hasDog` 云函数方案 |
| 建档字段 | 名字、犬种必填,其余选填 | 同 PRD | 一致 | 保留,补充未知犬种体型选择 |
| 计时与暂停 | 暂停停止计时,结束二次确认 | 时间戳差值 + `pausedTotal`,支持后台恢复 | docs 更好 | 保留 docs 的时间戳实现PRD 规则不变 |
| 成果卡补充字段 | 照片/文字/天气/心情集中成果卡,全部选填 | `walkSave` 入参混在结束保存里,计划里提到 attach 但设计不完整 | PRD 交互更好docs 的 attach 思路更落地 | `walkSave` 明确拆成 `finish``attach` 两个动作 |
| 成果卡分享 | 分享是首选 CTA分享图样式建议尽早做 | Canvas 分享图在增长阶段 | docs 更务实 | 保留增长阶段,但成果卡仍保留分享 CTA |
| 狗狗主页统计 | 总次数/总公里/连续天数,不要配速/卡路里 | 同 PRD | 一致 | 保留 |
| 记录 Tab | 成就概览 + 历史 + 补记;空状态露出灰锁 | 同 PRD | 一致 | 保留 |
| 手动补记 | 可维持连续,不计未来排行榜,标记数据来源 | `isManual` + `countsForRanking` | 组合后更好 | 增加 `source='manual'/'realtime'`,保留 `isManual` 便于展示 |
| 连续天数算法 | 补记可不断签,以日期判断 | docs 写了同日/昨日/断签逻辑 | docs 更落地 | 保留 docs 算法 |
| 成就体系 | 按连续/累计/场景,不按最多 | 同 PRD且有 `dog_achievements` 集合 | docs 更落地 | 保留集合设计,强调按狗维度 |
| 单次记录详情页 | 建议补,只读详情页更合理;首版可暂用成果卡只读态 | 历史项直接跳 summary 回看 | PRD 更完整docs 更省实现 | V1 允许 `summary` 只读占位,但禁止出现“完成”等流程按钮;后续补 `record-detail` |
| 设置页 | PRD 建议补定位权限、关于、隐私政策 | docs 未纳入页面清单 | PRD 更完整,但不阻塞 V1 主闭环 | 暂不扩页面清单,作为后续待补项处理 |
| 技术选型 | PRD 不限定 | 原生小程序 + 云开发 | docs 更好 | 保留 |
| 安全与防刷 | 需要区分实时/补记,防排行刷量 | 所有写操作走云函数openid 服务端取,客户端禁写 | docs 更好 | 保留并补充 `source` 字段 |
| Pending 功能 | 社区、附近、排行榜、信息站、商城不进首版 | 同 PRD | 一致 | 保留 |
## 已写回的文档
- `README.md`:更新 V1 范围和文档索引。
- `01-架构设计.md`:补充定位会话字段,修正 `dogStep.js` 职责。
- `02-数据模型.md`:改为体型档位/步幅模型,新增 `source``dogStepsByDog`
- `03-云函数设计.md`:补齐 `dogManage` 步幅计算、`walkSave finish/attach`、服务端狗步计算。
- `04-页面与路由.md`:明确定位增强、历史回看只读占位。
- `05-业务规则.md`:重新整理必落地规则,新增狗步算法和定位规则。
- `06-开发计划.md`:把 V1 距离/狗步拉回核心闭环,后置项改为轨迹回放与去噪。