From 7584dea0241cefc276a4b5311331aee1dcda6c80 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 16 三月 2021 11:44:41 +0800
Subject: [PATCH] Merge branch 'WJC' into temp-wxr
---
HDL_ON/DAL/Mqtt/MqttClient.cs | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 50 insertions(+), 7 deletions(-)
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index 9cded85..e97ced8 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -191,9 +191,24 @@
Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/property/send",
QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
};
+ //App璁㈤槄绾㈠瀹� / 缃戝叧閬ユ帶鍣ㄦ坊鍔犳垚鍔熼�氱煡
+ var pirStatus = new MqttTopicFilter()
+ {
+ Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found",
+ QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
+ };
+ //App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡
+ var study = new MqttTopicFilter()
+ {
+ Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up",
+ QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
+ };
Utlis.WriteLine("寮�濮嬭闃咃紒");
- var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] { topicFilterPush2, topicAlinkStatus });
+ var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] {
+ pirStatus,
+ study,
+ topicFilterPush2, topicAlinkStatus });
if (result.Items[0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS0)
{
isSubscribeSuccess = true;
@@ -221,6 +236,10 @@
{
return;
}
+ if(DB_ResidenceData.Instance.CurrentRegion == null || DB_ResidenceData.Instance.CurrentRegion.RegionID == null)
+ {
+ return;
+ }
//杩藉姞锛氭病鏈夎繙绋嬭繛鎺ョ殑鏉冮檺
if (RemoteMqttIsConnecting || remoteIsConnected)
@@ -230,7 +249,7 @@
Utlis.WriteLine($"StartCloudMqtt: 寮�濮�");
- await Task.Factory.StartNew(async () => {
+ await Task.Factory.StartNew((Func<Task>)(async () => {
try
{
#region 鍒濆鍖栬繙绋婱qtt
@@ -242,7 +261,7 @@
if (RemoteMqttClient.ApplicationMessageReceivedHandler == null)
{
//澶勭悊鎺ユ敹鍒扮殑鏁版嵁
- RemoteMqttClient.UseApplicationMessageReceivedHandler((e) => {
+ RemoteMqttClient.UseApplicationMessageReceivedHandler((Action<MqttApplicationMessageReceivedEventArgs>)((e) => {
try
{
var topic = e.ApplicationMessage.Topic;
@@ -272,24 +291,48 @@
}
}
+ //涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊)
+ if (Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceiveEx(topic, e.ApplicationMessage.Payload, mqttEncryptKey, tuyaEncryptKey) == true)
+ {
+ return;
+ }
+
if (topic == $"/BusGateWayToClient/{UserInfo.Current.ID}" + PushNotifySqueeze)
{
var mMes = Encoding.UTF8.GetString(e.ApplicationMessage.Payload);
//鏂版尋涓嬬嚎涓婚鏂规 鏀跺埌鎸や笅绾夸富棰�
ReceiveNotifySqueezeAsync(mMes);
}
+ //App璁㈤槄绾㈠瀹�/缃戝叧閬ユ帶鍣ㄦ坊鍔犳垚鍔熼�氱煡
+ else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found")
+ {
+ var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
+ var revString = Encoding.UTF8.GetString(bytes);
+ HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.mqttdata = revString;
+ //ReceiveCheckGateway(ss);
+ //return;
+ }
+ //App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡
+ else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up")
+ {
+ var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
+ var revString = Encoding.UTF8.GetString(bytes);
+ HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.mqttdata = revString;
+ //ReceiveCheckGateway(ss);
+ //return;
+ }
//A缃戝叧璁惧鐘舵��-鍖呭惈娑傞甫璁惧
else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/property/send")
{
var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
var revString = Encoding.UTF8.GetString(bytes);
- Control.Ins.UpdataFunctionStatus(revString, null);
+ Control.Ins.UpdataFunctionStatus(revString, null,true);
}
//涓�绔彛鏁版嵁瑙f瀽
else
{
//SetGatewayOnlineResetCheck();
- var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, mqttEncryptKey);
+ //var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, mqttEncryptKey);
//bus鏁版嵁瑙f瀽
var packet = new Packet();
@@ -305,7 +348,7 @@
}
}
catch { }
- });
+ }));
}
//(2)DisconnectedHandler
@@ -356,7 +399,7 @@
Utlis.WriteLine($"StartCloudMqtt: 缁撴潫");
}
- });
+ }));
}
--
Gitblit v1.8.0