# 汪圈 · 遛狗小程序 产品需求文档(PRD)V1 > 配套交付物:可点击交互原型 `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 记录 Tab(6 / 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. Roadmap(Pending 功能与时序) 首版后按以下时序逐步迭代,每一步都以「单机闭环已跑通、有局部用户密度」为前提: | 阶段 | 功能 | 说明 | |---|---|---| | 首版 | 遛狗单机闭环 | 本文档定义范围 | | 阶段二 | 成果卡被夸(轻社交第一张牌) | 见 7.1 | | 阶段三 | 坚持排行榜 | 奖励连续/达标,非「最多」;竞争圈切小(附近/同犬种) | | 阶段四 | 实时在线地图 | 见 7.1,验证后再上,重隐私工程 | | 更后 | 汪友、本地信息站、商城 | 视社区牵引力决定 | ### 7.1 附近轻社交:先做异步「被夸」,慎做实时地图 **情感钩子**:遛狗时/遛完能「被夸一夸、拍一拍」,成果卡显示「这次遛狗被 N 人夸了夸」,给单机行为注入社交正反馈。 **两种形态对比**: | | 实时在线地图 | 成果卡被夸(异步,建议先做) | |---|---|---| | 体验 | 即时、好玩 | 温和 | | 位置隐私 | 暴露实时位置(红线) | 不暴露(遛完才发,位置模糊到行政区) | | 密度依赖 | 强依赖同时在线 | 异步,不靠同时在线 | | 冷启动 | 0 在线时是空壳 | 旧记录也能被夸,供给更稳 | **建议**:先做异步「成果卡被夸」——成果卡进入同城/同区可见的轻量动态流,他人对已完成记录点「夸夸」。验证用户确实爱「被夸」后,再评估是否上「实时在线地图」这一重形态。 **实时地图若要做,隐私是硬约束(按隐私工程对待,非地图功能)**: - 默认模糊化:只显示「附近约 N 只在线」或网格化区域,**绝不显示精确点位和轨迹**。 - 必须显式授权,提供一键隐身。 - 绝不展示狗主人身份信息。 - 「拍一拍」需频率限制 + 举报机制,防骚扰与刷量。 --- ## 8. 设计风格 视觉方向:「晨霜 V3」暖色磨砂玻璃。暖米底色、磨砂玻璃导航栏、琥珀暖橙作主色(呼应狗步的温度感),刻意避开冷色运动 App 观感。具体设计令牌见原型 `wangquan-prototype.html` 的 CSS 变量定义。 --- *文档版本 V1 · 配套原型 wangquan-prototype.html*