梧桐精舍
东湖沙湾论彩 · 少量开放,精准服务

首页 / 数字三工具乐园 / 文章

五线分析王 开发者文档

2026-11-05 16:40:56 · 数字三工具乐园

五线分析王 - 开发者文档

目录

  1. 项目结构
  2. 代码架构
  3. 核心模块
  4. API文档
  5. 开发指南

项目结构

五线分析王/
├── 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() - 获取设备ID
  • get_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: 设备ID
  • trial_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]: (是否成功, 错误信息)

开发指南

开发环境设置

  1. 克隆项目
git clone <repository_url>
cd 五线分析王
  1. 创建虚拟环境(推荐)
python -m venv venv
venv\Scripts\activate
  1. 安装依赖
pip install -r requirements.txt
  1. 运行程序
python main.py

代码规范

  1. 命名规范
  • 类名:大驼峰命名(如:FiveLineAnalyzer)
  • 方法名:小驼峰命名(如:perform_five_line_analysis)
  • 变量名:小写+下划线(如:data_type)
  • 常量:大写+下划线(如:TRIAL_DAYS)
  1. 注释规范
  • 类和方法必须有文档字符串
  • 复杂逻辑需要行内注释
  • 使用中文注释
  1. 代码格式
  • 使用4个空格缩进
  • 每行不超过100个字符
  • 函数之间空2行
  • 类之间空2行

添加新功能

  1. 添加新的分析方法
  • 在 perform_five_line_analysis() 方法中添加分析逻辑
  • 更新分析结果字典
  • 更新GUI显示
  1. 添加新的数据源
  • 修改 update_data() 方法
  • 添加新的URL和数据解析逻辑
  1. 添加新的GUI功能
  • 在 create_widgets() 方法中添加界面组件
  • 添加对应的事件处理方法

测试

  1. 单元测试
  • 为每个核心方法编写单元测试
  • 使用 unittest 框架
  1. 集成测试
  • 测试完整的功能流程
  • 测试GUI交互
  1. FTP测试
  • 运行 test_ftp_upload.py 测试FTP功能

调试技巧

  1. 使用print语句
  • 在关键位置添加print语句输出调试信息
  1. 使用断点调试
  • 使用IDE的断点功能(如PyCharm、VSCode)
  1. 查看日志
  • 检查控制台输出的错误信息
  • 检查异常堆栈跟踪

版本控制

Git工作流

  1. 主分支:main - 稳定版本
  2. 开发分支:develop - 开发版本
  3. 功能分支:feature/xxx - 新功能开发

提交规范

  • feat: 新功能
  • fix: 修复bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 代码重构
  • test: 测试相关
  • chore: 构建/工具相关

技术支持

如有开发问题,请联系:

  • 📧 邮箱:moqiuxiaowei@qq.com
  • 💬 微信:moqiuxiaowei
  • 👥 QQ群:253799100 摸金门
← 返回数字三工具乐园文章列表

同栏目其它文章