彩票数据分析系统

项目概述

本项目是一个彩票数据分析系统,支持双色球和大乐透的数据管理、统计分析和智能选号功能。系统采用前后端分离架构,提供直观的用户界面和强大的数据分析能力。

技术栈

后端

  • Python 3.8+
  • FastAPI
  • SQLAlchemy
  • MySQL/PostgreSQL
  • Pydantic
  • Scikit-learn (机器学习)
  • NumPy (数值计算)
  • Pandas (数据处理)

前端

  • Vue 3
  • Vite
  • Element Plus
  • ECharts
  • Pinia
  • Vue Router

系统功能

1. 数据管理

  • 双色球和大乐透历史数据导入
  • 数据查询和筛选
  • 数据导出
  • 手动数据录入
  • 自动数据更新 新功能

2. 基础统计分析

  • 号码出现频率统计
  • 热门号码分析
  • 冷门号码分析
  • 数据可视化展示

3. 高级数据分析 新功能

  • 遗漏值分析: 分析各号码的遗漏期数
  • 和值分析: 统计红球和值的分布规律
  • AC值分析: 邻号差值分析
  • 质合比分析: 质数与合数的比例分析
  • 012路分析: 除3余数分析
  • 跨度分析: 最大最小号码差值分析
  • 综合分析: 多维度数据整合分析

4. 智能预测系统 新功能

  • 机器学习预测: 基于历史数据的AI预测
  • 模式预测: 基于统计模式的预测
  • 集成预测: 多方法综合预测
  • 预测模型训练: 可自定义训练参数
  • 预测结果评估: 预测准确率统计

5. 智能选号

  • 随机选号
  • 频率选号
  • 热门号码选号
  • 冷门号码选号
  • 自定义选号策略

项目结构

lottery/
├── backend/                # 后端代码
│   ├── app/
│   │   ├── api/           # API 路由
│   │   │   ├── endpoints/ # 基础API端点
│   │   │   └── v1/        # API版本1
│   │   ├── core/          # 核心配置
│   │   ├── models/        # 数据模型
│   │   ├── schemas/       # 数据验证
│   │   └── services/      # 业务逻辑
│   │       ├── analysis_service.py      # 基础分析服务
│   │       ├── advanced_analysis.py     # 高级分析服务 ⭐
│   │       └── prediction_service.py    # 预测服务 ⭐
│   ├── requirements.txt   # 依赖包
│   └── main.py           # 入口文件
├── frontend/              # 前端代码
│   ├── src/
│   │   ├── api/          # API 接口
│   │   ├── assets/       # 静态资源
│   │   ├── components/   # 组件
│   │   ├── router/       # 路由配置
│   │   ├── views/        # 页面
│   │   │   ├── AdvancedAnalysis.vue  # 高级分析页面 ⭐
│   │   │   └── Prediction.vue        # 预测页面 ⭐
│   │   ├── App.vue       # 根组件
│   │   └── main.js       # 入口文件
│   ├── package.json      # 依赖配置
│   └── vite.config.js    # Vite 配置
└── README.md             # 项目文档

开发环境要求

  • Python 3.8+
  • Node.js 16+
  • MySQL 8.0+ 或 PostgreSQL 12+
  • npm 或 yarn

安装和运行

快速启动 推荐

使用一键启动脚本(推荐方式):

# 确保已安装Python 3.8+和Node.js 16+
python start_system.py

脚本会自动:

  • 检查Python版本和依赖
  • 启动后端服务端口8000
  • 启动前端服务端口5173
  • 显示访问地址和使用说明

手动启动

后端

  1. 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. 安装依赖
cd backend
pip install -r requirements.txt
  1. 配置数据库
  • 创建 MySQL/PostgreSQL 数据库
  • 修改 backend/app/core/database.py 中的数据库连接配置
  1. 启动服务
uvicorn main:app --reload --host 0.0.0.0 --port 8000

前端

  1. 安装依赖
cd frontend
npm install
  1. 启动开发服务器
npm run dev
  1. 构建生产版本
npm run build

使用说明

数据导入与更新说明

数据导入

  • 支持通过前端页面或API导入双色球、大乐透历史数据JSON格式
  • 导入时,系统会自动根据 open_time(开奖日期)升序排序,确保数据库 id=1 为最早的开奖数据。
  • 导入过程自动去重:只导入数据库中未出现过的开奖日期数据。
  • 支持 pandas DataFrame 或 JSON 文件导入。

