diff --git a/app.pro.user b/app.pro.user index 9bb9ed8..b871e43 100644 --- a/app.pro.user +++ b/app.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/datamanager.cpp b/datamanager.cpp index 914352a..08f9552 100644 --- a/datamanager.cpp +++ b/datamanager.cpp @@ -102,6 +102,15 @@ void DataManager::find_code() qDebug() << "发送更新code请求" << data; } +void DataManager::update_count() +{ + QByteArray data, data_encrypt; + data = protocol->data_maker(Protocol::MESSAGE, QString("count"), "unused"); + data_encrypt = protocol->data_encrypt(data); + tcpclient->sendToserver(data_encrypt); + qDebug() << "发送获取人数请求" << data; +} + void DataManager::recv_from_server(QByteArray data) { QByteArray data_decrypt; @@ -112,8 +121,14 @@ void DataManager::recv_from_server(QByteArray data) QJsonDocument json_data = QJsonDocument::fromJson(list[i]); if (json_data["type"] == "message") { - emit new_message(); - //暂时没用 + QString data, action; + action = json_data["action"].toString(); + if(action == "count") + { + data = json_data["data"].toString(); + emit handle_count(data); + } + } if(json_data["type"] == "code") { @@ -134,6 +149,7 @@ void DataManager::recv_from_server(QByteArray data) data = json_data["data"].toString(); emit update_code(data); + } else if(action == "update") { diff --git a/datamanager.h b/datamanager.h index f8ce278..44b1a9e 100644 --- a/datamanager.h +++ b/datamanager.h @@ -36,6 +36,7 @@ signals: void update_file(QString sendname,QString filename,QString file_data); void update_file_private(QString sendname,QString filename,QString file_data); void update_users(int count,QListonline_users); + void handle_count(QString count); public slots: @@ -53,6 +54,7 @@ public slots: void pick_up(QString code); void parking(); void find_code(); + void update_count(); /******TCPClient******/ void TCPClientConnected(); diff --git a/login.cpp b/login.cpp index afaa310..3aeb4c9 100644 --- a/login.cpp +++ b/login.cpp @@ -15,6 +15,7 @@ Login::Login(QWidget *parent) : /********datamanager********/ datamanager = DataManager::getInstance(); + connect(datamanager,&DataManager::signin_response,this,&Login::signin_response); connect(datamanager,&DataManager::signup_response,this,&Login::signup_response); connect(datamanager,&DataManager::connect_to_server,this,&Login::connected); @@ -22,7 +23,6 @@ Login::Login(QWidget *parent) : connect(this,&Login::signin_request,datamanager,&DataManager::signin_request); connect(this,&Login::Register,datamanager,&DataManager::Register); - } Login::~Login() @@ -85,9 +85,12 @@ void Login::signin_response(bool result) connect(mainwidget,&Widget::exit_client,this,&Login::exit_client); connect(datamanager,&DataManager::update_code,mainwidget,&Widget::update_code); connect(datamanager,&DataManager::update_line,mainwidget,&Widget::update_line); + connect(datamanager,&DataManager::handle_count,mainwidget,&Widget::handle_count); + 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); + connect(mainwidget, &Widget::update_count, datamanager, &DataManager::update_count); this->hide(); mainwidget->show(); @@ -145,7 +148,6 @@ void Login::exit_client() this->close(); } - /*****************************Others******************************/ void Login::zoom_down(QPushButton* btn) { diff --git a/login.h b/login.h index 6d865ec..4b4c05d 100644 --- a/login.h +++ b/login.h @@ -47,6 +47,7 @@ private slots: void disconnected(); void exit_client(); + private: Ui::Login *ui; QPoint point; diff --git a/login.ui b/login.ui index f03a0d7..70fc60c 100644 --- a/login.ui +++ b/login.ui @@ -6,8 +6,8 @@ 0 0 - 438 - 609 + 399 + 682 @@ -16,8 +16,8 @@ - 250 - 370 + 230 + 360 79 40 @@ -49,8 +49,8 @@ QPushButton:pressed - 70 - 230 + 50 + 220 289 45 @@ -74,8 +74,8 @@ font: 12pt "Candara"; - 120 - 160 + 100 + 150 191 51 @@ -91,8 +91,8 @@ background:transparent; - 100 - 370 + 80 + 360 71 40 @@ -124,8 +124,8 @@ QPushButton:pressed - 70 - 290 + 50 + 280 289 45 diff --git a/protocol.cpp b/protocol.cpp index 6e621d4..86da575 100644 --- a/protocol.cpp +++ b/protocol.cpp @@ -27,7 +27,7 @@ QByteArray Protocol::data_builder(QList &args) case MESSAGE: { data.insert("type","message"); - data.insert("sendname",args[1].get_string()); + data.insert("action",args[1].get_string()); data.insert("data",args[2].get_string()); break; } diff --git a/signup.ui b/signup.ui index 9a9c94c..6f2293e 100644 --- a/signup.ui +++ b/signup.ui @@ -6,8 +6,8 @@ 0 0 - 438 - 609 + 399 + 682 @@ -16,7 +16,7 @@ - 80 + 50 90 161 31 @@ -32,10 +32,10 @@ - 80 + 50 190 - 271 - 344 + 301 + 391 @@ -179,7 +179,7 @@ font: 26 10pt "Bahnschrift Light"; - 80 + 50 120 301 51 diff --git a/widget.cpp b/widget.cpp index 39ede7e..5ba7867 100644 --- a/widget.cpp +++ b/widget.cpp @@ -8,7 +8,7 @@ Widget::Widget(QWidget *parent) { ui->setupUi(this); ui->log->setEnabled(false); - ui->pushButton_3->setEnabled(false); + //连接mqtt服务器,端口1883 mqtt_client = new QMqttClient(this); @@ -52,6 +52,10 @@ void Widget::on_pushButton_3_clicked() //点击取车按钮 void Widget::on_pushButton_4_clicked() { + if(ui->code->toPlainText().isEmpty()) + { + QMessageBox::information(this,"取车错误","请先放置正确的取车码!"); + } emit pick_up(ui->code->toPlainText()); ui->code->clear(); ui->pushButton_3->setEnabled(true); @@ -142,13 +146,27 @@ void Widget::update_line(QString data) { //向mqtt服务器发送路径消息 qDebug() << "向mqtt服务器发送的路径消息" << data; + + + + + + + + + + + + + + } void Widget::update_code(QString code) { if(code == "000") { - ui->pushButton_3->setEnabled(true); + QMessageBox::information(this,"消息","当前用户并无存车信息"); } else { @@ -157,8 +175,38 @@ void Widget::update_code(QString code) } } +void Widget::handle_count(QString count) +{ + QString data = QString("当前剩余空位'%1'").arg(count); + ui->label_4->setText(data); + if(count.toInt() == 0) + { + ui->pushButton_3->setEnabled(false); + } + else + { + ui->pushButton_3->setEnabled(true); + } +} + void Widget::on_pushButton_5_clicked() { emit find_code(); + if(!ui->code->document()->isEmpty()) + { + QMessageBox::information(this,"消息","已显示当前车位信息!"); + } +} + + +void Widget::on_pushButton_6_clicked() +{ + emit update_count(); +} + + +void Widget::on_pushButton_7_clicked() +{ + ui->stackedWidget->setCurrentIndex(0); } diff --git a/widget.h b/widget.h index bb9573a..17378c5 100644 --- a/widget.h +++ b/widget.h @@ -33,6 +33,7 @@ signals: void parking(); void pick_up(QString code); void find_code(); + void update_count(); public slots: void on_pushButton_3_clicked(); @@ -45,9 +46,15 @@ public slots: void update_code(QString code); + void handle_count(QString count); + private slots: void on_pushButton_5_clicked(); + void on_pushButton_6_clicked(); + + void on_pushButton_7_clicked(); + private: Ui::Widget *ui; QMqttClient *mqtt_client; diff --git a/widget.ui b/widget.ui index a33bfd0..7c5fbf5 100644 --- a/widget.ui +++ b/widget.ui @@ -6,8 +6,8 @@ 0 0 - 489 - 718 + 399 + 682 @@ -18,8 +18,8 @@ 0 0 - 501 - 661 + 399 + 682 @@ -27,8 +27,8 @@ 40 - 50 - 251 + 40 + 371 71 @@ -41,80 +41,147 @@ 欢迎来到停车场 - - - - 50 - 150 - 171 - 71 - - - - - 15 - - - - 放置取车码 - - - - - - 90 - 390 - 93 - 28 - - - - 存车 - - - - - - 280 - 390 - 93 - 28 - - - - 取车 - - - 90 - 266 - 281 - 51 + 40 + 360 + 321 + 41 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css"> +p, li { white-space: pre-wrap; } +hr { height: 1px; border-width: 0; } +li.unchecked::marker { content: "\2610"; } +li.checked::marker { content: "\2612"; } +</style></head><body style=" font-family:'Microsoft YaHei UI'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:15pt;"><br /></p></body></html> + - + - 270 - 170 - 93 - 28 + 40 + 130 + 321 + 111 - - 查看取车码 + + + + + + 15 + + + + 当前车位数量 + + + + + + + 获取车位数量 + + + + + + + + + 40 + 240 + 321 + 101 + + + + + + + 15 + + + + 放置取车码 + + + + + + + 查看取车码 + + + + + + + + + 40 + 400 + 321 + 80 + + + + + + + 取车 + + + + + + + 存车 + + + + + + + + + 40 + 490 + 321 + 91 + + + + + + + 用户 + + + + + + + 主页 + + + + - 60 - 60 + 40 + 70 241 31 @@ -131,41 +198,28 @@ - 60 + 50 140 - 341 - 381 + 301 + 431 + + + + 70 + 590 + 251 + 41 + + + + 返回 + + - - - - 70 - 660 - 93 - 28 - - - - 主页 - - - - - - 310 - 660 - 93 - 28 - - - - 用户 - -