HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-11-18 16604a593202f2f87adf71abd57d036fe7da3b52
ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs
@@ -3204,6 +3204,9 @@
            {
                try
                {
                    if (!Shared.Common.Config.Instance.IsLogin) {
                        return;
                    }
                    if (remoteMqttIsConnecting || Shared.Common.Config.Instance.HomeId == "")
                    {
                        return;
@@ -3522,7 +3525,7 @@
                    //云端中的当前连接被挤下线,需要通知app
                    //全局接收网关推送的的逻辑(为了执行速度,尽可能的别加耗时的操作)
                    message = "BeingSqueezedOffline";
                    Shared.Phone.UserCenter.HdlGatewayReceiveLogic.GatewayOverallMsgReceive("", topic, null);
                    Shared.Phone.UserCenter.HdlGatewayReceiveLogic.Current.GatewayOverallMsgReceive("", topic, "", null);
                    DebugPrintLog($"被挤下线通知:{ topic}_远程返回的数据_{message}_{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")}");//{System.DateTime.Now.ToString()}");// DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")
                    return;
                }
@@ -3718,7 +3721,7 @@
                }
                //全局接收网关推送的的逻辑(为了执行速度,尽可能的别加耗时的操作)
                Shared.Phone.UserCenter.HdlGatewayReceiveLogic.GatewayOverallMsgReceive(gatewayID, topic, jobject);
                Shared.Phone.UserCenter.HdlGatewayReceiveLogic.Current.GatewayOverallMsgReceive(gatewayID, topic, reportStatus, jobject);
                #region 云端通知
                var cloudMqttResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Common.CloudMqttResponsePack>(message);
@@ -3733,7 +3736,7 @@
                                gwa.CloudErrorAction("AppNoLogin", "登录过期,请重新登录");
                            }
                            //全局接收网关推送的的逻辑(为了执行速度,尽可能的别加耗时的操作)
                            Shared.Phone.UserCenter.HdlGatewayReceiveLogic.GatewayOverallMsgReceive(gatewayID, "AppNoLogin", jobject);
                            Shared.Phone.UserCenter.HdlGatewayReceiveLogic.Current.GatewayOverallMsgReceive(gatewayID, "AppNoLogin", reportStatus, jobject);
                            break;
                        case "AppTimeOut":
                            if (gwa.CloudErrorAction != null)
@@ -3761,17 +3764,15 @@
                        if (gwData != null)
                        {
                            var gwList = GateWayList.FindAll(obj => obj.getGatewayBaseInfo.HomeId == Shared.Common.Config.Instance.HomeId);
                            for (int i = 0; i < gwList.Count; i++)
                            {
                                var gwTemp = gwList[i];
                                if (gwData.IsDominant == 1)
                                {
                                    gwTemp.getGatewayBaseInfo.IsMainGateWay = true;
                                    for (int j = i + 1; j < gwList.Count; j++)
                                    {
                                        gwList[j].getGatewayBaseInfo.IsMainGateWay = false;
                                    }
                                if (gwList[i].getGatewayBaseInfo.gwID == gatewayID)
                                {
                                    gwList[i].getGatewayBaseInfo.IsMainGateWay = true;
                                }
                                else
                                {
                                    gwList[i].getGatewayBaseInfo.IsMainGateWay = false;
                                }
                            }
                        }