mottery/README.md

171 lines
3.7 KiB
Markdown

# 彩票数据分析系统
## 项目概述
本项目是一个彩票数据分析系统,支持双色球和大乐透的数据管理、统计分析和智能选号功能。系统采用前后端分离架构,提供直观的用户界面和强大的数据分析能力。
## 技术栈
### 后端
- 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. 创建虚拟环境
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
```
2. 安装依赖
```bash
cd backend
pip install -r requirements.txt
```
3. 配置数据库
- 创建 PostgreSQL 数据库
- 修改 `backend/app/core/database.py` 中的数据库连接配置
4. 启动服务
```bash
uvicorn main:app --reload --host 0.0.0.0 --port 8000
```
### 前端
1. 安装依赖
```bash
cd frontend
npm install
```
2. 启动开发服务器
```bash
npm run dev
```
3. 构建生产版本
```bash
npm run build
```
## 使用说明
### 数据导入
1. 在双色球或大乐透页面点击"导入数据"按钮
2. 选择对应的 JSON 数据文件
3. 等待导入完成
### 数据查询
1. 在查询表单中输入查询条件
2. 点击"查询"按钮
3. 查看查询结果
### 统计分析
1. 进入统计分析页面
2. 选择要分析的彩票类型
3. 查看统计图表
### 智能选号
1. 进入智能选号页面
2. 选择彩票类型和选号策略
3. 设置生成注数
4. 点击"生成号码"按钮
## API 文档
启动后端服务后,访问以下地址查看 API 文档:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
## 常见问题
1. 数据库连接失败
- 检查数据库服务是否启动
- 验证数据库连接配置是否正确
2. 前端无法连接后端
- 确认后端服务是否正常运行
- 检查前端环境配置中的 API 地址是否正确
3. 数据导入失败
- 检查 JSON 文件格式是否正确
- 确认数据库表结构是否完整
## 开发计划
- [ ] 添加用户认证功能
- [ ] 实现数据备份和恢复
- [ ] 优化数据导入性能
- [ ] 添加更多统计分析功能
- [ ] 实现自定义选号策略
## 贡献指南
1. Fork 项目
2. 创建特性分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request
## 许可证
MIT License