From d87400af518ebc9274f4447f06476959c3aa5102 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 14 七月 2020 16:29:42 +0800 Subject: [PATCH] Merge branch 'dev-tzy' into dev-2020xm --- ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs | 80 +++++++++++++++------------------------- 1 files changed, 30 insertions(+), 50 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs index c470209..7be9dbd 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs @@ -254,7 +254,7 @@ UserCenterResourse.ResidenceOption.Save(); btnShortCut.IsSelected = false; //鍙栨秷涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂� - UserView.UserPage.Instance.RefreshForm = true; + UserView.UserPage.Instance.RefreshAllForm = true; }); } else @@ -266,7 +266,7 @@ UserCenterResourse.ResidenceOption.Save(); btnShortCut.IsSelected = true; //鍒涘缓涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂� - UserView.UserPage.Instance.RefreshForm = true; + UserView.UserPage.Instance.RefreshAllForm = true; }); } }; @@ -534,79 +534,59 @@ //浠庤澶囧垪琛ㄤ腑鑾峰彇鍦ㄧ嚎鐘舵�� HdlThreadLogic.Current.RunThread(() => { - //棣栧厛鑾峰彇杩欎簺浼犳劅鍣ㄦ墍鍦ㄧ殑缃戝叧 - var listWay = new List<ZbGateway>(); foreach (var device in listDevice) - { - ZbGateway realWay = null; - //鏄惁瀛樺湪鐪熷疄鐗╃悊缃戝叧 - if (HdlGatewayLogic.Current.GetRealGateway(ref realWay, device.CurrentGateWayId) == false) - { - continue; - } - listWay.Add(realWay); - } - foreach (var zbway in listWay) { if (this.Parent == null) { //鐣岄潰鍏抽棴 return; } - int statu = 0; - var list = Common.LocalDevice.Current.GetDeviceListFromGateway(zbway, ref statu, false, ShowErrorMode.NO); - if (statu != -1) + var deviceInfo = Common.LocalDevice.Current.ReadDeviceEpointDeviceInfo(device); + if (deviceInfo != null) { - for (int i = 0; i < list.Count; i++) - { - //璁剧疆璁惧鍦ㄧ嚎鐘舵�� - this.ReceiveDeviceStatuPush(list[i]); - } + //璁剧疆璁惧鍦ㄧ嚎鐘舵�� + this.ReceiveDeviceStatuPush(device, deviceInfo); } + System.Threading.Thread.Sleep(50); } - }); + }, ShowErrorMode.NO); } /// <summary> /// 鎺ュ彈璁惧鍦ㄧ嚎鎺ㄩ�� /// </summary> /// <param name="device"></param> - private void ReceiveDeviceStatuPush(CommonDevice device) + private void ReceiveDeviceStatuPush(CommonDevice device, CommonDevice.DeviceInfoData deviceInfo) { if (this.Parent == null) { //鐣岄潰鍏抽棴 return; } - - lock (objOnlineLock) + string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); + if (this.dicSensorStatuView.ContainsKey(mainkeys) == true) { - string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); - if (this.dicSensorStatuView.ContainsKey(mainkeys) == true) + CommonDevice Loacldevice = Common.LocalDevice.Current.GetDevice(mainkeys); + if (Loacldevice == null) { - CommonDevice Loacldevice = Common.LocalDevice.Current.GetDevice(mainkeys); - if (Loacldevice == null) - { - return; - } - //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂� - if (Loacldevice.IsOnline == device.IsOnline) - { - return; - } - //淇濆瓨鐘舵�� - Loacldevice.IsOnline = device.IsOnline; - Loacldevice.ReSave(); - - //鍥犱负杩欐槸鎺ㄩ�佽繃鏉ョ殑锛屾垜涓嶄繚璇侀偅涓�鐬棿杩欎釜涓滆タ浼氫笉浼氳绉婚櫎 - var control = this.dicSensorStatuView[mainkeys]; - Application.RunOnMainThread(() => - { - //璁剧疆鎺т欢鐨勫湪绾跨姸鎬佹枃鏈晥鏋� - bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(device); - control?.SetOnlineStatu(bolOnline); - }); + return; } + //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂� + if (Loacldevice.IsOnline == deviceInfo.IsOnline) + { + return; + } + //淇濆瓨鐘舵�� + Loacldevice.IsOnline = deviceInfo.IsOnline; + + //鍥犱负杩欐槸鎺ㄩ�佽繃鏉ョ殑锛屾垜涓嶄繚璇侀偅涓�鐬棿杩欎釜涓滆タ浼氫笉浼氳绉婚櫎 + var control = this.dicSensorStatuView[mainkeys]; + HdlThreadLogic.Current.RunMain(() => + { + //璁剧疆鎺т欢鐨勫湪绾跨姸鎬佹枃鏈晥鏋� + bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(device); + control?.SetOnlineStatu(bolOnline); + }); } } -- Gitblit v1.8.0