feat(history): 新增特码冷热查询功能 — 选定某一期向前y期判定冷热号
在history页面添加「特码冷热」按钮,用户可选择指定期号并设定向前期数 系统统计该期特码在向前范围内的出现频率,与平均值对比判定冷/温/热号
This commit is contained in:
@@ -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)` — 渲染冷热判定结果,用颜色区分冷/温/热
|
||||
Reference in New Issue
Block a user