mottery/README.md

5.4 KiB
Raw Blame History

彩票数据分析系统

项目概述

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

技术栈

后端

  • Python 3.8+
  • FastAPI
  • SQLAlchemy
  • PostgreSQL
  • Pydantic

前端

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

系统功能

  1. 数据管理

    • 双色球和大乐透历史数据导入
    • 数据查询和筛选
    • 数据导出
    • 手动数据录入
  2. 统计分析

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

    • 随机选号
    • 频率选号
    • 热门号码选号
    • 冷门号码选号

项目结构

lottery/
├── backend/                # 后端代码
│   ├── app/
│   │   ├── api/           # API 路由
│   │   ├── core/          # 核心配置
│   │   ├── models/        # 数据模型
│   │   ├── schemas/       # 数据验证
│   │   └── services/      # 业务逻辑
│   ├── requirements.txt   # 依赖包
│   └── main.py           # 入口文件
├── frontend/              # 前端代码
│   ├── src/
│   │   ├── api/          # API 接口
│   │   ├── assets/       # 静态资源
│   │   ├── components/   # 组件
│   │   ├── router/       # 路由配置
│   │   ├── views/        # 页面
│   │   ├── App.vue       # 根组件
│   │   └── main.js       # 入口文件
│   ├── package.json      # 依赖配置
│   └── vite.config.js    # Vite 配置
└── README.md             # 项目文档

开发环境要求

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

安装和运行

后端

  1. 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. 安装依赖
cd backend
pip install -r requirements.txt
  1. 配置数据库
  • 创建 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自动获取最新开奖记录。
  • 更新逻辑:
    • 只插入数据库中未出现过的开奖日期(open_time 唯一性判断)。
    • 插入顺序为开奖日期升序,保证历史数据先入库,最新数据最后入库。
    • 日志记录于 lottery_update.log
手动更新
cd backend
python update_lottery.py
自动定时更新
cd backend
python schedule_update.py

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

其他说明

  • 首页、API、前端等所有"最新开奖"展示均以 open_time 最大值为准,保证数据准确。
  • 数据库不会因期号异常导致遗漏或重复,所有唯一性、顺序均以开奖日期为核心。

数据查询

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

统计分析

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

智能选号

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

API 文档

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

常见问题

  1. 数据库连接失败

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

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

    • 检查 JSON 文件格式是否正确
    • 确认数据库表结构是否完整

开发计划

  • 添加用户认证功能
  • 实现数据备份和恢复
  • 优化数据导入性能
  • 添加更多统计分析功能
  • 实现自定义选号策略

贡献指南

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

许可证

MIT License

数据更新功能

系统支持自动从聚合数据API获取最新的开奖数据并更新到本地数据库。更新功能包括

  1. 手动更新

    cd backend
    python update_lottery.py
    
  2. 自动更新

    cd backend
    python schedule_update.py
    

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

数据更新说明

  • 系统会自动检查本地数据库中最新的开奖日期
  • 只获取并更新比本地数据更新的开奖记录
  • 更新过程会记录日志到 lottery_update.log 文件
  • 支持双色球和大乐透两种彩票的数据更新