Browse Source

dev: updates

Yao 3 weeks ago
parent
commit
1b36c2937a
5 changed files with 35 additions and 32 deletions
  1. 13 11
      blastopepage.cpp
  2. 1 1
      global.cpp
  3. 6 3
      loadingWidget.cpp
  4. 14 16
      mainwindow.cpp
  5. 1 1
      mainwindow.h

+ 13 - 11
blastopepage.cpp

@@ -5,6 +5,7 @@
 #include "logger.h"
 #include <QProcessEnvironment>
 #include "loadingwidget.h"
+#include "global.h"
 
 
 BlastOpePage::BlastOpePage(QWidget *parent) :
@@ -53,7 +54,7 @@ void BlastOpePage::InitFace()
 
     Logger::getInstance().info("FaceVerification: connect");
     // QUrl postUrl("http://192.168.1.234:8000/api/v1/h-face-verify/pc");
-    QUrl postUrl(QString("%1/%2").arg().arg("h-face-verify/pc") );
+    QUrl postUrl(g_url.resolved(QUrl("h-face-verify/pc")));
     QJsonObject response = sendPostRequest(postUrl, metaInfo);
     QString certifyUrl;
     if (response.contains("data") && response["data"].isObject()) {
@@ -103,10 +104,10 @@ void BlastOpePage::closeWebViewAndRestoreUI()
 // 槽函数:处理 URL 改变事件
 void BlastOpePage::onUrlChanged(const QUrl &newUrl) {
     if (newUrl.scheme() == "https" && newUrl.host() == "www.baidu.com") {
+        LoadingWidget::showLoading(nullptr, "跳转验证页...");
         closeWebViewAndRestoreUI();
         QNetworkAccessManager manager;
-        //QUrl requestUrl(QString("http://192.168.0.255:8000/api/v1/h-face-verify/certifyId/%1").arg(certifyId));
-        QUrl requestUrl(QString("http://192.168.1.234:8000/api/v1/h-face-verify/certifyId/%1").arg(certifyId));
+        QUrl requestUrl(g_url.resolved(QUrl(QString("h-face-verify/certifyId/%1").arg(certifyId))));
         QNetworkRequest request(requestUrl);
         QNetworkReply *reply = manager.get(request);
         QEventLoop loop;
@@ -122,6 +123,7 @@ void BlastOpePage::onUrlChanged(const QUrl &newUrl) {
                 QString message = dataObj["Message"].toString();
                 QJsonObject resultObj = dataObj["ResultObject"].toObject();
                 if (resultObj.isEmpty()) {
+                    Logger::getInstance().error(QString( "获取认证初始化数据失败. message: %1.").arg(message));
                     int ret = QMessageBox::information(nullptr, "提示", message+" ,请重新认证!");
                     if (ret == QMessageBox::Ok) {
                         InitFace();
@@ -129,10 +131,10 @@ void BlastOpePage::onUrlChanged(const QUrl &newUrl) {
                 } else {
                     QString passed = resultObj["Passed"].toString();
                     if (passed == "T") {
-                        QMessageBox::information(nullptr, "提示", "操作成功!");
                         ui->setupUi(this);
                         initPagination();
-
+                        Logger::getInstance().info(QString("进入认证界面"));
+                        LoadingWidget::hideLoading();
                     } else if (passed == "F") {
                         int ret = QMessageBox::critical(nullptr, "提示", "操作失败,请重新认证!");
                         if (ret == QMessageBox::Ok) {
@@ -143,11 +145,11 @@ void BlastOpePage::onUrlChanged(const QUrl &newUrl) {
             }
         } else {
             qDebug() << "Request failed:" << reply->errorString();
-            Logger::getInstance().error("InitFaseVerification request failed: ");
-            Logger::getInstance().error(reply->errorString());
+            Logger::getInstance().error(QString("InitFaseVerification request failed. error message: %1").arg(reply->errorString()));
         }
 
         reply->deleteLater();
+        LoadingWidget::hideLoading();
     }
 }
 
@@ -344,16 +346,16 @@ void BlastOpePage::loadDataFromSource(int currentPage, int pageSize)
         progressBar2->setRange(0, 100); // 设置范围为0到100
         progressBar2->setValue(0);
         progressBar2->setAlignment(Qt::AlignCenter);
-        progressBar2->setStyleSheet("QProgressBar { border: 1px solid grey; border-radius: 5px; background-color: #EEEEEE; height: 20px; }"
-                                    "QProgressBar::chunk { background-color: #05B8CC; width: 20px; margin: 0.5px; border - radius: 10px; }");
+        progressBar2->setStyleSheet("QProgressBar { border: 1px solid grey; border-radius: 5px; background-color: #EEEEEE; height: 10px; }"
+                                    "QProgressBar::chunk { background-color: #05B8CC; width: 2px; margin: 0.5px; border - radius: 10px; }");
         progressBar2->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
         QProgressBar *progressBar3 = new QProgressBar(ui->tableView);
         progressBar3->setRange(0, 100); // 设置范围为0到100
         progressBar3->setValue(0);
         progressBar3->setAlignment(Qt::AlignCenter);
-        progressBar3->setStyleSheet("QProgressBar { border: 1px solid grey; border-radius: 5px; background-color: #EEEEEE; height: 20px; }"
-                                    "QProgressBar::chunk { background-color: #05B8CC; width: 20px; margin: 0.5px; border - radius: 10px; }");
+        progressBar3->setStyleSheet("QProgressBar { border: 1px solid grey; border-radius: 5px; background-color: #EEEEEE; height: 10px; }"
+                                    "QProgressBar::chunk { background-color: #05B8CC; width: 2px; margin: 0.5px; border - radius: 10px; }");
         progressBar3->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
         progressBars.append(ProgressBarTriple(progressBar1, progressBar2,progressBar3));

+ 1 - 1
global.cpp

@@ -1,6 +1,6 @@
 #include "global.h"
 
-QUrl g_url("http://192.168.0.255:8000/api/v1/");  // 定义并初始化全局变量
+QUrl g_url("http://192.168.1.234:8000/api/v1/");  // 定义并初始化全局变量
 QString labLat("未知");
 QString labLon("未知");
 QString globalAuthority;

+ 6 - 3
loadingWidget.cpp

@@ -64,15 +64,16 @@ void LoadingWidget::initUI()
     m_textLabel = new QLabel(this);
     m_textLabel->setAlignment(Qt::AlignCenter);
 
+
     // 布局
     QVBoxLayout* layout = new QVBoxLayout(this);
     layout->addWidget(m_loadingLabel);
     layout->addWidget(m_textLabel);
     layout->setSpacing(10);
-    layout->setContentsMargins(20, 20, 20, 20);
+    layout->setContentsMargins(50, 80, 50, 50);
 
     // 样式
-    setStyleSheet("background-color: rgba(0, 0, 0, 150); border-radius: 10px;");
+    setStyleSheet("background-color: rgba(255, 255, 255, 0.8); border-radius: 0px;");
     m_textLabel->setStyleSheet("color: white; font-size: 16px;");
 
     // 初始隐藏
@@ -90,10 +91,12 @@ void LoadingWidget::updatePosition()
     if (parentWidget()) {
         // 居中显示在父窗口
         QRect parentRect = parentWidget()->rect();
+        resize(parentRect.size());
         move(parentRect.center() - rect().center());
     } else {
         // 如果没有父窗口,居中显示在屏幕
         QRect screenGeometry = QApplication::primaryScreen()->geometry();
-        move(screenGeometry.center() - rect().center());
+        resize(screenGeometry.size());
+        //move(screenGeometry.center() - rect().center());
     }
 }

+ 14 - 16
mainwindow.cpp

@@ -5,6 +5,7 @@
 #include <QWidget>
 #include <QPushButton>
 #include "logger.h"
+#include "loadingWidget.h"
 
 // 定义 ANzI 转义序列来设置颜色
 #define ANSI_COLOR_GREEN "\x1B[32m"
@@ -16,10 +17,9 @@ MainWindow::MainWindow(QWidget *parent)
 
     // 去除窗口边界,设置为无边框窗口
     this->setWindowFlags(Qt::FramelessWindowHint);
-    ui->setupUi(this);
     this->setWindowState(Qt::WindowMaximized); //Maximizes the window
-
     ui->setupUi(this);
+
     initializeAnimate();
     initialMqttService();
 
@@ -93,36 +93,35 @@ void MainWindow::onButtonClicked(QPushButton  *button)
 
 void MainWindow::switchPage(QWidget *button) {
     if (pageFactories.contains(button)) {
+
         PageFactory* factory = pageFactories[button];
 
-        if (buttonToPage.contains(button)) {
-            QWidget* existingPage = buttonToPage[button];
+        if (createdPageByButton.contains(button)) {
+            QWidget* existingPage = createdPageByButton[button];
+            existingPage->hide();
             ui->stackedWidget->removeWidget(existingPage);
-            buttonToPage.remove(button);
+            createdPageByButton.remove(button);
         }
 
-
         QWidget* newPage = factory->createPage(this);
         ui->stackedWidget->addWidget(newPage);
         ui->stackedWidget->setCurrentWidget(newPage);
+        setProjectTitle(qobject_cast<QPushButton*>(button)->text());
 
-        buttonToPage.insert(button, newPage);
+        createdPageByButton.insert(button, newPage);
         int pageCount = ui->stackedWidget->count();
-
-        setProjectTitle(qobject_cast<QPushButton*>(button)->text());
     }
 }
 
 
 void MainWindow::initialMqttService()
 {
-    Logger::getInstance().info("Start init Mqtt server");
-
+    Logger::getInstance().info("Start init Mqtt server.");
     MqttClient *pcMqttInit = MqttClient::getInstance();
     QStringList topics = {"hxgc/topic","hxgc/companycode/pro/P"};
     pcMqttInit->connectToMqttBroker("114.55.233.194", 1883, "hxgc", "hxgc123456", "pcMqttInitY11", topics);
     connect(pcMqttInit, &MqttClient::proMessageReceived, this, &MainWindow::messageAndTopicReceived);
-    Logger::getInstance().info("Mqtt service initialized");
+    Logger::getInstance().info("Connect Mqtt server request sent.");
 }
 
 void MainWindow::messageAndTopicReceived(const QByteArray &message, const QMqttTopicName &topic){
@@ -159,7 +158,7 @@ void MainWindow::setStyleSheets(QPushButton  *selectedButton)
 void MainWindow::onMqttConnected()
 {
     m_isMqttConnected = true;
-    qDebug() << "MQTT 连接成功";
+    Logger::getInstance().info("Mqtt connected.");
 }
 
 void MainWindow::initialBtnSerial()
@@ -175,12 +174,11 @@ void MainWindow::onSerialToolCreated()
     m_btnSerialInitialized = true;
     serialTool->releaseInstance();
     qDebug() << ANSI_COLOR_GREEN << "Serial tool initialized" << ANSI_COLOR_RESET;
-
-    Logger::getInstance().info("SerialTool created");
+    Logger::getInstance().info("SerialTool initialized");
 }
 
 void MainWindow::initialGPSSerial(){
-    Logger::getInstance().info("Start init GPS");
+    Logger::getInstance().info("开始初始化GPS");
     SerialGPSThread* threadGPS = new SerialGPSThread(this);
     connect(threadGPS, &SerialGPSThread::storedGNRMCDataUpdated, this,&MainWindow::handleStoredGNRMCData);
     threadGPS->start();

+ 1 - 1
mainwindow.h

@@ -65,7 +65,7 @@ private:
     QPropertyAnimation *animate_leftFrame;
     QList<QWidget*> left_button_station;
     QMap<QWidget*, PageFactory*> pageFactories;
-    QMap<QWidget*, QWidget*> buttonToPage;
+    QMap<QWidget*, QWidget*> createdPageByButton;
     TimeUpdateThread *timeThread;
     QString lat = "未知";
     QString lon = "未知";