跳到主要内容

投票模块

一、模块定位

投票模块是足球季活动的核心互动模块,让用户每日为喜欢的球队投出助威一票,营造参与感和仪式感。

关于活动整体背景和全局规则,请见 足球季活动全局


二、功能需求清单

2.1 球队列表展示

  • 活动上线后,页面展示 48 支参赛球队
  • 每支球队以该国球员的卡通形象展示
  • 用户可浏览所有球队,自由选择支持对象

2.2 球员详情查看(二级确认)

  • 用户点击某球队的球员卡通头像,弹出球员大图确认面板
  • 大图面板上展示球员详细信息和"助威"按钮
  • 用户需在大图面板上点击"助威"才算完成投票,防止误操作

2.3 投票操作

  • 用户点击"助威"按钮后,投票成功,当日投票完成
  • 投票成功后给予明确反馈(动效/提示)
  • 投票完成后,自动获得 1 张抽奖券(详见 抽奖模块

2.4 每日投票机制

  • 每天可重新投票一次
  • 当日投票后,不可更改(当天锁定)
  • 次日 0 点重置,用户可投给任意球队(不要求和昨天一样)

2.5 球队数据来源

  • 48 支参赛球队数据由前端写死(硬编码在代码中),不依赖后台接口
  • 每支球队需包含:国家名称、球员卡通头像图片、球员详情信息
  • 图片资源打包在前端项目中或通过 CDN 静态链接引用
  • 活动期间球队数据不变,无需支持动态配置

三、业务规则与约束

3.1 投票频率限制

规则说明
每日可投次数1 次
投票重置时间每日 0 点
当日是否可改票不可以
未投票是否可补不可以(过期作废)

3.2 投票记录展示

  • 不需要展示用户之前的历史投票记录
  • 仅展示当日投票状态:未投票 / 已投票(含当日投给哪支球队)

3.3 投票前置条件

  • 用户必须在 App 内打开活动页面(已登录状态)
  • 活动处于"进行中"状态

3.4 边界场景

场景处理方式
用户今日已投票,再次点击其他球队提示"今日已投票,明日再来"
用户在 23:59 投票,跨入次日投票归属以提交时间为准
网络中断导致投票提交失败提示"投票失败,请重试",不消耗当日次数
活动结束后用户尝试投票入口关闭或提示"活动已结束"