diff --git a/app.pro.user b/app.pro.user index fe40358..454a765 100644 --- a/app.pro.user +++ b/app.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -8,7 +8,7 @@ ProjectExplorer.Project.ActiveTarget - 1 + 0 ProjectExplorer.Project.EditorSettings @@ -87,173 +87,6 @@ ProjectExplorer.Project.Target.0 - - Desktop - Desktop Qt 6.5.3 MinGW 64-bit - Desktop Qt 6.5.3 MinGW 64-bit - qt.qt6.653.win64_mingw_kit - 0 - 0 - 0 - - 0 - C:\Users\25761\Desktop\build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Debug - C:/Users/25761/Desktop/build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - 构建 - 构建 - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - 清除 - 清除 - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - C:\Users\25761\Desktop\build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Release - C:/Users/25761/Desktop/build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - 构建 - 构建 - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - 清除 - 清除 - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - - - 0 - C:\Users\25761\Desktop\build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Profile - C:/Users/25761/Desktop/build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - 构建 - 构建 - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - 清除 - 清除 - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - 部署 - 部署 - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - true - true - 0 - true - - 2 - - false - - Qt4ProjectManager.Qt4RunConfiguration:C:/Users/25761/Desktop/app/app.pro - C:/Users/25761/Desktop/app/app.pro - false - true - true - true - C:/Users/25761/Desktop/build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Debug - - 1 - - - - ProjectExplorer.Project.Target.1 Android.Device.Type 安卓 Qt 6.5.3 Clang arm64-v8a @@ -466,8 +299,174 @@ app Qt4ProjectManager.AndroidRunConfiguration:C:/Users/25761/Desktop/app/app.pro C:/Users/25761/Desktop/app/app.pro + true + true + true + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop + Desktop Qt 6.5.3 MinGW 64-bit + Desktop Qt 6.5.3 MinGW 64-bit + qt.qt6.653.win64_mingw_kit + 0 + 0 + 0 + + 0 + C:\Users\25761\Desktop\build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Debug + C:/Users/25761/Desktop/build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + 构建 + 构建 + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + 清除 + 清除 + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:\Users\25761\Desktop\build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Release + C:/Users/25761/Desktop/build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + 构建 + 构建 + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + 清除 + 清除 + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + C:\Users\25761\Desktop\build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Profile + C:/Users/25761/Desktop/build-app-Desktop_Qt_6_5_3_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + 构建 + 构建 + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + 清除 + 清除 + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + 部署 + 部署 + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + 0 + true + + 2 + + false + + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/25761/Desktop/app/app.pro + C:/Users/25761/Desktop/app/app.pro false true + true true 1 diff --git a/datamanager.cpp b/datamanager.cpp index 696f4bd..ae1a7bf 100644 --- a/datamanager.cpp +++ b/datamanager.cpp @@ -49,6 +49,7 @@ void DataManager::Register(QString username, QString password) void DataManager::signin_request(QString username, QString password) { + _user = username; QByteArray data, data_encrypt; data = protocol->data_maker(Protocol::REQUEST, QString("signin"), QList{"user", username, "password", password}); data_encrypt = protocol->data_encrypt(data); @@ -77,7 +78,7 @@ void DataManager::update_namelist(QString username) void DataManager::parking() { QByteArray data, data_encrypt; - data = protocol->data_maker(Protocol::CODE, QString("park"), QString("parking_request")); + data = protocol->data_maker(Protocol::CODE, QString("park"), _user ,QString("parking_request")); data_encrypt = protocol->data_encrypt(data); tcpclient->sendToserver(data_encrypt); qDebug() << "发送存车信息" << data; @@ -86,7 +87,7 @@ void DataManager::parking() void DataManager::pick_up(QString code) { QByteArray data, data_encrypt; - data = protocol->data_maker(Protocol::CODE, QString("pick"), code); + data = protocol->data_maker(Protocol::CODE, QString("pick"), _user, code); data_encrypt = protocol->data_encrypt(data); tcpclient->sendToserver(data_encrypt); qDebug() << "发送取车信息" << data; @@ -104,26 +105,27 @@ void DataManager::recv_from_server(QByteArray data) if (json_data["type"] == "message") { emit new_message(); - QString data, sendname; - sendname = json_data["action"].toString(); - data = json_data["data"].toString(); - emit update_text(sendname, data); - //接收到行车路线类型的消息 + //暂时没用 } if(json_data["type"] == "code") { - QString data, sendname; - sendname = json_data["action"].toString(); - if(sendname == "pick") + QString data, action; + action = json_data["action"].toString(); + if(action == "pick") { + //此处获取的是车位路径码 data = json_data["data"].toString(); - //取车时向服务端发送,不会接受该类信息 + + //此处添加mqtt服务器publish相关代码 + emit update_line(data); + } - else if (sendname == "park") + else if (action == "park") { + //此处获取的是服务端生成的随机取车码 data = json_data["data"].toString(); emit update_code(data); - //停车时服务端反馈的随机码 + } } diff --git a/datamanager.h b/datamanager.h index 0ff313f..50d0803 100644 --- a/datamanager.h +++ b/datamanager.h @@ -22,12 +22,14 @@ private: Protocol *protocol; TCPClient *tcpclient; bool connect_flag = false; + QString _user; signals: void connect_to_server(); void disconnect_from_server(); void new_message(); void update_code(QString code); + void update_line(QString data); void signin_response(bool result); void signup_response(bool result); void update_text(QString sendname,QString data); diff --git a/login.cpp b/login.cpp index 13c63d0..1bf7fc9 100644 --- a/login.cpp +++ b/login.cpp @@ -83,8 +83,10 @@ void Login::signin_response(bool result) connect(mainwidget,&Widget::account_cancellation,datamanager,&DataManager::account_cancellation); connect(datamanager,&DataManager::disconnect_from_server,mainwidget,&Widget::disconnect_form_server); connect(mainwidget,&Widget::exit_client,this,&Login::exit_client); - connect(mainwidget, &Widget::parking, datamanager, &DataManager::); - connect(mainwidget, &Widget::pick_up, datamanager, &DataManager::); + connect(datamanager,&DataManager::update_code,mainwidget,&Widget::update_code); + 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); this->hide(); mainwidget->show(); diff --git a/protocol.cpp b/protocol.cpp index 7cad303..e086928 100644 --- a/protocol.cpp +++ b/protocol.cpp @@ -35,7 +35,8 @@ QByteArray Protocol::data_builder(QList &args) { data.insert("type","code"); data.insert("action",args[1].get_string()); - data.insert("data",args[2].get_string()); + data.insert("user",args[2].get_string()); + data.insert("data",args[3].get_string()); } case REQUEST: { @@ -82,7 +83,7 @@ QPair Protocol::data_parser(QByteArray data) QJsonDocument json_data = QJsonDocument::fromJson(data); if (json_data["type"] == "message") return qMakePair(MESSAGE,json_data.object()); - else if (json_data["type"] == "line") + else if (json_data["type"] == "code") return qMakePair(CODE,json_data.object()); else if (json_data["type"] == "request") return qMakePair(REQUEST,json_data.object()); diff --git a/widget.cpp b/widget.cpp index 95cfb3c..dfae8d2 100644 --- a/widget.cpp +++ b/widget.cpp @@ -134,3 +134,13 @@ void Widget::disconnect_form_server() QMessageBox::critical(this,"连接超时","请检查您的网络连接!"); qApp->quit(); } + +void Widget::update_line(QString data) +{ + //向mqtt服务器发送路径消息 +} + +void Widget::update_code(QString code) +{ + ui->code->setText(code); +} diff --git a/widget.h b/widget.h index 65b8c25..83416e8 100644 --- a/widget.h +++ b/widget.h @@ -40,6 +40,10 @@ public slots: void disconnect_form_server(); + void update_line(QString data); + + void update_code(QString code); + private: Ui::Widget *ui; QMqttClient *mqtt_client;