Skip to content

里程挑战详情页 PRD

版本: V1.3
更新日期: 2026-01-21
依赖: 通用组件规范更新内容: 新增关联信息展示规则(ClubCard/ResortCard)


一、模块定位

场景:官方/俱乐部发起的里程/落差/速度挑战赛,用户通过 GPS 轨迹自动累计成绩。

核心交互:查看规则 → 报名 → 滑雪自动累计 → 查看排名


二、差异化插槽区

2.1 排行榜区

┌────────────────────────────────────┐
│ 🏆 实时排行榜           Top 100 ▼  │
│ ┌────────────────────────────────┐ │
│ │ 🥇 雪疯子    太舞     128.5km  │ │
│ │ 🥈 粉雪控    万龙      98.2km  │ │
│ │ 🥉 单板小明  云顶      87.6km  │ │
│ │  4 冰雪女王  松花湖    76.3km  │ │
│ │  5 极限骑士  北大壶    71.8km  │ │
│ │        [查看完整榜单 ▼]        │ │
│ └────────────────────────────────┘ │
├────────────────────────────────────┤
│ 📈 我的战绩                        │
│ ┌────────────────────────────────┐ │
│ │ 当前排名  #42                   │ │
│ │ 累计里程  32.5 km               │ │
│ │ 距上一名  还差 2.3 km 🔥        │ │
│ └────────────────────────────────┘ │
└────────────────────────────────────┘

字段定义

字段名类型说明
排行榜数据数组榜单条目列表
我的排名整数当前用户排名
我的成绩小数当前用户累计成绩
距上一名差距小数与上一名的成绩差值
距获奖区差距小数与获奖名次的成绩差值(可选)
是否完赛布尔是否达到完赛门槛

榜单条目对象

字段名类型说明
排名整数名次
用户头像图片头像
用户昵称字符串昵称
所属俱乐部字符串俱乐部名称(可选)
成绩值小数成绩数值
单位字符串km/m/km/h

排行榜交互

操作行为
点击「查看完整榜单」展开至 Top 100
点击榜单用户跳转该用户个人主页
下拉刷新刷新排行榜数据

2.2 挑战规则区

┌────────────────────────────────────┐
│ 📋 挑战规则                        │
├────────────────────────────────────┤
│ 📊 统计维度:累计里程(公里)        │
│ 🎿 有效雪场:万龙、云顶、太舞        │
│ ⏰ 挑战周期:01/15 - 02/15          │
│ 🏅 完赛门槛:累计滑行 ≥ 10km        │
├────────────────────────────────────┤
│ 👥 参与范围:全网公开               │
│    (或:仅限 XX 俱乐部成员)        │
├────────────────────────────────────┤
│ 🎁 奖励设置                        │
│ • 🥇 第1名:品牌滑雪服一套          │
│ • 🥈 第2名:雪场年卡                │
│ • 🥉 第3名:雪具代金券 ¥500         │
│ • 🏅 完赛奖:限定勋章 + 100积分      │
└────────────────────────────────────┘

字段定义

字段名类型说明
挑战类型枚举里程/落差/速度
有效雪场数组有效雪场范围(空=全部有效)
开始时间时间戳挑战开始时间
结束时间时间戳挑战结束时间
完赛门槛小数最低有效成绩
参与范围枚举全网公开/仅限俱乐部成员
关联俱乐部对象俱乐部信息(仅限俱乐部时必填)
排名奖列表数组前 N 名奖品配置
参与奖对象完赛即得奖励

速度挑战安全提示:当挑战类型为「速度」时,须在规则区顶部显示安全警示:

⚠️ 安全提示:请在确保安全的前提下参与速度挑战,切勿超速滑行。

三、发布者卡片配置

发起身份展示样式
官方雪哒官方头像 + ✅官方认证
俱乐部俱乐部头像 + 🏔️俱乐部标签 + 成员数

四、完赛感言区(替代评价区)

┌────────────────────────────────────┐
│ 🗣️ 完赛感言 (23条)          [更多] │
│ ┌────────────────────────────────┐ │
│ │ 👤 雪疯子  🥇 第1名             │ │
│ │ 终于登顶了!感谢队友陪练!       │ │
│ │ 累计 128.5km · 01/28           │ │
│ └────────────────────────────────┘ │
└────────────────────────────────────┘

五、报名流程(底部抽屉)

交互:统一使用底部抽屉模式,保持交互一致性

┌────────────────────────────────────┐
│ 报名挑战                      [×]  │
├────────────────────────────────────┤
│ 挑战名称:崇礼开板首滑挑战          │
│ 挑战周期:01/15 - 02/15            │
│ 有效雪场:万龙、云顶、太舞           │
├────────────────────────────────────┤
│ ⓘ 报名后,您在有效雪场的滑行数据将  │
│   自动计入挑战成绩。                │
├────────────────────────────────────┤
│ ☑ 我已阅读并同意《挑战规则》        │
├────────────────────────────────────┤
│           [确认报名]               │
└────────────────────────────────────┘

付费挑战:若挑战设置报名费,底部抽屉显示费用明细和支付按钮


六、须知规则区配置

标题📋 数据说明

默认内容

  • 仅统计挑战周期内的有效滑行数据
  • 数据来源:APP 内置 GPS 轨迹记录
  • 异常数据(车载/缆车)将被自动过滤
  • 榜单每 5 分钟更新一次

七、底部操作栏配置

布局结构(三列版本)

┌─────────────────────────────────────────┐
│ [咨询] [收藏] │ ¥价格/免费 │ [主操作按钮] │
└─────────────────────────────────────────┘
元素说明
咨询按钮图标+文字,点击联系客服
收藏按钮图标+文字,切换收藏状态
价格区免费¥{报名费}
主按钮见下表

主按钮状态

状态按钮文案
未报名报名挑战
已报名去滑雪
挑战未开始敬请期待(置灰)
已结束已结束(置灰)

与雪友组局保持一致的三列布局,适用于社交属性较强的活动页面。

九、关联信息展示规则

V1.3 新增:遵循通用组件规范中的 ClubCard / ResortCard 定义

9.1 关联俱乐部 (ClubCard)

位置:发布者卡片下方

条件渲染:仅当活动配置了关联俱乐部时显示

9.2 关联雪场 (ResortCard)

位置:赛事规则区下方(页面底部)

条件渲染:仅当活动配置了关联雪场时显示


十、验收标准

  1. 排行榜实时性:上传轨迹后 5 分钟内排名更新
  2. 有效性过滤:非有效雪场的轨迹不计入成绩
  3. 时间范围过滤:挑战周期外的轨迹不计入
  4. 差距提示准确:「距上一名还差 X km」计算正确
  5. 完赛状态标记:达到门槛后显示「已完赛」标签
  6. 重复报名拦截:已报名用户再次点击显示「去滑雪」
  7. 俱乐部隔离:仅限俱乐部成员的挑战,非成员报名时提示「请先加入俱乐部」
  8. 速度挑战安全提示:速度类挑战必须显示安全警示文案

雪哒产品文档

请输入访问密码