五线分析王 - 开发者文档
目录
项目结构
五线分析王/
├── main.py # 主程序文件
├── requirements.txt # Python依赖包列表
├── README.md # 项目说明文档
├── 启动程序.bat # 启动脚本
├── 五线分析方法.md # 五线分析方法说明
├── test_ftp_upload.py # FTP上传测试脚本
├── 测试FTP上传.bat # FTP测试脚本
│
├── data/ # 数据目录
│ ├── 3d_data.csv # 3D历史数据缓存
│ └── p3_data.csv # P3历史数据缓存
│
├── registration/ # 注册系统模块
│ ├── __init__.py # 模块初始化
│ ├── client_registration.py # 客户端注册管理器
│ ├── production_registration_core.py # 注册系统核心模块
│ ├── keys/ # 密钥文件目录
│ └── licenses/ # 授权文件目录
│
└── docs/ # 文档目录
├── 用户使用手册.md
├── 安装部署文档.md
├── 注册系统文档.md
├── 开发者文档.md
└── 故障排除文档.md
代码架构
主要类
1. FiveLineAnalyzer
主程序类,负责GUI界面和业务逻辑。
主要方法:
__init__()- 初始化GUI和数据结构create_widgets()- 创建界面组件update_data()- 更新历史数据perform_five_line_analysis()- 执行五线分析display_data()- 显示历史数据analyze_number()- 分析单个号码analyze_batch_numbers()- 批量分析号码
2. ClientRegistrationManager
客户端注册管理器,负责试用和授权管理。
主要方法:
get_device_id()- 获取设备IDget_trial_info()- 获取试用信息check_trial_status()- 检查试用状态is_authorized()- 检查是否已授权activate_license()- 激活授权文件_connect_ftp()- 连接FTP服务器_sync_trial_info_to_server()- 同步试用信息到服务器_sync_license_to_server()- 同步授权文件到服务器
3. HardwareIdentifier
硬件标识符,用于生成唯一的设备ID。
主要方法:
get_device_id()- 获取设备ID_get_mac_address()- 获取MAC地址_get_hostname()- 获取主机名_get_cpu_id()- 获取CPU ID_get_board_uuid()- 获取主板UUID
4. RSAKeyManager
RSA密钥管理器,用于授权文件的签名和验证。
主要方法:
load_keys()- 加载密钥sign_data()- 签名数据verify_signature()- 验证签名
5. LicenseGenerator
授权文件生成器,用于生成授权文件。
主要方法:
generate_license()- 生成授权文件verify_license()- 验证授权文件
核心模块
1. 数据更新模块
文件:main.py 中的 update_data() 方法
功能:
- 从互联网获取历史开奖数据
- 解析数据并转换为DataFrame
- 保存到本地CSV文件
- 增量更新(只下载新数据)
数据源:
- 3D数据:`[数据源地址已隐藏]
- P3数据:`[数据源地址已隐藏]
2. 五线分析模块
文件:main.py 中的 perform_five_line_analysis() 方法
功能:
- 五线分布分析
- 缺号线识别
- 对应数和补数分析
- 形态判断
- 推荐号码生成
- 历史验证
五线定义:
line1 = {1, 4, 7, 0} # 第一线
line2 = {2, 5, 8} # 第二线
line3 = {3, 6, 9} # 第三线
line4 = {1, 5, 9} # 第四线
line5 = {2, 6, 0} # 第五线
3. 注册系统模块
文件:registration/client_registration.py
功能:
- 试用期管理
- 授权文件验证
- FTP服务器同步
- 设备ID绑定
关键配置:
TRIAL_DAYS = 7 # 试用期天数
FTP_HOST = "121.41.121.252"
FTP_PORT = 21
FTP_USER = "qiankun"
FTP_PASS = "wudong888"
4. 数据缓存模块
文件:main.py 中的 load_cached_data() 方法
功能:
- 加载本地缓存的数据
- 增量更新(只下载新数据)
- 数据验证(期号连续性、日期合理性)
API文档
FiveLineAnalyzer类
__init__(root)
初始化主程序。
参数:
root(tk.Tk): Tkinter根窗口
update_data(data_type)
更新历史数据。
参数:
data_type(str): 数据类型,'3D' 或 'P3'
返回:无
perform_five_line_analysis(number, data_type='3D')
执行五线分析。
参数:
number(str): 要分析的号码(3位数字)data_type(str): 数据类型,'3D' 或 'P3'
返回:
dict: 分析结果字典,包含:input_number: 输入号码form: 形态(组三/组六/豹子)line_distribution: 五线分布missing_lines: 缺号线candidate_numbers: 推荐号码列表
analyze_number()
分析单个号码(GUI方法)。
返回:无
analyze_batch_numbers()
批量分析号码(GUI方法)。
返回:无
ClientRegistrationManager类
get_device_id() -> str
获取当前设备ID。
返回:
str: 设备ID字符串
get_trial_info() -> Dict
获取试用信息(优先从服务器获取)。
返回:
Dict: 试用信息字典,包含:start_date: 开始日期expiry_date: 到期日期device_id: 设备IDtrial_used: 是否已使用
check_trial_status() -> Tuple[bool, int, str]
检查试用状态。
返回:
Tuple[bool, int, str]: (是否在试用期内, 剩余天数, 状态信息)
is_authorized() -> Tuple[bool, str]
检查是否已授权(优先从服务器验证)。
返回:
Tuple[bool, str]: (是否授权, 状态信息)
activate_license(license_file: str) -> Tuple[bool, str]
激活授权文件。
参数:
license_file(str): 授权文件路径
返回:
Tuple[bool, str]: (是否成功, 错误信息)
开发指南
开发环境设置
- 克隆项目
git clone <repository_url>
cd 五线分析王
- 创建虚拟环境(推荐)
python -m venv venv
venv\Scripts\activate
- 安装依赖
pip install -r requirements.txt
- 运行程序
python main.py
代码规范
- 命名规范
- 类名:大驼峰命名(如:
FiveLineAnalyzer) - 方法名:小驼峰命名(如:
perform_five_line_analysis) - 变量名:小写+下划线(如:
data_type) - 常量:大写+下划线(如:
TRIAL_DAYS)
- 注释规范
- 类和方法必须有文档字符串
- 复杂逻辑需要行内注释
- 使用中文注释
- 代码格式
- 使用4个空格缩进
- 每行不超过100个字符
- 函数之间空2行
- 类之间空2行
添加新功能
- 添加新的分析方法
- 在
perform_five_line_analysis()方法中添加分析逻辑 - 更新分析结果字典
- 更新GUI显示
- 添加新的数据源
- 修改
update_data()方法 - 添加新的URL和数据解析逻辑
- 添加新的GUI功能
- 在
create_widgets()方法中添加界面组件 - 添加对应的事件处理方法
测试
- 单元测试
- 为每个核心方法编写单元测试
- 使用
unittest框架
- 集成测试
- 测试完整的功能流程
- 测试GUI交互
- FTP测试
- 运行
test_ftp_upload.py测试FTP功能
调试技巧
- 使用print语句
- 在关键位置添加print语句输出调试信息
- 使用断点调试
- 使用IDE的断点功能(如PyCharm、VSCode)
- 查看日志
- 检查控制台输出的错误信息
- 检查异常堆栈跟踪
版本控制
Git工作流
- 主分支:
main- 稳定版本 - 开发分支:
develop- 开发版本 - 功能分支:
feature/xxx- 新功能开发
提交规范
feat: 新功能fix: 修复bugdocs: 文档更新style: 代码格式调整refactor: 代码重构test: 测试相关chore: 构建/工具相关
技术支持
如有开发问题,请联系:
- 📧 邮箱:moqiuxiaowei@qq.com
- 💬 微信:moqiuxiaowei
- 👥 QQ群:253799100 摸金门