1.添加图片注册和前后板主题图片上传;2.修改mdns连接方式

This commit is contained in:
2024-12-10 16:15:55 +08:00
parent 9d506e1cfc
commit d2bccd9c49
177 changed files with 4381 additions and 5709 deletions

View File

@@ -44,22 +44,29 @@
#include <QMessageAuthenticationCode>
#include <QCoreApplication>
#include <QSettings>
#include <QImage>
#include <QPainter>
#include <winsock2.h>
#include <iphlpapi.h>
#include "./UI_Widget/UI_Name.h"
#include "../Json/readJsonFile.h"
#include "../RecvDataHandler/RecvDataHandler.h"
#include "../LicenseGenerate/LicenseGenerate.h"
#include "../LicenseGenerate/LicenseConfirmWindow.h"
#include "../Network/mdns/servicemodel.h"
//#include "../Network/mdns/servicemodel.h"
#include "../Network/ClientHandler.h"
#include "../Network/httpClient.h"
#include "../Network/mdns/MdnsServiceThread.h"
#include "../Network/mdns/mdns.h"
#include "../Network/mdns/qmdnsengine/include/server.h"
#include "../Network/mdns/qmdnsengine/include/hostname.h"
#include "../Network/mdns/qmdnsengine/include/provider.h"
#include "../Network/mdns/qmdnsengine/include/service.h"
#include "../Network/mdns/qmdnsengine/include/message.h"
#include "../Network/mdns/qmdnsengine/include/query.h"
//#include "../Network/mdns/qmdnsengine/include/server.h"
//#include "../Network/mdns/qmdnsengine/include/hostname.h"
//#include "../Network/mdns/qmdnsengine/include/provider.h"
//#include "../Network/mdns/qmdnsengine/include/service.h"
//#include "../Network/mdns/qmdnsengine/include/message.h"
//#include "../Network/mdns/qmdnsengine/include/query.h"
#define TEST_UDP_BROADCAST 0 // 用于测试 UDP 组播实现 mdns 功能 非标准 mdns
#define MANUAL_UPLOAD_LICENSE 0 // 打开手动上传 License的功能
@@ -70,6 +77,12 @@
#define NEW_MAP 1
#define FACTORY_ID "TEST" // 工厂ID
#define LABEL "TEST_SL100_20240826" // 出货标签
#define BATCH 1 // 出货批次
#define MODEL "SL100" // 出货型号
class MainWidget : public QWidget
{
Q_OBJECT
@@ -79,6 +92,8 @@ public:
explicit MainWidget(QWidget* parent = nullptr);
~MainWidget();
void startHttpServer(const QString& imagePath);
signals:
void openFocusWindowRequested(int itemIndex);
@@ -86,6 +101,8 @@ private slots:
// 发送HTTP请求
//void onSomeButtonClicked();
// 处理HTTP响应
// 启动图片共享服务
void onStartImageSharing(int width, int height, QString img_type, std::function<void(QString)> callback);
void onHttpRequestFinished(const QJsonObject& response);
// 处理HTTP错误
void onHttpRequestError(const QString& errorString);
@@ -187,11 +204,13 @@ private:
QJsonArray frontBoardFuncConfig; // 前板功能配置参数 JSON
QJsonArray frontBoardDevInfoJson; // 前板设备信息参数 JSON
QJsonArray frontBoardLicenseJson; // 前板License JSON
QJsonArray frontBoardCmdConfigJson;
QJsonArray backBoardOneClickTest; // 后板一键功能测试 JSON
QJsonArray backBoardTest; // 后板单项测试 JSON
QJsonArray backBoardFuncConfig; // 后板功能配置参数 JSON
QJsonArray backBoardDevInfoJson; // 后板设备信息参数 JSON
QJsonArray backBoardUuidJson; // 后板UUID JSON
QJsonArray backBoardCmdConfigJson;
QJsonArray factoryProductInfo; // 整机:工厂生产信息
QJsonArray testJsonConfig; // 功能测试区 JSON 配置
QJsonArray funcJsonConfig; // 功能配置区 JSON 配置
@@ -213,6 +232,7 @@ private:
bool deviceConnected = false; // 判断是否有设备连接过
bool isSendingAll; // 一键功能测试 状态
bool checkBoxState = true;
bool isReplyOrTimeout = true;
QJsonObject licenseDataArray; // 用于保存从服务器获取的 data 字段对象
@@ -266,7 +286,7 @@ private:
QMap<int, QTimer*> clientReadTimers;
QMap<int, ClientHandler*> clients_1;
ServiceProvider* mServiceProvider;
//ServiceProvider* mServiceProvider;
QTimer* mdnsTimer;
void startMdnsService();
void stopMdnsService();
@@ -274,6 +294,14 @@ private:
QUdpSocket* multicastSocket;
QTimer* multicastTimer;
#endif
QTcpServer* httpServer; // HTTP 服务器
QString imagePath; // 当前选择的图片路径
quint16 serverPort = 8080; // HTTP 服务器端口
void setupHttpServer(); // 初始化 HTTP 服务器
void handleHttpRequest(QTcpSocket* clientSocket); // 处理 HTTP 请求
MdnsServiceThread* mdnsThread; // mDNS 线程指针
};
#endif // MAINWIDGET_H