数据自动/手动更新 新功能

  • 前端更新功能: 在首页提供"更新双色球"、"更新大乐透"、"更新全部"三个按钮
  • API更新接口: 支持通过API接口更新数据
    • POST /api/v1/lottery/update/ssq - 更新双色球数据
    • POST /api/v1/lottery/update/dlt - 更新大乐透数据
    • POST /api/v1/lottery/update/all - 更新所有彩票数据
  • 更新逻辑:
    • 从聚合数据API自动获取最新开奖记录
    • 只插入数据库中未出现过的开奖日期(open_time 唯一性判断)
    • 插入顺序为开奖日期升序,保证历史数据先入库,最新数据最后入库
    • 实时显示更新结果和新增记录数量
    • 更新完成后自动刷新首页最新开奖信息
手动更新
cd backend
python update_lottery.py
自动定时更新
cd backend
python schedule_update.py

系统会在每天凌晨2点自动检查并更新数据。

高级分析功能

  1. 进入"高级分析"页面
  2. 选择彩票类型(双色球/大乐透)
  3. 选择分析类型:
    • 遗漏值分析: 查看各号码的遗漏期数
    • 和值分析: 分析红球和值的分布规律
    • AC值分析: 邻号差值分析
    • 质合比分析: 质数与合数比例
    • 012路分析: 除3余数分布
    • 跨度分析: 号码跨度统计
    • 综合分析: 多维度整合分析
  4. 设置分析期数10-500期
  5. 点击"分析"按钮查看结果

智能预测功能

  1. 进入"智能预测"页面
  2. 选择彩票类型
  3. 设置训练期数建议100-500期
  4. 点击"训练模型"按钮
  5. 训练完成后,可选择以下预测方法:
    • 机器学习预测: 基于AI算法的预测
    • 模式预测: 基于统计模式的预测
    • 集成预测: 多方法综合预测
  6. 查看预测结果和置信度

数据查询

  1. 在查询表单中输入查询条件
  2. 点击"查询"按钮
  3. 查看查询结果

统计分析

  1. 进入统计分析页面
  2. 选择要分析的彩票类型
  3. 查看统计图表

智能选号

  1. 进入智能选号页面
  2. 选择彩票类型和选号策略
  3. 设置生成注数
  4. 点击"生成号码"按钮

API 文档

启动后端服务后,访问以下地址查看 API 文档:

新增API端点

高级分析API

  • GET /api/v1/advanced-analysis/missing-value/{lottery_type} - 遗漏值分析
  • GET /api/v1/advanced-analysis/sum-value/{lottery_type} - 和值分析
  • GET /api/v1/advanced-analysis/ac-value/{lottery_type} - AC值分析
  • GET /api/v1/advanced-analysis/prime-composite/{lottery_type} - 质合比分析
  • GET /api/v1/advanced-analysis/road-012/{lottery_type} - 012路分析
  • GET /api/v1/advanced-analysis/span/{lottery_type} - 跨度分析
  • GET /api/v1/advanced-analysis/comprehensive/{lottery_type} - 综合分析

预测API

  • POST /api/v1/prediction/train/{lottery_type} - 训练预测模型
  • GET /api/v1/prediction/predict/{lottery_type} - 机器学习预测
  • GET /api/v1/prediction/pattern/{lottery_type} - 模式预测
  • GET /api/v1/prediction/ensemble/{lottery_type} - 集成预测

常见问题

  1. 数据库连接失败

    • 检查数据库服务是否启动
    • 验证数据库连接配置是否正确
  2. 前端无法连接后端

    • 确认后端服务是否正常运行
    • 检查前端环境配置中的 API 地址是否正确
  3. 数据导入失败

    • 检查 JSON 文件格式是否正确
    • 确认数据库表结构是否完整
  4. 机器学习预测失败

    • 确保历史数据充足建议至少100期
    • 检查训练参数设置是否合理

开发计划

  • 添加高级数据分析功能
  • 实现机器学习预测系统
  • 优化数据可视化展示
  • 添加用户认证功能
  • 实现数据备份和恢复
  • 优化数据导入性能
  • 添加更多统计分析功能
  • 实现自定义选号策略
  • 添加移动端适配
  • 实现数据导出功能增强

贡献指南

  1. Fork 项目
  2. 创建特性分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

许可证

MIT License

更新日志

v2.0.0 (2024-01-XX)

  • 新增高级数据分析功能
  • 新增机器学习预测系统
  • 新增遗漏值、和值、AC值等分析
  • 新增质合比、012路、跨度分析
  • 优化数据可视化展示
  • 🔧 更新依赖包版本
  • 📝 完善API文档

v1.0.0 (2024-01-XX)

  • 🎉 初始版本发布
  • 基础数据管理功能
  • 基础统计分析
  • 智能选号功能
  • 前后端分离架构
Description
No description provided
Readme 426 KiB
Languages
Python 50.8%
Vue 33.5%
CSS 8.3%
Shell 3.9%
JavaScript 3.4%
Other 0.1%