43 lines
4.9 KiB
Markdown
43 lines
4.9 KiB
Markdown
# 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 距离/狗步拉回核心闭环,后置项改为轨迹回放与去噪。
|