Skip to content

StarsWhere/PyAuthDesk-Suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyAuthDesk Suite (基于 PyQt5 和 文心云 WebAPI)

概述

这是一个使用 Python 和 PyQt5 构建的桌面应用程序框架,旨在快速开发需要用户认证、授权、配置管理和软件更新功能的应用程序。它集成了与“文心云 WebAPI”交互的客户端,并提供了一套基础的用户界面组件。

主要特性

  • 用户认证: 支持用户名/密码登录和单码登录。
  • 账户管理: 提供用户注册和充值界面。
  • 自动更新: 包含检查软件更新、下载新版本(后台线程)和提示用户的功能。
  • 动态配置: 可根据参数定义动态生成配置窗口,支持布尔、字符串、列表和滑块类型。
  • 主窗口功能: 显示用户状态、执行后台任务、暂停/停止控制、实时日志输出。
  • 安全控制: 通过事件机制实现线程安全的暂停/停止功能,支持优雅退出和强制终止。
  • 公告系统: 支持自动获取和手动查看软件公告,带有声音提示和复制功能。

核心组件

文件 说明
main.py 程序入口,配置加载、日志初始化、核心逻辑函数定义
application.py 应用程序生命周期管理,协调登录窗口和主窗口
api_client.py 封装文心云 WebAPI 的完整接口实现,包含错误码映射和请求重试机制
login_window.py 处理登录、注册、充值、更新检查的交互界面
main_window.py 主功能窗口,集成任务控制、状态监控、配置管理和公告系统
config_window.py 动态生成配置界面,支持多种参数类型并持久化配置到 JSON 文件

新增安全说明

⚠️ 高危警告
当前版本在以下方面存在安全风险,生产环境使用前必须修改:

  1. 密码存储: 明文存储于 login_info.json,建议改用操作系统安全存储或令牌机制
  2. 线程终止: 使用 ctypes 强制终止线程可能导致资源泄漏,建议业务逻辑内建状态检查
  3. 网络通信: 未启用 HTTPS 加密,需在 API 客户端添加 SSL/TLS 支持

增强功能说明

任务控制机制

  • 采用 pause_eventstop_event 双事件机制实现可控执行
  • 支持优雅停止(检查事件标志)和强制终止(异步异常注入)
  • 线程状态实时同步到 UI,防止界面冻结

日志系统

  • 通过 config.json 动态配置日志级别(DEBUG/INFO/WARNING/ERROR)
  • 同时输出到文件 (app.log) 和控制台
  • 日志格式: 时间 - 模块名 - 级别 - 消息

快速开始

  1. 安装依赖
    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate     # Windows
    pip install -r requirements.txt

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages