Skip to content

功能拆解与 WBS

工作分解结构(WBS)

前端模块

1. 基础架构(复杂度:Low)

  • [ ] H5 页面框架搭建
  • [ ] 响应式布局适配(移动端 + 横竖屏)
  • [ ] 状态管理模块(Ban/Pick 阶段、当前队伍、选中资源)
  • [ ] 资源数据结构设计(球队/球员 JSON 配置)
  • [ ] CSS 样式系统(配色方案、组件样式)

2. 资源展示模块(复杂度:Low)

  • [ ] 资源池卡片网格渲染
  • [ ] 球队/球员图片加载与缓存
  • [ ] 卡片状态样式切换(默认/Ban/Pick)
  • [ ] 卡片悬停交互效果
  • [ ] 资源筛选/搜索功能(可选)

3. Ban/Pick 核心逻辑(复杂度:Medium)

  • [ ] 阶段控制器(Ban 阶段 / Pick 阶段切换)
  • [ ] 轮次管理(当前操作队伍判定)
  • [ ] 资源唯一性校验(防止重复选择)
  • [ ] Ban 槽位限制(每个队伍固定 Ban 数量)
  • [ ] Pick 槽位限制(每个队伍固定 Pick 数量)
  • [ ] 选择顺序规则实现(交叉选择/对称选择)
  • [ ] 撤销操作(支持退回上一步选择)

4. 阵列管理模块(复杂度:Medium)

  • [ ] Team A 阵列面板渲染
  • [ ] Team B 阵列面板渲染
  • [ ] 已选资源动态更新
  • [ ] Ban 槽位显示(锁定图标列表)
  • [ ] 阵列卡片排序(按选择顺序)

5. 动效模块(复杂度:High)

  • [ ] Ban 动效实现(卡片变灰+锁定图标弹出)
  • [ ] Pick 动效实现(卡片移动到对阵面板)
  • [ ] 队伍切换提示动画(面板高亮闪烁)
  • [ ] 卡片选中反馈动画(缩放+高亮)
  • [ ] 完成阶段阵容展示动画
  • [ ] 动效性能优化(使用 CSS Transform/GPU 加速)

6. UI 交互模块(复杂度:Low)

  • [ ] 当前阶段指示器显示
  • [ ] 倒计时器实现(可选)
  • [ ] 进度条展示(Ban/Pick 阶段进度)
  • [ ] 操作提示信息(轮到哪个队伍选择)
  • [ ] 确认/重置按钮逻辑

7. 模式切换模块(复杂度:Low)

  • [ ] 队伍对战模式切换
  • [ ] 球员对战模式切换
  • [ ] 资源数据源切换(球队数据/球员数据)

后端模块(本需求不涉及,但为完整性列出)

1. WebSocket 实时同步(复杂度:High)- 本需求不需要

  • [ ] 房间管理(创建/加入/离开房间)
  • [ ] 实时状态同步(广播 Ban/Pick 操作)
  • [ ] 并发控制(防止同时选择)
  • [ ] 断线重连机制

2. 数据存储(复杂度:Low)- 本需求不需要

  • [ ] 对局数据存储
  • [ ] 用户历史记录

3. 管理后台(复杂度:Medium)- 本需求不需要

  • [ ] 资源管理(上传球队/球员图片)
  • [ ] 规则配置(Ban/Pick 数量、顺序)

测试与交付(复杂度:Medium)

  • [ ] 移动端多设备兼容性测试
  • [ ] 动效流畅度测试(60fps)
  • [ ] 边界情况测试(快速连续点击、撤销操作)
  • [ ] 代码优化与打包压缩
  • [ ] 部署配置文档

复杂度评级说明

  • Low:标准化组件,实现逻辑简单,风险低
  • Medium:涉及状态管理或中等复杂交互,需要仔细设计
  • High:涉及复杂动画、性能优化或并发控制,需要技术深度

关键难点

  1. 动效性能优化:多个卡片同时移动/状态切换,需确保 60fps 流畅度
  2. 状态管理:Ban/Pick 阶段切换、轮次判断、撤销逻辑需严谨
  3. 响应式适配:横竖屏切换时布局重新排列需平滑过渡