mirror of
https://github.com/JasonYANG170/IOTConnect-PC.git
synced 2024-11-23 12:16:49 +00:00
99 lines
2.3 KiB
C++
99 lines
2.3 KiB
C++
#include "form.h"
|
||
#include "ui_form.h"
|
||
#include <QMessageBox>
|
||
#include <QtMqtt/QtMqtt>
|
||
QString st;
|
||
QString upid;
|
||
form::form(const QString& id, const QString& ves, const QString& newves, const QString& log,QWidget *parent) :
|
||
QDialog(parent),
|
||
ui(new Ui::form),
|
||
client(new QMqttClient(this))
|
||
{
|
||
ui->setupUi(this);
|
||
setWindowTitle("更新检查");
|
||
st=id;
|
||
upid = id.mid(2);
|
||
//设备更新
|
||
if(id!=""){
|
||
client->setHostname("mqtt");
|
||
client->setPort(123);
|
||
client->setClientId("clientid");
|
||
client->connectToHost();
|
||
|
||
QObject::connect(client, &QMqttClient::connected, [this]() {
|
||
qDebug() << "Connected to MQTT broker!";
|
||
// 订阅主题
|
||
QMqttTopicFilter filter("Flowerpot");
|
||
client->subscribe(filter);
|
||
});
|
||
|
||
ui->label_6->setText("设备ID:"+id);
|
||
ui->label_8->setText("固件版本:"+ves);
|
||
ui->label_3->setText(ves);
|
||
ui->label_5->setText(newves);
|
||
ui->textBrowser->setText(log);
|
||
if(ves==""){
|
||
ui->label_7->setText("设备状态:离线");
|
||
}else{
|
||
ui->label_7->setText("设备状态:在线");
|
||
}
|
||
}
|
||
//程序更新
|
||
else{
|
||
ui->label_6->setText("万物互联IOT设备PC控制软件更新");
|
||
if(newves!=""){
|
||
ui->label_7->setText("服务器状态:在线");
|
||
}else{
|
||
ui->label_7->setText("服务器状态:离线");
|
||
}
|
||
|
||
ui->label_8->setText("服务器最新版本:"+newves);
|
||
ui->label->setText("当前版本:"+ves);
|
||
ui->label_3->setText(ves);
|
||
ui->label_5->setText(newves);
|
||
ui->textBrowser->setText(log);
|
||
}
|
||
}
|
||
form::~form()
|
||
{
|
||
delete ui;
|
||
}
|
||
#include <QDesktopServices>
|
||
#include <QUrl>
|
||
void form::on_pushButton_clicked()
|
||
{
|
||
if(st!=""){
|
||
QMqttTopicName topic("Flowerpot");
|
||
|
||
QString str = "#IDTO"+upid+"&Updata";
|
||
QByteArray byteArray = str.toUtf8();
|
||
|
||
|
||
|
||
client->publish(topic, byteArray, 0, false);
|
||
}else{
|
||
QMessageBox::information(this, "密码提示", "即将打开链接,密钥:2xzk");
|
||
QUrl url("updataurl"); // 替换为您要打开的网页URL
|
||
if (QDesktopServices::openUrl(url)) {
|
||
|
||
|
||
} else {
|
||
// 处理无法打开链接的错误
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
void form::closeEvent(QCloseEvent *event)
|
||
{
|
||
if(st!=""){
|
||
// 断开 MQTT 连接
|
||
client->disconnectFromHost();
|
||
|
||
// 调用父类的关闭事件处理函数
|
||
QDialog::closeEvent(event);
|
||
qDebug() << "offfff";
|
||
}
|
||
}
|