# ActivityRankingModal 实现计划 > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** 创建 `ActivityRankingModal.vue` 弹窗组件,从 `ThemeBanner` 点击触发,显示单活动的排名数据 **Architecture:** 复用 `RankingModal.vue` 的现有样式主题和数据转换逻辑,创建专用于活动排名的简化弹窗组件 **Tech Stack:** Vue 3 Composition API, uni-app, 复用现有 RankingModal/TOP3Card/RankingListItem 组件 --- ## 文件结构 ``` frontend/pages/support-activity/ ├── components/ │ ├── ActivityRankingModal.vue ← 新建 │ ├── ThemeBanner.vue ← 修改:添加点击事件触发弹窗 │ ├── TOP3Card.vue ← 复用(来自 pages/components/) │ └── RankingListItem.vue ← 复用(来自 pages/components/) └── index.vue ← 修改:引入并使用 ActivityRankingModal frontend/utils/api.js ← 无需修改(getActivityRankingApi 已存在) docs/superpowers/specs/2026-05-14-activity-ranking-modal-design.md ← 已存在 ``` --- ## 任务分解 ### Task 1: 创建 ActivityRankingModal.vue 组件 **文件:** - 创建: `frontend/pages/support-activity/components/ActivityRankingModal.vue` - [ ] **Step 1: 创建基础模板和样式结构** ```vue ``` - [ ] **Step 2: 实现 script 部分** ```vue ``` - [ ] **Step 3: 添加样式** ```vue ``` --- ### Task 2: 修改 ThemeBanner.vue 添加点击事件 **文件:** - 修改: `frontend/pages/support-activity/components/ThemeBanner.vue:1-36`(template 部分) - [ ] **Step 1: 在 banner-content 上添加点击事件** 在 `