From ff3cfcf62632bf43e51a6b6098c203bf0f5cddbc Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期二, 24 十二月 2019 19:53:29 +0800 Subject: [PATCH] 2019.12.24 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 234 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 118 insertions(+), 116 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 6ac2ad1..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); @@ -309,7 +309,7 @@ /// </summary> /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄�</param> /// <returns></returns> - private static HttpConnectMode GetHttpConnectMode(bool checkAuthority) + public static HttpConnectMode GetHttpConnectMode(bool checkAuthority) { if (checkAuthority == false) { @@ -397,17 +397,21 @@ { //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; - if (UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) + //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊 + if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) { try { var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; - //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 - int value = Myform.FormActionAgainEvent(); - if (value == 1) + if (Myform is EditorCommonForm) { - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 + int value = ((EditorCommonForm)Myform).FormActionAgainEvent(); + if (value == 1) + { + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + } } } catch (Exception ex) @@ -428,17 +432,21 @@ { //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; - if (UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) + //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊 + if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) { try { var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; - //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 - int value = Myform.FormActionAgainEvent(); - if (value == 1) + if (Myform is EditorCommonForm) { - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 + int value = ((EditorCommonForm)Myform).FormActionAgainEvent(); + if (value == 1) + { + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + } } } catch (Exception ex) @@ -502,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(); //鍒锋柊鏈湴璁惧 @@ -522,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 @@ -593,7 +614,7 @@ { UserCenterResourse.Option.OldAccountId = string.Empty; //鍏抽棴鎵�鏈夋帴鏀� - HdlDeviceAttributeLogic.Current.RemoveAllEvent(); + HdlGatewayReceiveLogic.Current.RemoveAllEvent(); //娓呴櫎鍗囩骇鍒楄〃 FirmwareUpdateResourse.dicDeviceUpdateList.Clear(); FirmwareUpdateResourse.dicGatewayUpdateList.Clear(); @@ -614,7 +635,8 @@ HdlGatewayLogic.Current.ClearAllRealGateway(); try { - ZigBee.Device.ZbGateway.RemoteMqttClient?.DisconnectAsync(); + //鏂紑杩滅▼Mqtt杩炴帴 + ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); } catch { } @@ -639,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 @@ -783,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; @@ -797,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(); @@ -824,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); @@ -843,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; @@ -935,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) @@ -946,6 +975,18 @@ UserCenterResourse.UserInfo = userInfo; UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); + if (UserCenterResourse.UserInfo.HeadImage != null) + { + //鍐欏叆澶村儚鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(UserCenterResourse.UserInfo.UserIconFile, UserCenterResourse.UserInfo.HeadImage); + } + UserCenterResourse.UserInfo.HeadImage = null; + //鎵嬪娍瀵嗙爜 + UserCenterResourse.Option.GestureAuthentication = UserCenterResourse.UserInfo.GesturePwd == null ? string.Empty : UserCenterResourse.UserInfo.GesturePwd; + UserCenterResourse.UserInfo.GesturePwd = null; + //瀵嗙爜楠岃瘉 + UserCenterResourse.Option.PswAuthentication = UserCenterResourse.UserInfo.StringPwd == null ? string.Empty : UserCenterResourse.UserInfo.StringPwd; + UserCenterResourse.UserInfo.StringPwd = null; //鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�) await InitAdminConnectMainInfo(); @@ -984,13 +1025,12 @@ { return; } - string nowFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); - if (System.IO.File.Exists(nowFile) == true) + if (System.IO.File.Exists(UserCenterResourse.UserInfo.UserIconFile) == true) { return; } //澶嶅埗杩囧幓 - System.IO.File.Copy(defultFile, nowFile); + System.IO.File.Copy(defultFile, UserCenterResourse.UserInfo.UserIconFile); } #endregion @@ -1008,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 @@ -1033,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