From e28d283bd27db2c40ff435c517db54e2010e8ae6 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期二, 24 十二月 2019 14:31:56 +0800 Subject: [PATCH] 2019.12.24 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 183 ++++++++++++++++++++------------------------- 1 files changed, 83 insertions(+), 100 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs old mode 100755 new mode 100644 index b778f68..5580861 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs @@ -285,7 +285,7 @@ //濡傛灉鐢ㄦ埛宸茬粡閫�鍑轰簡鐧婚檰,鍒欎笉澶勭悊 return; } - string msg = IMessageCommon.Current.GetMsgByRequestName(RequestName, revertObj.StateCode, pra); + string msg = IMessageCommon.Current.GetMsgByRequestName(RequestName, revertObj, pra); if (msg != null) { var control = new ShowMsgControl(ShowMsgType.Tip, msg); @@ -510,18 +510,8 @@ /// </summary> public static void RefreshAllMemory() { - //澶囦唤鐨勬暟鎹紝鏈夊彲鑳芥槸涓讳汉鑷繁涓婁紶鐨勶紝濡傛灉绠$悊鍛樼櫥闄嗘椂锛屼粬鑾峰彇鐨勫浠芥暟鎹湁鐐圭壒娈� - //姣斿涓嬮潰杩欎笁涓笢瑗垮湪涓昏处鍙烽偅閲屾槸涓嶉渶瑕佺殑 - bool isOthreShare = Config.Instance.Home.IsOthreShare; - int accountType = Config.Instance.Home.AccountType; - string mainMark = Config.Instance.Home.MainUserDistributedMark; - //杩樺師浣忓畢瀵硅薄 - Config.Instance.Home = House.GetHouseByHouseId(Config.Instance.Home.Id); - Config.Instance.Home.IsOthreShare = isOthreShare; - Config.Instance.Home.AccountType = accountType; - Config.Instance.Home.MainUserDistributedMark = mainMark; - Config.Instance.Home.Save(); - + //鍒锋柊浣忓畢瀵硅薄 + RefreshHomeObject(); //鍒锋柊鏈湴缃戝叧鏂囦欢 HdlGatewayLogic.Current.ReFreshByLocal(); //鍒锋柊鏈湴璁惧 @@ -530,6 +520,29 @@ HdlGatewayLogic.Current.SynchronizeDbGateway(); //浠庢湰鍦伴噸鏂板姞杞藉叏閮ㄧ殑鎴块棿 Common.Room.RefreshAllRoomByLocation(); + + } + + /// <summary> + /// 鍒锋柊浣忓畢瀵硅薄 + /// </summary> + public static void RefreshHomeObject() + { + //澶囦唤鐨勬暟鎹紝鏈夊彲鑳芥槸涓讳汉鑷繁涓婁紶鐨勶紝濡傛灉绠$悊鍛樼櫥闄嗘椂锛屼粬鑾峰彇鐨勫浠芥暟鎹湁鐐圭壒娈� + //姣斿涓嬮潰杩欎笁涓笢瑗垮湪涓昏处鍙烽偅閲屾槸涓嶉渶瑕佺殑 + bool isOthreShare = Config.Instance.Home.IsOthreShare; + int accountType = Config.Instance.Home.AccountType; + string mainMark = Config.Instance.Home.MainUserDistributedMark; + double Longitude = Config.Instance.Home.Longitude; + double Latitude = Config.Instance.Home.Latitude; + //杩樺師浣忓畢瀵硅薄 + Config.Instance.Home = House.GetHouseByHouseId(Config.Instance.Home.Id); + Config.Instance.Home.IsOthreShare = isOthreShare; + Config.Instance.Home.AccountType = accountType; + Config.Instance.Home.MainUserDistributedMark = mainMark; + Config.Instance.Home.Longitude = Longitude; + Config.Instance.Home.Latitude = Latitude; + Config.Instance.Home.Save(false); } #endregion @@ -601,7 +614,7 @@ { UserCenterResourse.Option.OldAccountId = string.Empty; //鍏抽棴鎵�鏈夋帴鏀� - HdlDeviceAttributeLogic.Current.RemoveAllEvent(); + HdlGatewayReceiveLogic.Current.RemoveAllEvent(); //娓呴櫎鍗囩骇鍒楄〃 FirmwareUpdateResourse.dicDeviceUpdateList.Clear(); FirmwareUpdateResourse.dicGatewayUpdateList.Clear(); @@ -622,7 +635,8 @@ HdlGatewayLogic.Current.ClearAllRealGateway(); try { - ZigBee.Device.ZbGateway.RemoteMqttClient?.DisconnectAsync(); + //鏂紑杩滅▼Mqtt杩炴帴 + ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); } catch { } @@ -647,29 +661,30 @@ /// <summary> /// 鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 /// </summary> - public static void CloseAllOpenForm() + /// <param name="tagetFrom">鐩爣鐣岄潰,濡傛灉鎸囧畾浜嗙殑璇�,鍒欏叧闂洰鏍囩晫闈笂灞傜殑鍏ㄩ儴鐣岄潰(瀹冭嚜韬笉鍏抽棴)</param> + public static void CloseAllOpenForm(string tagetFrom = "") { - var listForm = new List<CommonFormBase>(); - var listId = new List<string>(); - foreach (CommonFormBase form in UserCenterResourse.DicActionForm.Values) + while (UserView.HomePage.Instance.ChildrenCount > 0) { - if (form.FormID != "UserMainForm") + var view = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1); + if (view is CommonFormBase) { - listForm.Insert(0, form); - listId.Add(form.FormID); + if (((CommonFormBase)view).FormID == tagetFrom) + { + //鍙叧闂埌鎸囧畾鐩爣鐣岄潰 + return; + } + ((CommonFormBase)view).CloseForm(); + } + else if (view is UserView.UserPage) + { + return; + } + else + { + view.RemoveFromParent(); } } - foreach (var id in listId) - { - UserCenterResourse.DicActionForm.Remove(id); - } - - //鍏抽棴鎵�鏈夌敾闈� - foreach (CommonFormBase form in listForm) - { - form.CloseForm(); - } - listForm.Clear(); } #endregion @@ -791,13 +806,19 @@ //APP缂撳瓨鍔犺浇寮�濮� UserCenterResourse.Option.AppCanSignout = false; - //寮哄埗鎸囧畾涓嶅叧闂繘搴︽潯 - ProgressBar.SetCloseBarFlag(true); - //鍙湁鍦ㄤ綇瀹匢D涓嶄竴鏍风殑鏃跺�欐墠鍋氳繖涓搷浣� if (Common.Config.Instance.HomeId != UserCenterResourse.Option.OldHomeStringId || Common.Config.Instance.Account != UserCenterResourse.Option.OldAccountId) { + try + { + //鏂紑杩滅▼Mqtt杩炴帴 + ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); + } + catch { } + + //娑堟伅璁板綍閲嶆柊璇诲彇鍙婃娴� + ControlCommonResourse.ReadMessageAgain = true; //鍔犺浇璐﹀彿閰嶇疆淇℃伅 var optionInfo = UserCenterResourse.Option.Load(); UserCenterResourse.Option = optionInfo; @@ -805,25 +826,24 @@ UserCenterResourse.Option.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory); //鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅 - await InitUserAccoutInfo(); - //鍒濆鍖栫鐞嗗憳鏉冮檺淇℃伅 - await InitAdminConnectMqttInfo(true); + var hadNet = await InitUserAccoutInfo(); + //濡傛灉鏈夌綉缁滅殑璇� + if (hadNet == true) + { + //閲嶆柊鍙戦�佸懡浠ゅ幓缁戝畾鏂綉鎯呭喌涓嬪浠界殑缃戝叧 + HdlGatewayLogic.Current.ResetComandToBindBackupGateway(); + } //鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅 InitLocalMemberListInfo(); - - //閲嶆柊鍙戦�佸懡浠ゅ幓缁戝畾鏂綉鎯呭喌涓嬪浠界殑缃戝叧 - HdlGatewayLogic.Current.ResetComandToBindBackupGateway(); //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� CreatAllUserCenterDirectory(); //鍏抽棴鎵�鏈夋帴鏀� - HdlDeviceAttributeLogic.Current.RemoveAllEvent(); + HdlGatewayReceiveLogic.Current.RemoveAllEvent(); //鍒锋柊瀹夐槻涓婃姤淇℃伅 HdlAlarmsLogic.Current.RefreshAlarmInfo(); - //娣诲姞淇濆瓨瀹夐槻璁惧鎶ヨ鐨勪簨浠�(涓嶉渶瑕佸啀鎵ц浠讳綍鎿嶄綔,骞朵笖姘镐箙瀛樺湪) - HdlAlarmsLogic.Current.AddAlarmInfoEvent(); //淇濆瓨鐢ㄦ埛鐨勭櫥闄嗕俊鎭埌鏈湴 SaveUserInformationToLocation(); @@ -832,15 +852,22 @@ UserCenterResourse.Option.OldAccountId = Common.Config.Instance.Account; //鍚屾鏁版嵁(浜屾璋冪敤娌″叧绯�) - var result = await HdlAutoBackupLogic.SynchronizeDbAutoBackupData(); + int result = -1; + if (hadNet == true) + { + result = await HdlAutoBackupLogic.SynchronizeDbAutoBackupData(); + } //鍒濆鍖栨湰鍦扮殑缃戝叧淇℃伅 HdlGatewayLogic.Current.ReFreshByLocal(); //鍒濆鍖栨湰鍦扮殑璁惧淇℃伅 Common.LocalDevice.Current.ReFreshByLocal(); - //鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� - HdlGatewayLogic.Current.SynchronizeDbGateway(); + if (hadNet == true) + { + //鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� + HdlGatewayLogic.Current.SynchronizeDbGateway(); + } //鍒濆鍖栦綇瀹呭璞� Common.Config.Instance.Home = House.GetHouseByHouseId(Common.Config.Instance.HomeId); @@ -851,19 +878,13 @@ //鍒锋柊APP鍓嶄竴娆¢�夋嫨鐨勭綉鍏矷D(鍙互鍙嶅璋冪敤,闇�瑕佸湪缃戝叧鍒濆鍖栧畬浜嗕箣鍚庢墠鑳借皟鐢�) HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId(); - //娓呯┖寮哄埗鎸囧畾鏂囨湰鐨勯檮鍔犱俊鎭� - ProgressBar.SetAppendText(string.Empty); - //0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝�,杩欎釜鏃跺�欓渶瑕佹彁绀哄浠� - //if (result == 0) - //{ - // //寮�鍚嚜鍔ㄥ浠芥彁绀� - // HdlAutoBackupLogic.ShowAutoBackupPromptedForm(); - //} + if (result == 0) + { + //寮�鍚嚜鍔ㄥ浠芥彁绀� + HdlAutoBackupLogic.ShowAutoBackupPromptedForm(); + } } - - //鎭㈠鍙叧闂繘搴︽潯 - ProgressBar.SetCloseBarFlag(false); //APP缂撳瓨鍔犺浇瀹屾垚 UserCenterResourse.Option.AppCanSignout = true; @@ -943,7 +964,7 @@ newHouse.IsOthreShare = house.IsOthreShare; newHouse.AccountType = house.AccountType; newHouse.MainUserDistributedMark = house.MainUserDistributedMark; - newHouse.Save(); + newHouse.Save(false); } } if (string.IsNullOrEmpty(userInfo.UserName) == true) @@ -1027,9 +1048,9 @@ Config.Instance.AdminRequestBaseUrl = string.Empty; Config.Instance.AdminRequestToken = string.Empty; - if (UserCenterResourse.UserInfo.AuthorityNo != 2) + if (UserCenterResourse.UserInfo.AuthorityNo != 2 && UserCenterResourse.UserInfo.AuthorityNo != 3) { - //鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳鎵嶈兘杩欐牱鎼�, 杩欓噷蹇呴』鏄�2 + //鏃朵唬鍙樹簡,杩欓噷绠$悊鍛樺拰鎴愬憳閮借兘璋冪敤 return true; } var pra = new @@ -1052,44 +1073,6 @@ var info = JsonConvert.DeserializeObject<MemberAdministratorResult>(result); Config.Instance.AdminRequestBaseUrl = info.RequestBaseUrl; Config.Instance.AdminRequestToken = info.RequestToken; - - return true; - } - - /// <summary> - /// 鍒濆鍖栫鐞嗗憳鏉冮檺鐨勮繙绋嬭繛鎺ヤ俊鎭� - /// </summary> - /// <param name="stopRemote">鏄惁涓柇杩滅▼</param> - /// <returns></returns> - public static async Task<bool> InitAdminConnectMqttInfo(bool stopRemote = false) - { - if (UserCenterResourse.UserInfo.AuthorityNo != 2 && UserCenterResourse.UserInfo.AuthorityNo != 3) - { - //鍙湁鎴愬憳鍒嗚韩鎵嶈兘璋冪敤杩欎釜鍑芥暟 - return true; - } - var praMqtt = new - { - CommonPage.RequestVersion, - LoginAccessToken = Config.Instance.Token, - Config.Instance.Home.MainUserDistributedMark, - HomeId = Config.Instance.Home.Id - }; - - var listNotShow = new List<string>() { "NotSetAgain" }; - var result2 = await GetResponseDataByRequestHttps("App/GetConnectMainUserMqttInfo", false, praMqtt, listNotShow); - if (string.IsNullOrEmpty(result2) == true) - { - return false; - } - - //杩滅▼Mqtt - var info2 = JsonConvert.DeserializeObject<MemberAdministratorMqttResult>(result2); - Config.Instance.AdminConnectZigbeeMqttBrokerPwd = info2.ConnectZigbeeMqttBrokerPwd; - Config.Instance.AdminConnectZigbeeMqttClientId = info2.ConnectZigbeeMqttClientId; - Config.Instance.AdminMqttKey = info2.MqttKey; - Config.Instance.AdminZigbeeMqttBrokerLoadSubDomain = info2.ZigbeeMqttBrokerLoadSubDomain; - Config.Instance.AdminConnectZigbeeMqttBrokerName = info2.ConnectZigbeeMqttBrokerName; return true; } -- Gitblit v1.8.0