这是一个使用 Python 和 PyQt5 构建的桌面应用程序框架,旨在快速开发需要用户认证、授权、配置管理和软件更新功能的应用程序。它集成了与“文心云 WebAPI”交互的客户端,并提供了一套基础的用户界面组件。
- 用户认证: 支持用户名/密码登录和单码登录。
- 账户管理: 提供用户注册和充值界面。
- 自动更新: 包含检查软件更新、下载新版本(后台线程)和提示用户的功能。
- 动态配置: 可根据参数定义动态生成配置窗口,支持布尔、字符串、列表和滑块类型。
- 主窗口功能: 显示用户状态、执行后台任务、暂停/停止控制、实时日志输出。
- 安全控制: 通过事件机制实现线程安全的暂停/停止功能,支持优雅退出和强制终止。
- 公告系统: 支持自动获取和手动查看软件公告,带有声音提示和复制功能。
| 文件 | 说明 |
|---|---|
main.py |
程序入口,配置加载、日志初始化、核心逻辑函数定义 |
application.py |
应用程序生命周期管理,协调登录窗口和主窗口 |
api_client.py |
封装文心云 WebAPI 的完整接口实现,包含错误码映射和请求重试机制 |
login_window.py |
处理登录、注册、充值、更新检查的交互界面 |
main_window.py |
主功能窗口,集成任务控制、状态监控、配置管理和公告系统 |
config_window.py |
动态生成配置界面,支持多种参数类型并持久化配置到 JSON 文件 |
当前版本在以下方面存在安全风险,生产环境使用前必须修改:
- 密码存储: 明文存储于
login_info.json,建议改用操作系统安全存储或令牌机制 - 线程终止: 使用
ctypes强制终止线程可能导致资源泄漏,建议业务逻辑内建状态检查 - 网络通信: 未启用 HTTPS 加密,需在 API 客户端添加 SSL/TLS 支持
- 采用
pause_event和stop_event双事件机制实现可控执行 - 支持优雅停止(检查事件标志)和强制终止(异步异常注入)
- 线程状态实时同步到 UI,防止界面冻结
- 通过
config.json动态配置日志级别(DEBUG/INFO/WARNING/ERROR) - 同时输出到文件 (
app.log) 和控制台 - 日志格式:
时间 - 模块名 - 级别 - 消息
- 安装依赖
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows pip install -r requirements.txt