feat(history): 新增特码冷热查询功能 — 选定某一期向前y期判定冷热号
在history页面添加「特码冷热」按钮,用户可选择指定期号并设定向前期数 系统统计该期特码在向前范围内的出现频率,与平均值对比判定冷/温/热号
This commit is contained in:
+2
-1
@@ -28,7 +28,7 @@ See: .planning/PROJECT.md (updated 2026-04-21)
|
||||
Phase: 01 (omitted-number-analysis) — COMPLETE
|
||||
Plan: 3 of 3
|
||||
Status: Phase 1 complete, ready to plan next phase
|
||||
Last activity: 2026-04-22 -- Completed quick task 260422-vep: 特码热力图功能
|
||||
Last activity: 2026-04-24 -- Completed quick task 260424-roj: 在history页面新增特码冷热查询功能
|
||||
|
||||
Progress: [████░░░░░░] 10%
|
||||
|
||||
@@ -74,6 +74,7 @@ None yet.
|
||||
| # | Description | Date | Commit | Directory |
|
||||
|---|-------------|------|--------|-----------|
|
||||
| 260422-vep | 在控制台增加特码热力图功能 | 2026-04-22 | 73e7403 | [260422-vep](./quick/260422-vep/) |
|
||||
| 260424-roj | 在history页面新增特码冷热查询功能 | 2026-04-24 | 2513bbb | [260424-roj](./quick/260424-roj-history-y/) |
|
||||
|
||||
## Deferred Items
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: 在history页面新增特码冷热号查询功能 — 选定某一期,向前推算y期,判断该期特码属于冷号还是热号
|
||||
tasks: 3
|
||||
must_haves:
|
||||
- 后端接口接收 expect(期号) 和 lookback(向前期数) 参数
|
||||
- 计算逻辑: 从指定期号往前lookback期, 统计该期特码在lookback范围内的出现频率, 判定冷热
|
||||
- 前端弹窗: 选择期号 + 输入向前期数 + 展示冷热判定结果
|
||||
plan_model: quick
|
||||
---
|
||||
|
||||
# Quick Plan: 在history页面新增特码冷热号查询功能
|
||||
|
||||
## Task 1: 后端 Model — 添加 getSpecialHotColdByExpect 方法
|
||||
|
||||
**Files:** `application/admin/model/History.php`
|
||||
|
||||
**Action:** 新增方法 `getSpecialHotColdByExpect($expect, $lookback)`
|
||||
|
||||
- 根据指定期号 `expect` 查询到该期数据,获取该期特码 `num7`
|
||||
- 从该期往前数 `lookback` 期(不包含该期本身),统计这期间每个号码的出现次数
|
||||
- 计算该特码在 lookback 范围内的出现次数和频率
|
||||
- 根据频率分布判定冷热:将该号码的出现次数与所有号码的平均值比较
|
||||
- 高于平均值 1.5 倍以上 → 热号
|
||||
- 低于平均值 0.5 倍以下 → 冷号
|
||||
- 介于之间 → 温号
|
||||
- 返回结构化数据:`{expect, specialNum, lookback, count, avgCount, status, rank, totalPeriods}`
|
||||
|
||||
## Task 2: 后端 Controller — 添加 specialHotColdAction 方法
|
||||
|
||||
**Files:** `application/admin/controller/History.php`
|
||||
|
||||
**Action:** 新增 `specialHotColdAction()` 方法
|
||||
|
||||
- 接收 AJAX GET 参数:`expect`(期号,必填), `lookback`(向前期数,默认30,范围10-100)
|
||||
- 参数校验后调用 Model 方法
|
||||
- 返回 JSON 响应
|
||||
|
||||
## Task 3: 前端 JS — 添加按钮、弹窗和渲染
|
||||
|
||||
**Files:** `application/admin/view/history/index.html`, `public/assets/js/backend/history.js`
|
||||
|
||||
**Action:**
|
||||
- 在 `index.html` 的 toolbar 添加一个「特码冷热」按钮
|
||||
- 在 `history.js` 的 `index` 方法中绑定点击事件
|
||||
- 在 `api` 对象中添加:
|
||||
- `showSpecialHotColdDialog()` — 展示弹窗,包含:当前最新期号显示、期号选择下拉框、向前期数输入框、查询按钮、结果展示区
|
||||
- `querySpecialHotCold(expect, lookback, layero)` — AJAX 请求后端接口
|
||||
- `renderSpecialHotCold(data, layero)` — 渲染冷热判定结果,用颜色区分冷/温/热
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
description: 在history页面新增特码冷热查询功能 — 选定某一期,向前推算y期,判定该期特码属于冷号还是热号
|
||||
status: complete
|
||||
date: 2026-04-24
|
||||
---
|
||||
|
||||
# Quick Task Summary: 特码冷热查询
|
||||
|
||||
## What was built
|
||||
|
||||
新增「特码冷热查询」功能,允许用户选择任意历史期号,设定向前追溯期数(10-100期),系统自动判定该期特码在追溯范围内属于冷号、温号还是热号。
|
||||
|
||||
## Changes made
|
||||
|
||||
### Backend — Model (`application/admin/model/History.php`)
|
||||
- 新增 `getSpecialHotColdByExpect($expect, $lookback)` 方法
|
||||
- 逻辑:根据指定期号找到该期特码,向前取 lookback 期数据,统计49个号码各自的出现次数
|
||||
- 判定标准:出现次数 > 平均值×1.5 → 热号;< 平均值×0.5 → 冷号;其余为温号
|
||||
- 返回包含:特码值、出现次数、平均值、冷热状态、频率排名、热号Top5、冷号Top5
|
||||
|
||||
### Backend — Controller (`application/admin/controller/History.php`)
|
||||
- 新增 `specialHotColdAction()` 接口方法
|
||||
- 接收 `expect`(期号,必填)和 `lookback`(向前期数,默认30,范围10-100)
|
||||
- 已加入 `noNeedRight` 白名单
|
||||
|
||||
### Frontend — View (`application/admin/view/history/index.html`)
|
||||
- 在 toolbar 新增「特码冷热」按钮(红色主题,fa-fire 图标)
|
||||
|
||||
### Frontend — JS (`public/assets/js/backend/history.js`)
|
||||
- 新增 `showSpecialHotColdDialog()` — 弹窗包含:期号下拉选择(加载最近50期)、向前期数输入框、查询按钮
|
||||
- 新增 `querySpecialHotCold()` — AJAX 请求后端
|
||||
- 新增 `renderSpecialHotCold()` — 卡片式渲染结果:大号球显示特码、冷热状态标签、统计数据、热号/冷号Top5球
|
||||
|
||||
## Commit
|
||||
`2513bbb`
|
||||
Reference in New Issue
Block a user