Files
amlhc/.planning/quick/260424-roj-history-y/260424-roj-PLAN.md
T
916117771 efdef3798e feat(history): 新增特码冷热查询功能 — 选定某一期向前y期判定冷热号
在history页面添加「特码冷热」按钮,用户可选择指定期号并设定向前期数
系统统计该期特码在向前范围内的出现频率,与平均值对比判定冷/温/热号
2026-04-24 20:07:00 +08:00

2.3 KiB

description, tasks, must_haves, plan_model
description tasks must_haves plan_model
在history页面新增特码冷热号查询功能 — 选定某一期,向前推算y期,判断该期特码属于冷号还是热号 3
后端接口接收 expect(期号) 和 lookback(向前期数) 参数
计算逻辑
从指定期号往前lookback期, 统计该期特码在lookback范围内的出现频率, 判定冷热
前端弹窗
选择期号 + 输入向前期数 + 展示冷热判定结果
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.jsindex 方法中绑定点击事件
  • api 对象中添加:
    • showSpecialHotColdDialog() — 展示弹窗,包含:当前最新期号显示、期号选择下拉框、向前期数输入框、查询按钮、结果展示区
    • querySpecialHotCold(expect, lookback, layero) — AJAX 请求后端接口
    • renderSpecialHotCold(data, layero) — 渲染冷热判定结果,用颜色区分冷/温/热