完课数据模块
一、模块定位
完课数据模块负责获取用户在活动期间的学习完课统计,为冠军皮肤奖励的达标判定提供数据依据,同时在活动页面展示用户的完课进度。
关于活动整体背景和全局规则,请见 足球季活动全局。
二、功能需求清单
2.1 完课数据获取
- 完课数据由其他开发同事提供专用查询入口
- 该入口需通过签名认证方式鉴权,确保数据安全
- 获取用户活动期间的累计完课节数(多学科累计)
2.2 完课数据展示
- 活动页面展示用户的完课统计信息
- 展示维度:
- 累计完成课程节数(总数)
2.3 完课进度引导
- 展示距离冠军皮肤奖励还需完成多少节课
- 当完课达标时,给予达标提示(如"已达标"标识)
- 冠军皮肤的完课阈值为活动期间累计 ≥ 10 节(即至少 10 节)
三、业务规则与约束
3.1 数据范围
| 规则 | 说明 |
|---|---|
| 统计时间范围 | 活动期进行中 |
| 学科范围 | 多学科累计计算,不限单一学科 |
| 数据来源 | 由外部系统提供的专用查询入口 |
| 鉴权方式 | 签名认证 |
3.2 前置条件
- 用户必须在 App 内打开活动页面
- 外部查询入口在活动期间保持可用
3.3 边界场景
| 场景 | 处理方式 |
|---|---|
| 外部查询入口暂时不可用 | 展示"完课数据暂不可用",不影响投票和抽奖功能 |
| 用户活动期间无完课记录 | 展示完课数为 0,引导用户去学习 |
| 数据返回延迟 | 页面先展示加载状态,超时后提示重试 |
| 活动期间外部接口数据范围变化 | 以最终活动结束时的数据快照为准 |