From ef07325a82339558f2217044c98fb05944cdbac2 Mon Sep 17 00:00:00 2001 From: www-git-cn <102035872+www-git-cn@users.noreply.github.com> Date: Tue, 5 Mar 2024 14:14:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.pro.user | 2 +- datamanager.cpp | 17 ++++++++++++++++- datamanager.h | 1 + login.cpp | 1 + widget.cpp | 22 ++++++++++++++++++++-- widget.h | 5 +++++ widget.ui | 17 +++++++++++++++-- 7 files changed, 59 insertions(+), 6 deletions(-) diff --git a/app.pro.user b/app.pro.user index f9953bd..9bb9ed8 100644 --- a/app.pro.user +++ b/app.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/datamanager.cpp b/datamanager.cpp index ae1a7bf..914352a 100644 --- a/datamanager.cpp +++ b/datamanager.cpp @@ -93,6 +93,14 @@ void DataManager::pick_up(QString code) qDebug() << "发送取车信息" << data; } +void DataManager::find_code() +{ + QByteArray data, data_encrypt; + data = protocol->data_maker(Protocol::CODE, QString("update"), _user, "unused"); + data_encrypt = protocol->data_encrypt(data); + tcpclient->sendToserver(data_encrypt); + qDebug() << "发送更新code请求" << data; +} void DataManager::recv_from_server(QByteArray data) { @@ -120,13 +128,20 @@ void DataManager::recv_from_server(QByteArray data) emit update_line(data); } - else if (action == "park") + else if(action == "park") { //此处获取的是服务端生成的随机取车码 data = json_data["data"].toString(); emit update_code(data); } + else if(action == "update") + { + //此处收到更新code码 + data = json_data["data"].toString(); + emit update_code(data); + + } } else if (json_data["type"] == "online_users") diff --git a/datamanager.h b/datamanager.h index 50d0803..f8ce278 100644 --- a/datamanager.h +++ b/datamanager.h @@ -52,6 +52,7 @@ public slots: void account_cancellation(QString username); void pick_up(QString code); void parking(); + void find_code(); /******TCPClient******/ void TCPClientConnected(); diff --git a/login.cpp b/login.cpp index 1bf7fc9..afaa310 100644 --- a/login.cpp +++ b/login.cpp @@ -87,6 +87,7 @@ void Login::signin_response(bool result) connect(datamanager,&DataManager::update_line,mainwidget,&Widget::update_line); connect(mainwidget, &Widget::parking, datamanager, &DataManager::parking); connect(mainwidget, &Widget::pick_up, datamanager, &DataManager::pick_up); + connect(mainwidget, &Widget::find_code, datamanager, &DataManager::find_code); this->hide(); mainwidget->show(); diff --git a/widget.cpp b/widget.cpp index dfae8d2..39ede7e 100644 --- a/widget.cpp +++ b/widget.cpp @@ -8,10 +8,11 @@ Widget::Widget(QWidget *parent) { ui->setupUi(this); ui->log->setEnabled(false); + ui->pushButton_3->setEnabled(false); //连接mqtt服务器,端口1883 mqtt_client = new QMqttClient(this); - mqtt_client->setHostname(QHostAddress(QHostAddress::LocalHost).toString()); + mqtt_client->setHostname(hostname); mqtt_client->setPort(port); mqtt_client->setClientId("mobile"); mqtt_client->setUsername("Phone"); @@ -52,6 +53,8 @@ void Widget::on_pushButton_3_clicked() void Widget::on_pushButton_4_clicked() { emit pick_up(ui->code->toPlainText()); + ui->code->clear(); + ui->pushButton_3->setEnabled(true); } void Widget::connected_handler() @@ -138,9 +141,24 @@ void Widget::disconnect_form_server() void Widget::update_line(QString data) { //向mqtt服务器发送路径消息 + qDebug() << "向mqtt服务器发送的路径消息" << data; } void Widget::update_code(QString code) { - ui->code->setText(code); + if(code == "000") + { + ui->pushButton_3->setEnabled(true); + } + else + { + ui->code->setText(code); + ui->pushButton_3->setEnabled(false); + } } + +void Widget::on_pushButton_5_clicked() +{ + emit find_code(); +} + diff --git a/widget.h b/widget.h index 83416e8..bb9573a 100644 --- a/widget.h +++ b/widget.h @@ -32,6 +32,7 @@ signals: void exit_client(); void parking(); void pick_up(QString code); + void find_code(); public slots: void on_pushButton_3_clicked(); @@ -44,10 +45,14 @@ public slots: void update_code(QString code); +private slots: + void on_pushButton_5_clicked(); + private: Ui::Widget *ui; QMqttClient *mqtt_client; QMqttSubscription* sub = nullptr; + QString hostname = "mqtt.ourdocs.cn"; QString topic = "/car"; quint16 port = 1883; }; diff --git a/widget.ui b/widget.ui index 409f3b9..a33bfd0 100644 --- a/widget.ui +++ b/widget.ui @@ -46,7 +46,7 @@ 50 150 - 311 + 171 71 @@ -56,7 +56,7 @@ - 放置驱车码 + 放置取车码 @@ -95,6 +95,19 @@ + + + + 270 + 170 + 93 + 28 + + + + 查看取车码 + +