From 28b6014b7cbbe6d1667e338743d257b3e98e966d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 26 二月 2021 14:48:00 +0800
Subject: [PATCH] Merge branch 'dev-tzy' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into dev-tzy
---
HDL_ON/DAL/Mqtt/MqttClient.cs | 138 ++++++++++++++++++++-------------------------
1 files changed, 61 insertions(+), 77 deletions(-)
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index 2a7d9d5..9cded85 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -71,11 +71,6 @@
Utlis.WriteLine($"Remote涓诲姩鏂紑_{s}");
//await RemoteMqttClient.DisconnectAsync(new MQTTnet.Client.Disconnecting.MqttClientDisconnectOptions { }, CancellationToken.None);
await RemoteMqttClient.DisconnectAsync();
-
- if (Control.Ins.IsRemote)
- {
- Control.Ins.GatewayOnline = false;
- }
}
}
catch (Exception e)
@@ -138,9 +133,12 @@
try
{
System.Threading.Thread.Sleep(500);
- //if (!Control.Ins.IsRemote) continue;
//杩涘叆鍚庡彴涓嶅鐞�
if (MainPage.IsEnterBackground) continue;
+ if (MqttInfoConfig.Current.HomeGatewayInfo == null)
+ {
+ continue;
+ }
await StartCloudMqtt();
await SubscribeTopics();
@@ -198,14 +196,8 @@
var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] { topicFilterPush2, topicAlinkStatus });
if (result.Items[0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS0)
{
- Control.Ins.GatewayOnline = true;
isSubscribeSuccess = true;
Utlis.WriteLine("璁㈤槄鎴愬姛锛�");
- if (MqttInfoConfig.Current.HomeGatewayInfo != null && MqttInfoConfig.Current.HomeGatewayInfo.mac == Entity.DB_ResidenceData.Instance.residenceGatewayMAC)
- {
- Control.Ins.IsRemote = true;
- }
- MqttRemoteSend(new byte[] { 0 }, 3);
}
}
catch (Exception ex)
@@ -275,7 +267,7 @@
else if (topic == $"/BusGateWayToClient/{MqttInfoConfig.Current.HomeGatewayInfo.gatewayId}/Common/CheckGateway")
{
var ss = Encoding.UTF8.GetString(e.ApplicationMessage.Payload);
- ReceiveCheckGateway(ss);
+ //ReceiveCheckGateway(ss);
return;
}
}
@@ -296,7 +288,7 @@
//涓�绔彛鏁版嵁瑙f瀽
else
{
- SetGatewayOnlineResetCheck();
+ //SetGatewayOnlineResetCheck();
var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, mqttEncryptKey);
//bus鏁版嵁瑙f瀽
var packet = new Packet();
@@ -331,6 +323,7 @@
RemoteMqttClient.UseConnectedHandler(async (e) =>
{
IfNeedReadAllDeviceStatus = true;
+ Control.Ins.GatewayOnline_Cloud = true;
Utlis.WriteLine($"============>Mqtt杩滅▼杩炴帴鎴愬姛");
SendPushSignOut();
});
@@ -411,11 +404,6 @@
/// <returns></returns>
static async Task StartMQTTGetInfo()
{
- //if (!Control.Ins.IsRemote)
- //{
- // return;
- //}
-
await GetMqttInfoAndMQTTConnectAsync();
////--鍒ゆ柇鏄綋鍓嶆槸鍚﹀垎浜殑浣忓畢
@@ -434,12 +422,6 @@
/// </summary>
static async Task MQTTConnectAsync()
{
-
- //if (!Control.Ins.IsRemote)
- //{
- // return;
- //}
-
//if (MqttInfoConfig.Current.HomeGatewayInfo != null && MqttInfoConfig.Current.mMqttInfo != null)
//娌℃湁缃戝叧鎯呭喌涓嬶紝涔熼渶瑕佽繛鎺qtt锛屾秱楦︾涓夋柟璁惧涓嶉渶瑕佺綉鍏�
if (MqttInfoConfig.Current.mMqttInfo != null)
@@ -461,10 +443,7 @@
MqttInfoConfig.Current.Save();
- if (MqttInfoConfig.Current.HomeGatewayInfo == null)
- {
- MqttInfoConfig.Current.HomeGatewayInfo = new Server.HomeGatewayInfo();
- }
+
mqttEncryptKey = MqttInfoConfig.Current.HomeGatewayInfo.aesKey;
//瑙e瘑瀵嗛挜瑙勫垯锛氬凡鐜版湁鐨勪綇瀹匢D涓哄熀鍑�,浠庡彸杈逛竴涓�鑾峰彇鍊�,鏈�鍚庡鏋滀笉澶�16浣�,鍒欏線鍙宠ˉ闆�
string aesKey = string.Empty;
@@ -530,12 +509,11 @@
{
try
{
- SetGatewayOnlineResetCheck();
- if (Control.Ins.IsRemote)
+ //SetGatewayOnlineResetCheck();
+ if (Control.Ins.GatewayOnline_Cloud)
{
CheckIfNeedReadAllDeviceStatus();
}
-
}
catch { }
}
@@ -545,22 +523,33 @@
/// </summary>
static void ReceiveNotifyGateWayOffline()
{
- if (Control.Ins.IsRemote)
- {
- Control.Ins.GatewayOnline = false;
- }
+ Control.Ins.GatewayOnline_Cloud = false;
}
-
/// <summary>
/// 鏀跺埌鎸や笅绾挎帹閫�
/// </summary>
static void ReceiveNotifySqueezeAsync(string mMes)
{
- if (mMes == PushSignStr) return;//鏄嚜宸辩殑鐧诲綍鎺ㄩ�佷笉澶勭悊
+ if (mMes == PushSignStr ) return;//鏄嚜宸辩殑鐧诲綍鎺ㄩ�佷笉澶勭悊//鎴栬�呭綋鍓嶄笉鏄繙绋嬮摼鎺ョ姸鎬�
+ //娴嬭瘯璐﹀彿锛屼笉鎸や笅绾�
+ switch (UserInfo.Current.AccountString)
+ {
+ case "13415629083":
+ case "18316120654":
+ case "15622703419":
+ case "18824864143":
+ case "464027401@qq.com":
+ case "2791308028@qq.com":
+ case "13697499568":
+ case "18666455392":
+ case "13375012446":
+ case "13602944661":
+ case "18778381374":
+ case "18316672920":
+ return;
+ }
- //鏂紑杩滅▼杩炴帴
- Control.Ins.IsRemote = false;
if (!UserInfo.Current.IsLogin)
{
return;
@@ -587,20 +576,20 @@
//HDLRequest.Current.PushserivceSignOut ();
}
- /// <summary>
- /// 鏀跺埌CheckGateway涓婚
- /// </summary>
- static void ReceiveCheckGateway(string mMes)
- {
- if (!Control.Ins.IsRemote) return;
+ ///// <summary>
+ ///// 鏀跺埌CheckGateway涓婚
+ ///// </summary>
+ //static void ReceiveCheckGateway(string mMes)
+ //{
+ // if (!Control.Ins.IsRemote) return;
- Utlis.WriteLine("ReceiveCheckGateway锛�");
+ // Utlis.WriteLine("ReceiveCheckGateway锛�");
- //CheckIfNeedReadAllDeviceStatus ();
+ // //CheckIfNeedReadAllDeviceStatus ();
- //var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(mMes);
- Control.Ins.GatewayOnline = true;
- }
+ // //var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(mMes);
+ // Control.Ins.GatewayOnline = true;
+ //}
/// <summary>
/// 鎺ㄩ�佹尋涓嬬嚎涓婚
@@ -632,11 +621,6 @@
}
await RemoteMqttClient.PublishAsync(new MqttApplicationMessage { Topic = topicName, Payload = message, Retain = false, QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce });
break;
- case 3:
- topicName = $"/ClientToBusGateWay/{MqttInfoConfig.Current.HomeGatewayInfo.gatewayId}/Common/CheckGateway";
- Utlis.WriteLine("CheckGateway");
- await RemoteMqttClient.PublishAsync(new MqttApplicationMessage { Topic = topicName, Retain = false, QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce });
- break;
case 4://鍙戝竷鏂版柟妗堢殑鎸や笅绾夸富棰�
topicName = $"/BusGateWayToClient/{UserInfo.Current.ID}" + PushNotifySqueeze;
//message = Encoding.UTF8.GetBytes (PushSignStr);
@@ -665,27 +649,27 @@
/// </summary>
static bool IfNeedReadAllDeviceStatus = true;
- /// <summary>
- /// 璁剧疆缃戝叧鍦ㄧ嚎鏍囧織锛屽苟閲嶇疆CheckGateway鍙傛暟
- /// </summary>
- static void SetGatewayOnlineResetCheck()
- {
- if (Control.Ins.IsRemote)
- {
- if (!Control.Ins.GatewayOnline)
- {
- try
- {
- if (DB_ResidenceData.Instance.HomeGateway != null)
- {
- DB_ResidenceData.Instance.HomeGateway.gatewayStatus = true;
- }
- Control.Ins.GatewayOnline = true;
- }
- catch { }
- }
- }
- }
+ ///// <summary>
+ ///// 璁剧疆缃戝叧鍦ㄧ嚎鏍囧織锛屽苟閲嶇疆CheckGateway鍙傛暟
+ ///// </summary>
+ //static void SetGatewayOnlineResetCheck()
+ //{
+ // if (Control.Ins.IsRemote)
+ // {
+ // if (!Control.Ins.GatewayOnline)
+ // {
+ // try
+ // {
+ // if (DB_ResidenceData.Instance.HomeGateway != null)
+ // {
+ // DB_ResidenceData.Instance.HomeGateway.gatewayStatus = true;
+ // }
+ // Control.Ins.GatewayOnline = true;
+ // }
+ // catch { }
+ // }
+ // }
+ //}
/// <summary>
--
Gitblit v1.8.0