This commit is contained in:
2026-06-25 18:24:29 +08:00
commit a1190d7d9a
90 changed files with 5459 additions and 0 deletions

260
wangquan-PRD.md Normal file
View File

@@ -0,0 +1,260 @@
# 汪圈 · 遛狗小程序 产品需求文档PRDV1
> 配套交付物:可点击交互原型 `wangquan-prototype.html`
> 本文档定义首版范围、页面、字段、交互规则与算法。原型看交互PRD 核字段与逻辑边界,两者配套使用。
---
## 0. 产品定位与首版范围
**一句话定位**:记录每一次遛狗,把单机行为变成有反馈、可积累的陪伴成果。
**核心闭环**:登录 → 建档狗狗 → 遛狗(实时记录)→ 生成成果卡 → 沉淀进狗狗主页。
**首版只做遛狗单机闭环**。所有社区、商业、本地信息功能均为 pending不进首版。理由单机闭环不依赖用户密度和内容供给是冷启动期唯一能保证有内容、有回访的部分。
### 首版做In Scope
| 模块 | 说明 |
|---|---|
| 微信登录 + 狗狗建档 | 首次进入链路 |
| 遛狗记录 | 计时、距离、狗步,含暂停、便便打卡 |
| 成果卡 | 遛完总结,拟人化反馈,分享 |
| 狗狗主页 | 累计数据、成就墙、近期记录 |
| 记录 Tab | 成就墙概览 + 遛狗历史 + 手动补记 |
| 完整成就页 | 已解锁/未解锁,进度展示 |
### 首版不做Pending见第 7 节 Roadmap
附近实时在线地图、夸一夸/拍一拍轻社交、坚持排行榜、汪友好友系统、广场/养宠知识信息站、宠物友好地点与市集、商城与今日上新。
---
## 1. 页面清单
底部导航三 Tab**记录 · 遛狗(中央凸起按钮)· 我的**。
中央按钮是「开始遛狗」动作入口,非页面 Tab。
| 编号 | 页面 | 类型 | 入口 |
|---|---|---|---|
| 0a | 欢迎 / 微信授权登录 | 全屏 | 首次打开 |
| 0b | 建档 / 编辑狗狗 | 表单 | 登录后(新用户)/ 主页编辑 |
| 0c | 多狗选择 | 弹层 | 多狗用户点遛狗 |
| 1 | 我的(首页/入口) | Tab 页 | 启动默认 / 底部「我的」 |
| 2 | 遛狗中 · 进行态 | 全屏 | 中央按钮 |
| 2b | 遛狗中 · 暂停态 | 全屏 | 进行态点暂停 |
| 3 | 成果卡 | 全屏 | 结束遛狗 |
| 4 | 狗狗主页 | 二级页 | 首页狗狗卡片 |
| 5 | 遛狗历史 + 补记 | 二级页 | 我的→遛狗历史 |
| 6 | 记录 Tab | Tab 页 | 底部「记录」 |
| 6b | 记录 Tab 空状态 | 状态 | 无记录的新用户 |
| 7 | 完整成就页 | 二级页 | 记录Tab成就墙 / 我的→成就 |
---
## 2. 字段表(遛狗记录)
核心原则:**自动的尽量自动,需要输入的全部后置到遛完且全部选填**。哪怕用户什么都不填,遛一次狗也能产出完整成果卡。
| 字段 | 采集方式 | 必填 | 用途 | 备注 |
|---|---|---|---|---|
| 时长 | 自动计时 | 是 | 核心数据、成果卡主轴 | 暂停时停止计时 |
| 距离 | GPS 累计 | 否 | 次级数据 | 未授权定位时隐藏 |
| 狗步 | 距离换算 | 否 | 拟人化展示 | 见第 4 节算法 |
| 连续天数 | 系统计算 | 是 | 坚持叙事、成就 | 补记可维持不断签 |
| 轨迹 | GPS 点序列 | 否 | 地图轨迹 | 首版可后置 |
| 哪只狗 | 选择/默认 | 是 | 多狗归属 | 单狗自动带入 |
| 照片 | 手动 | 否 | 未来 feed 内容 | 成果卡补充 |
| 文字 | 手动 | 否 | 记录心情 | 成果卡补充 |
| 天气 | 自动/手动 | 否 | 雨天战士等成就 | 可自动获取 |
| 便便打卡 | 手动开关 | 否 | 健康场景 | 遛狗中即时记录 |
| 心情标签 | 手动 | 否 | 情感记录 | 成果卡补充 |
| 数据来源 | 系统标记 | 是 | 区分实时/补记 | 见第 5 节补记规则 |
### 狗狗建档字段0b
| 字段 | 必填 | 用途 |
|---|---|---|
| 名字 | 是 | 拟人化文案(「豆豆走了…」),未建档时文案降级为通用版 |
| 犬种 | 是 | 映射体型档位,决定狗步步幅 |
| 性别 | 否 | 资料展示 |
| 年龄 | 否 | 资料展示 |
| 体重 | 否 | 狗步二次校准(见第 4 节) |
| 头像 | 否 | 资料展示 |
---
## 3. 交互规则
### 3.1 登录与首次进入0a → 0b → 1
- 首次打开进登录页0a微信一键授权登录。
- 登录后判断:**用户是否建档过狗狗** —— 这是状态判断,非固定跳转。
- 未建档 → 进建档页0b完成后进首页。
- 已建档(老用户)→ 跳过建档,直接进首页。
- 0a 必须包含用户协议、隐私政策(合规要素)。
### 3.2 开始遛狗(中央按钮)
- 单只狗 → 跳过选择直接进遛狗中2
- 多只狗 → 弹多狗选择层0c可多选一起遛确认后进遛狗中。
- 边界:未建档任何狗 → 拦截并引导先建档,不可直接遛狗。
### 3.3 遛狗中2 / 2b
- 进行态:计时器每秒自增;距离/狗步实时累计(依赖定位)。
- 便便打卡为行内开关,遛狗中即时记录。
- 暂停(→ 2b停止计时时长与数据置灰地图区提示「计时已停止」。常见停顿等狗、捡便便用暂停避免污染数据。
- 暂停态主按钮为「继续」(蓝色,提示恢复),并列「结束」。
- 结束必须二次确认弹窗防误触毁掉记录确认后生成成果卡3
### 3.4 定位降级
- 未授权定位时:距离、狗步两项隐藏,仅保留时长。闭环依然成立。
- 首版不强制请求定位权限,避免首次使用被权限弹窗劝退;定位作为可选增强。
### 3.5 成果卡3
- 视角是「豆豆走了 X 狗步」,非「你遛了」——拟人化是与运动 App 的根本区别。
- 所有补充字段(照片/文字/天气/心情)集中此页且全部选填,跳过可保存。
- 分享按钮为首选项(拉新入口)。
- 「完成」后记录沉淀进狗狗主页近期记录。
### 3.6 狗狗主页4
- 累计数据:总次数 / 总公里 / 连续天数。**不展示配速、卡路里**——记录陪伴厚度而非运动表现。
- 成就墙显示进度(如 3/12露出未解锁灰锁制造收集欲。
- 近期记录点击 → 单次记录详情页(见第 6 节待补项,首版可暂跳成果卡只读态)。
- 右上编辑 → 建档/编辑表单0b预填已有值标题改「编辑资料」。
### 3.7 记录 Tab6 / 6b
- 内部两块:成就墙概览(横向)+ 遛狗历史列表,顶部「+补记」入口。
- 成就墙概览点击 → 完整成就页7
- 空状态6b新用户无记录时显示。俏皮文案引导去遛狗 + 「带豆豆出门」按钮。成就墙不藏显示全灰「0/X 待解锁」制造期待。文案中的狗名动态替换;未建档时降级为通用文案。
- 遛完第一次 → 自动从空状态切为正常态。
### 3.8 成就系统
- 成就基于「连续 / 累计 / 场景」,**不基于「最多」**——避免刷量与过度遛狗,强化坚持叙事。
- 示例首遛、一周不断连续7天、满月坚持连续30天、百里同行累计100km、雨天战士、早起鸟。
- 「记录」Tab 与「我的→成就」两个入口指向**同一完整成就页**,文案统一叫「成就」,避免用户误以为是两个东西。
---
## 4. 狗步计算算法
### 4.1 核心公式
```
狗步 = round( 距离(米) / 步幅 S )
```
步幅 S 由**体型档位**决定(非具体品种),是品种间差异的来源。
### 4.2 体型档位表
| 体型档位 | 代表品种 | 步幅 S米/步) | 走 1km ≈ 狗步 |
|---|---|---|---|
| 超小型 | 吉娃娃、博美 | 0.20 | 5,000 |
| 小型/短腿 | 柯基、腊肠、比熊 | 0.25 | 4,000 |
| 中型 | 柴犬、边牧、斗牛 | 0.35 | 2,860 |
| 大型 | 金毛、拉布拉多 | 0.45 | 2,220 |
| 超大型 | 德牧、阿拉斯加 | 0.55 | 1,820 |
### 4.3 品种 → 档位映射
- 建档选具体品种 → 系统自动归入对应体型档位(映射表内置)。
- 中华田园犬 / 串串 / 找不到的品种 → 让用户**手动选体型档位**。
- 不做「每品种一个系数」——犬种过多、混血无法归类,会卡住用户。
### 4.4 体重二次校准(可选)
填了体重时,在档位基础步幅上做微调:
```
S = 基础步幅 × ( 1 + (体重 - 档位标准体重) × 0.005 )
修正幅度封顶 ±15%
```
未填体重 → 用档位基础步幅,不影响闭环。
### 4.5 关键约束:狗步只是展示层
- 狗步被品种系数放大/缩小过,**跨狗比较无意义**(柯基天生狗步多 ≠ 遛得多)。
- 底层入库、用于成就与未来排行榜计算的,一律是**距离和时长**等客观量。
- 狗步仅在成果卡、狗狗主页做拟人化展示。
- 一句话:**客观量入库,狗步只露脸。**
---
## 5. 手动补记规则
- 入口:记录 Tab / 遛狗历史页 右上「+」。
- 用途:用户忘记开 App 就出门遛,遛完事后补填时长/距离。
- 字段:哪只狗、时间、时长(必填),距离(选填)。
- 标识:补记记录带「补记」标识,数据层标记 `数据来源 = 补记`
- **计分规则(关键)**
- 补记**可维持连续打卡不断签**(保护坚持叙事,避免用户因忘开 App 而委屈)。
- 补记**不计入未来排行榜竞争**(防刷量)。
- 故数据层必须区分「实时记录」与「补记记录」两种来源。
---
## 6. 待补项(建议补,不阻塞首版上线)
这些不一定都要画屏,但开发实现时会碰到,需在本文档明确:
1. **单次记录详情页**:回看旧记录应为只读详情页(数据 + 当时填的天气/心情/照片 + 删除/编辑),不应复用带「分享/完成」按钮的成果卡。原型中暂用成果卡占位。
2. **设置页**:至少含定位权限管理(数据降级开关)、关于、隐私政策。
3. **边界态文案**
- 定位未授权时遛狗中页的降级样式(距离/狗步隐藏)。
- 未建档狗就想遛狗的拦截引导。
- 补记成功后的反馈 toast。
- 删除记录的二次确认。
4. **分享卡片样式**(建议尽早做,拉新关键):点「生成图片分享」后那张图的视觉。
---
## 7. RoadmapPending 功能与时序)
首版后按以下时序逐步迭代,每一步都以「单机闭环已跑通、有局部用户密度」为前提:
| 阶段 | 功能 | 说明 |
|---|---|---|
| 首版 | 遛狗单机闭环 | 本文档定义范围 |
| 阶段二 | 成果卡被夸(轻社交第一张牌) | 见 7.1 |
| 阶段三 | 坚持排行榜 | 奖励连续/达标,非「最多」;竞争圈切小(附近/同犬种) |
| 阶段四 | 实时在线地图 | 见 7.1,验证后再上,重隐私工程 |
| 更后 | 汪友、本地信息站、商城 | 视社区牵引力决定 |
### 7.1 附近轻社交:先做异步「被夸」,慎做实时地图
**情感钩子**:遛狗时/遛完能「被夸一夸、拍一拍」,成果卡显示「这次遛狗被 N 人夸了夸」,给单机行为注入社交正反馈。
**两种形态对比**
| | 实时在线地图 | 成果卡被夸(异步,建议先做) |
|---|---|---|
| 体验 | 即时、好玩 | 温和 |
| 位置隐私 | 暴露实时位置(红线) | 不暴露(遛完才发,位置模糊到行政区) |
| 密度依赖 | 强依赖同时在线 | 异步,不靠同时在线 |
| 冷启动 | 0 在线时是空壳 | 旧记录也能被夸,供给更稳 |
**建议**:先做异步「成果卡被夸」——成果卡进入同城/同区可见的轻量动态流,他人对已完成记录点「夸夸」。验证用户确实爱「被夸」后,再评估是否上「实时在线地图」这一重形态。
**实时地图若要做,隐私是硬约束(按隐私工程对待,非地图功能)**
- 默认模糊化:只显示「附近约 N 只在线」或网格化区域,**绝不显示精确点位和轨迹**。
- 必须显式授权,提供一键隐身。
- 绝不展示狗主人身份信息。
- 「拍一拍」需频率限制 + 举报机制,防骚扰与刷量。
---
## 8. 设计风格
视觉方向:「晨霜 V3」暖色磨砂玻璃。暖米底色、磨砂玻璃导航栏、琥珀暖橙作主色呼应狗步的温度感刻意避开冷色运动 App 观感。具体设计令牌见原型 `wangquan-prototype.html` 的 CSS 变量定义。
---
*文档版本 V1 · 配套原型 wangquan-prototype.html*