feat(history): 新增历史记录页面功能

- 实现历史记录表格展示功能,包含开奖期号、号码及时间等字段
- 添加号码球样式显示,支持颜色和生肖标识展示
- 集成遗漏号码分析功能,可查询号码遗漏情况
- 实现走势图分析功能,使用ECharts展示号码趋势
- 添加冷热分析功能,统计号码热度排行
- 实现波色、生肖、奇偶、大小等多维度分析工具
- 集成和值分析、连号分析、尾数分析等功能
- 添加特码冷热列表展示功能
- 实现综合统计面板功能
- 集成筛号器功能,支持多种筛选条件
- 添加号码预测和正码关联预测功能
- 实现尾首概率分析功能
- 集成颜色和生肖映射加载机制
This commit is contained in:
2026-05-03 23:42:58 +08:00
parent 182d322b4e
commit d92cf6cfbc
15 changed files with 1276 additions and 42 deletions
+34 -1
View File
@@ -22,7 +22,7 @@ class History extends Backend
* 无需额外权限检查的方法(但仍在 admin 模块内,需要 admin 登录)
* @var array
*/
protected $noNeedRight = ['missingNum', 'trendData', 'hotColdNumbers', 'colorWaveAnalysis', 'zodiacAnalysis', 'oddEvenAnalysis', 'bigSmallAnalysis', 'specialTrend', 'consecutiveNumbers', 'tailNumbers', 'dashboard', 'specialHeatmap', 'specialHotColdAction', 'zoneTransition', 'colorWaveTransition', 'zoneToColorTransition', 'zodiacTransition', 'tailNumberTransition', 'headNumberTransition', 'tailHeadProb', 'predict', 'predictV2', 'predictV3', 'optimizeWeights', 'predictByNormalRelation'];
protected $noNeedRight = ['missingNum', 'trendData', 'hotColdNumbers', 'colorWaveAnalysis', 'zodiacAnalysis', 'oddEvenAnalysis', 'bigSmallAnalysis', 'specialTrend', 'consecutiveNumbers', 'tailNumbers', 'dashboard', 'specialHeatmap', 'specialHotColdAction', 'zoneTransition', 'colorWaveTransition', 'zoneToColorTransition', 'zodiacTransition', 'tailNumberTransition', 'headNumberTransition', 'tailHeadProb', 'predict', 'predictV2', 'predictV3', 'predictV4', 'optimizeWeights', 'predictByNormalRelation'];
public function _initialize()
{
@@ -500,6 +500,39 @@ class History extends Backend
}
}
/**
* 多维度综合预测算法 V4
* 贝叶斯对数似然集成 + 指数时间衰减 + 形态匹配 + 周期性检测
* 六大子模型融合: EWMA频率 / 号码级马尔可夫 / 经验CDF遗漏 / 历史形态匹配 / 周期自相关 / 属性平衡
*/
public function predictV4()
{
if ($this->request->isAjax()) {
$periods = $this->request->get('periods', 200, 'intval');
if ($periods < 30 || $periods > 500) {
$this->error('期数范围必须在 30-500 之间');
}
$weights = [];
$weightStr = $this->request->get('weights', '', 'trim');
if ($weightStr) {
$weightsArr = json_decode($weightStr, true);
if (is_array($weightsArr)) {
$weights = $weightsArr;
}
}
$targetExpect = $this->request->get('target_expect', '', 'trim');
$backtestCount = $this->request->get('backtest', 50, 'intval');
if ($backtestCount < 10 || $backtestCount > 100) {
$backtestCount = 50;
}
$result = $this->model->getPredictionV4($periods, $weights, $targetExpect, false, $backtestCount);
if (isset($result['error'])) {
$this->error($result['error']);
}
$this->success('查询成功', null, $result);
}
}
/**
* 权重网格搜索优化接口
* 执行多权重配置回测,返回最优权重组合