Appearance
功能拆解与 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:涉及复杂动画、性能优化或并发控制,需要技术深度
关键难点
- 动效性能优化:多个卡片同时移动/状态切换,需确保 60fps 流畅度
- 状态管理:Ban/Pick 阶段切换、轮次判断、撤销逻辑需严谨
- 响应式适配:横竖屏切换时布局重新排列需平滑过渡