这个是QT 5.15.2
模块功能概览:
basemain(顶层应用,basemain.pro) 依赖 qtsingleapplication(单实例启动)与 qtlockedfile(文件锁)。 源码包含进程监控与上报(processmonitor/processmodel/processthread)、主机线程(hostthread)、更新线程(updaterthread)、事件与消息队列(appevent/messagequeue)、WebSocket 客户端(websocketclient)、worker 等,目标目录为 bin。总体像是一个常驻客户端/代理,采集与上报本机进程/主机信息,并与服务器交互(HTTP/WebSocket)。 api(HTTP 接口封装,面向后端) tloginapi.h:登录/用户信息/登出/刷新令牌,返回 accessToken、过期与刷新时间等。 processapi.h:上报进程数据、查询进程名、上传进程相关图片文件。 hostsapi.h:获取主机列表。 machine.h:机器信息查询/插入/更新(带 uuid、userUuid、旧值等)。 student.h:学生列表查询(示例接口)。 tapi.h:自定义 NetworkAccessManager 单例,可能统一注入认证/重试/日志;定义服务端返回码枚举。 thardware 提供 THardWare::machineCode() 获取本机硬件码,用于设备标识。 CPPWebFramework(轻量级 Web 框架) 组件涵盖 HTTP 解析/请求/响应、控制器、过滤器链、会话、模板引擎(CSTLCompiler 系列)、SQL 查询与管理、文件管理、SSL 加载、URL 编码、属性/模型等。 server/config/CPPWeb.ini 配置示例:端口 8080、线程数、清理/超时、会话过期、上传/日志大小、首页路径、是否允许访问配置/服务页等;含 403/404/index.view 和静态资源。 main.cpp 运行全面的单元测试集合(QtTest),覆盖框架各核心模块。 qtsingleapplication / qtlockedfile 第三方 Qt 方案,前者确保应用单实例,后者提供文件锁,README 表示两者相互依赖。