新增产测与服务器的HTTP连接及交互功能
This commit is contained in:
@@ -18,7 +18,9 @@
|
||||
#include <QTabWidget>
|
||||
#include <QTimer>
|
||||
#include <QGroupBox>
|
||||
#include <QFormLayout>
|
||||
#include <QLabel>
|
||||
#include <QStackedLayout>
|
||||
#include <QJsonDocument>
|
||||
#include <QFile>
|
||||
#include <QDebug>
|
||||
@@ -29,6 +31,18 @@
|
||||
#include <QTextStream>
|
||||
#include <QScrollArea>
|
||||
#include <QDateTime>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QUrl>
|
||||
#include <QMap>
|
||||
#include <QList>
|
||||
#include <QPair>
|
||||
#include <QTextCodec>
|
||||
#include <QCryptographicHash>
|
||||
#include <QRandomGenerator>
|
||||
#include <QMessageAuthenticationCode>
|
||||
#include <QCoreApplication>
|
||||
|
||||
#include "../Json/readJsonFile.h"
|
||||
#include "../RecvDataHandler/RecvDataHandler.h"
|
||||
@@ -36,6 +50,7 @@
|
||||
#include "../LicenseGenerate/LicenseConfirmWindow.h"
|
||||
#include "../Network/mdns/servicemodel.h"
|
||||
#include "../Network/ClientHandler.h"
|
||||
#include "../Network/httpClient.h"
|
||||
#include "FocusWindow.h"
|
||||
|
||||
// 用于测试 UDP 组播实现 mdns 功能 非标准 mdns
|
||||
@@ -53,6 +68,12 @@ public:
|
||||
~MainWidget();
|
||||
|
||||
private slots:
|
||||
// 发送HTTP请求
|
||||
//void onSomeButtonClicked();
|
||||
// 处理HTTP响应
|
||||
void onHttpRequestFinished(const QJsonObject& response);
|
||||
// 处理HTTP错误
|
||||
void onHttpRequestError(const QString& errorString);
|
||||
// 处理开始服务器按钮点击事件
|
||||
void onStartServerClicked();
|
||||
// 处理发送获取设备信息按键点击事件
|
||||
@@ -62,12 +83,15 @@ private slots:
|
||||
// 处理发送拉视频流按键点击事件
|
||||
void onSendGetVideoClicked();
|
||||
void onLicenseButtonClicked();
|
||||
void onUuidButtonClicked();
|
||||
// 处理一键发送按钮点击事件
|
||||
void onSendAllClicked();
|
||||
// 处理单独发送项按钮点击事件
|
||||
void onSendItemClicked();
|
||||
void onSendFrontItemClicked();
|
||||
void onSendBackItemClicked();
|
||||
// 处理单独发送功能配置项按钮点击事件
|
||||
void onSendFuncItemClicked();
|
||||
void onSendFrontFuncItemClicked();
|
||||
void onSendBackFuncItemClicked();
|
||||
// 处理数据接收信号
|
||||
//void onDataReceived(const QString& client, const QByteArray& data);
|
||||
// 处理状态更新信号
|
||||
@@ -103,16 +127,30 @@ private:
|
||||
void readJsonConfig();
|
||||
// 设置 UI
|
||||
void setupUI();
|
||||
QGroupBox* createLicenseGroupBox();
|
||||
QGroupBox* createFrontDeviceInfoGroupBox();
|
||||
QGroupBox* createBackDeviceInfoGroupBox();
|
||||
QWidget* createFunctionTestTab(const QJsonArray& BoardFuncTest, const QString& propertyName);
|
||||
QWidget* createFunctionConfigTab(const QJsonArray& BoardFuncConfig, const QString& propertyName);
|
||||
QWidget* createImageDisplayTab();
|
||||
QWidget* createVideoDisplayTab();
|
||||
QGroupBox* createBackConnectServerGroupBox();
|
||||
// 保存日志到文件
|
||||
void saveStatusListToFile(const QString& filePath);
|
||||
// 用于更新按键文本的函数
|
||||
void updateServerButtonText();
|
||||
void onDisconnectClient(int clientId);
|
||||
void setupTimerForThreadPoolInfo();
|
||||
|
||||
bool isSendingAll; // 一键功能测试 状态
|
||||
QTcpServer* server; // TCP 服务器
|
||||
//QUdpSocket* udpSocket;
|
||||
void sendDataToClient(int clientId, const QByteArray& data);
|
||||
//void FactoryToolSendPostFactoryInfotoHttpServer();
|
||||
void FactoryToolSendPostTestToHttpServer();
|
||||
void FactoryToolSendPostLicenseToHttpServer(const QString& hardware_info, const QString& license_info);
|
||||
void FactoryToolSendPostComfirmToHttpServer(const QString& mac_addr, const QString& uuid);
|
||||
void FactoryToolSendGetUuidToHttpServer(const QString& mac_addr);
|
||||
void FactoryToolSendGetLicenseToHttpServer(const QString& hw_info);
|
||||
|
||||
QTcpServer* server; // TCP 服务器
|
||||
HttpClient* httpClient; // HTTP 服务器
|
||||
QJsonArray frontBoardOneClickTest; // 前板一键功能测试 JSON
|
||||
QJsonArray frontBoardTest; // 前板单项测试 JSON
|
||||
QJsonArray frontBoardFuncConfig; // 前板功能配置参数 JSON
|
||||
@@ -122,6 +160,7 @@ private:
|
||||
QJsonArray backBoardTest; // 后板单项测试 JSON
|
||||
QJsonArray backBoardFuncConfig; // 后板功能配置参数 JSON
|
||||
QJsonArray backBoardDevInfoJson; // 后板设备信息参数 JSON
|
||||
QJsonArray backBoardUuidJson; // 后板UUID JSON
|
||||
QJsonArray testJsonConfig; // 功能测试区 JSON 配置
|
||||
QJsonArray funcJsonConfig; // 功能配置区 JSON 配置
|
||||
QJsonArray getDevInfoJson; // 获取设备信息 JSON 配置
|
||||
@@ -136,8 +175,12 @@ private:
|
||||
QMutex mutex; // 互斥锁
|
||||
int nextClientId; // 新增的客户端编号
|
||||
int connectedClientsCount = 0; // 连接客户端的数量
|
||||
int isRequestSuccessful = 0; // GET请求是否成功
|
||||
bool manualSend; // 判断是否是手动触发的发送
|
||||
bool deviceConnected = false; // 判断是否有设备连接过
|
||||
bool isSendingAll; // 一键功能测试 状态
|
||||
|
||||
QJsonObject licenseDataArray; // 用于保存从服务器获取的 data 字段对象
|
||||
|
||||
QVector<QPushButton*> itemButtons; // 项目按键集合
|
||||
QVector<QPushButton*> funcItemButtons; // 功能配置项目按键集合
|
||||
@@ -154,8 +197,10 @@ private:
|
||||
QLabel* leftLens_imageLabel; // 左边镜头图像显示
|
||||
QLabel* rightLens_imageLabel; // 右边镜头图像显示
|
||||
QLabel* videoLabel; // 视频显示
|
||||
QLineEdit* funcConfigLineEdit; // 功能配置编辑框
|
||||
QLineEdit* frontFuncConfigLineEdit; // 前板功能配置编辑框
|
||||
QLineEdit* backFuncConfigLineEdit; // 后板功能配置编辑框
|
||||
QTextEdit* licenseHwInfoEdit; // 获取license的硬件信息
|
||||
QTextEdit* UuidHwInfoEdit; // Uuid的硬件信息
|
||||
MainWidget* mainWidget;
|
||||
QTabWidget* tabWidget; // 标签页
|
||||
QWidget* functionTestArea; // 功能测试区
|
||||
|
||||
Reference in New Issue
Block a user