--- quick_id: 260422-vep description: 在控制台增加特码热力图功能 mode: quick date: 2026-04-22 --- # Quick Task Plan: 特码热力图功能 ## Goal 在控制台(Dashboard)增加特码热力图功能,直观展示特码号码在近 N 期内的出现分布情况。 ## Implementation Design ### 热力图数据结构 - X轴:期号(最近30期) - Y轴:号码 1-49 - 颜色:基于号码的波色(红/蓝/绿),出现时显示颜色,未出现时显示浅灰 ### Files to Modify 1. `application/admin/model/History.php` - 添加 `getSpecialHeatmap()` 方法 2. `application/admin/controller/History.php` - 添加 `specialHeatmap` API 接口和权限声明 3. `public/assets/js/backend/dashboard.js` - 添加热力图渲染逻辑 4. `application/admin/view/dashboard/index.html` - 无需修改(热力图容器由 JS 动态生成) ## Tasks ### Task 1: 后端数据模型 **File:** `application/admin/model/History.php` **Action:** 添加 `getSpecialHeatmap()` 方法 **Verify:** 方法返回热力图数据(expects, heatmap_data, colorMap) **Done:** 方法可被正确调用并返回结构化数据 ### Task 2: API 接口 **File:** `application/admin/controller/History.php` **Action:** 1. 在 `$noNeedRight` 数组添加 `specialHeatmap` 2. 添加 `specialHeatmap()` 方法 **Verify:** API 可通过 AJAX 访问并返回正确数据 **Done:** 接口可被前端调用 ### Task 3: 前端渲染 **File:** `public/assets/js/backend/dashboard.js` **Action:** 1. 在 AJAX 请求中添加热力图数据获取 2. 在 render 函数中添加热力图 HTML 和 ECharts 渲染 **Verify:** 热力图正确显示在 Dashboard 页面 **Done:** 热力图可视化完成