From 304dca51c28183a9dfc192c6b93ea1c00bdd5d97 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 01 七月 2020 15:00:40 +0800 Subject: [PATCH] 添加了写入功能类型 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 170 +++++++++++++++++++++++++++----------------------------- 1 files changed, 82 insertions(+), 88 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs index 3d10478..3542581 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs @@ -95,6 +95,10 @@ } } var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); + if (revertObj == null) + { + return "Error"; + } return revertObj.StateCode; } @@ -143,7 +147,7 @@ } if (revertObj == null || revertObj.ResponseData == null) { - return string.Empty; + return null; } return revertObj.ResponseData.ToString(); } @@ -368,17 +372,17 @@ public static bool CheckCanAddForm(CommonFormBase form) { //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 - string formName = GetFormName(form); + string formId = GetFormID(form); //浜岄噸杩藉姞涓嶅彲 - if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false) + if (UserCenterResourse.DicActionForm.ContainsKey(formId) == false) { return true; } //鏆傛椂杩欐牱寮勭湅鐪嬶紝濡傛灉閲嶅锛屽垯鍏抽棴鎺夊師鏉ョ殑鐣岄潰 - var formTemp = UserCenterResourse.DicActionForm[formName]; + var formTemp = UserCenterResourse.DicActionForm[formId]; formTemp.CloseForm(); - UserCenterResourse.DicActionForm.Remove(formName); + UserCenterResourse.DicActionForm.Remove(formId); return true; } @@ -390,14 +394,14 @@ public static void AddActionForm(CommonFormBase form) { //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 - string formName = GetFormName(form); + string formId = GetFormID(form); //浜岄噸杩藉姞涓嶅彲 - if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false) + if (UserCenterResourse.DicActionForm.ContainsKey(formId) == false) { - form.FormID = formName; + form.FormID = formId; //鍐呭瓨娣诲姞 - UserCenterResourse.DicActionForm[formName] = form; + UserCenterResourse.DicActionForm[formId] = form; //娣诲姞鐢婚潰鏃讹紝瀹冭嚜韬氨鏄縺娲荤殑鐣岄潰 UserCenterResourse.NowActionFormID = form.FormID; @@ -408,71 +412,43 @@ /// <summary> /// 浠庡垪琛ㄤ腑绉婚櫎鐢婚潰 /// </summary> - /// <param name="form">Form</param> - public static void RemoveActionForm(CommonFormBase form) + /// <param name="i_closeForm">鍏抽棴鐨勭晫闈�</param> + public static void RemoveActionForm(CommonFormBase i_closeForm) { - //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 - string formName = GetFormName(form); + //鑾峰彇鐢婚潰ID + string formId = GetFormID(i_closeForm); - if (UserCenterResourse.DicActionForm.ContainsKey(formName) == true) + if (UserCenterResourse.DicActionForm.ContainsKey(formId) == true) { - //鍒锋柊褰撳墠姝e湪鎿嶄綔鐨勭敾闈D - if (UserCenterResourse.NowActionFormID == UserCenterResourse.DicActionForm[formName].FormID) - { - //鍚戝墠鎺ㄤ竴浣嶅嵆涓轰笅涓�涓縺娲荤殑鐣岄潰 - int index = UserCenterResourse.listActionFormId.IndexOf(UserCenterResourse.NowActionFormID) - 1; - //鍒濆鍊� - UserCenterResourse.NowActionFormID = string.Empty; - if (index >= 0) - { - var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1); - if (actionForm != null && actionForm is CommonFormBase) - { - string formId = ((CommonFormBase)actionForm).FormID; - //瀵瑰簲寰愭缁ф壙浜嗗簳灞傦紝浣嗘槸涓嶅垵濮嬪寲鏁版嵁鐨勯棶棰� - if (UserCenterResourse.listActionFormId.Contains(formId) == true) - { - //璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟 - CallFormActionAgainEvent(form, index); - } - } - else if (actionForm != null && actionForm is UserView.UserPage) - { - //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡 - if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == true//涓汉涓績 - || UserCenterResourse.listActionFormId.Contains("HomeMainPageForm") == true)// - { - //璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟 - CallFormActionAgainEvent(form, index); - } - } - } - } //绉婚櫎ID - UserCenterResourse.listActionFormId.Remove(UserCenterResourse.DicActionForm[formName].FormID); + UserCenterResourse.listActionFormId.Remove(formId); //绉婚櫎鐢婚潰 - UserCenterResourse.DicActionForm.Remove(formName); - } - } + UserCenterResourse.DicActionForm.Remove(formId); + //娓呯┖ + UserCenterResourse.NowActionFormID = string.Empty; - /// <summary> - /// 璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟 - /// </summary> - /// <param name="form">鍏抽棴鐨勭晫闈㈠璞�</param> - /// <param name="index">褰撳墠闇�瑕侀噸鏂版縺娲荤晫闈㈢殑绱㈠紩</param> - private static void CallFormActionAgainEvent(CommonFormBase form, int index) - { - //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID - UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; - //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊 - if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) - { - try + var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1); + if (actionForm == null) { - var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm; - //鐐瑰嚮寰堝揩鏃�,杩欎釜涓滆タ浼氭槸null,浣嗘槸DicActionForm閲岄潰涓嶆槸null,涓嶇煡閬撲负浠�涔� - if (Myform != null) + return; + } + //濡傛灉鍏抽棴鐨勭晫闈㈡槸DialogCommonForm绫诲瀷,鍒欎笉闇�瑕佽Е鍙戞縺娲诲嚱鏁� + if (i_closeForm is DialogCommonForm) + { + if (actionForm is EditorCommonForm) { + UserCenterResourse.NowActionFormID = GetFormID((EditorCommonForm)actionForm); + } + return; + } + //鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊� + else if ((i_closeForm is EditorCommonForm) && (actionForm is EditorCommonForm)) + { + //鎺ヤ笅鏉ユ縺娲荤殑鐣岄潰id + UserCenterResourse.NowActionFormID = GetFormID((CommonFormBase)actionForm); + try + { + var Myform = actionForm as EditorCommonForm; //閲嶇疆宸︽粦浣胯兘 Myform.ScrollEnabled = Myform.ScrollEnabled; //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 @@ -483,25 +459,34 @@ HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); } } + catch (Exception ex) + { + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(ex, "鐣岄潰閲嶆柊婵�娲诲紓甯� " + UserCenterResourse.NowActionFormID); + } } - catch (Exception ex) + else if (actionForm is UserView.UserPage) { - //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け - //var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError)); - //alert.Show(); - - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(ex, "鐣岄潰閲嶆柊婵�娲诲紓甯� " + UserCenterResourse.NowActionFormID); + //娓呯┖ + UserCenterResourse.NowActionFormID = string.Empty; + //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡 + var nowForm = UserView.UserPage.Instance.GetNowActionForm(); + nowForm?.FormActionAgainEvent(); + } + else + { + //娓呯┖ + UserCenterResourse.NowActionFormID = string.Empty; } } } /// <summary> - /// 鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 + /// 鑾峰彇鐢婚潰ID /// </summary> /// <returns>The form name.</returns> /// <param name="form">Form.</param> - public static string GetFormName(CommonFormBase form) + private static string GetFormID(CommonFormBase form) { if (form.FormID != string.Empty) { @@ -559,7 +544,7 @@ double Longitude = Config.Instance.Home.Longitude; double Latitude = Config.Instance.Home.Latitude; //杩樺師浣忓畢瀵硅薄 - Config.Instance.Home = House.GetHouseByHouseId(Config.Instance.Home.Id); + Config.Instance.Home = HdlResidenceLogic.Current.GetHouseByHouseId(Config.Instance.Home.Id); Config.Instance.Home.IsOthreShare = isOthreShare; Config.Instance.Home.AccountType = accountType; Config.Instance.Home.MainUserDistributedMark = mainMark; @@ -677,12 +662,12 @@ //娓呯┖褰撳墠浣忓畢id Config.Instance.HomeId = string.Empty; HdlGatewayLogic.Current.ClearAllRealGateway(); - try + + //鏂紑杩滅▼Mqtt杩炴帴 + HdlThreadLogic.Current.RunThread(async () => { - //鏂紑杩滅▼Mqtt杩炴帴 - ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); - } - catch { } + await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); + }, ShowErrorMode.NO); HdlThreadLogic.Current.RunMain(() => { @@ -872,12 +857,11 @@ if (Common.Config.Instance.HomeId != UserCenterResourse.AccountOption.OldHomeStringId || Common.Config.Instance.Account != UserCenterResourse.AccountOption.OldAccountId) { - try + //鏂紑杩滅▼Mqtt杩炴帴 + HdlThreadLogic.Current.RunThread(async () => { - //鏂紑杩滅▼Mqtt杩炴帴 await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); - } - catch { } + }, ShowErrorMode.NO); //娓呯┖鎵�鏈夋垚鍛樼紦瀛� ClearAllMemberMemory(); @@ -929,7 +913,7 @@ //鍒濆鍖栨湰鍦扮殑缃戝叧淇℃伅 HdlGatewayLogic.Current.ReFreshByLocal(); //鍒濆鍖栨湰鍦扮殑璁惧淇℃伅 - Common.LocalDevice.Current.ReFreshByLocal(); + LocalDevice.Current.ReFreshByLocal(); //鍒濆鍖栨埧闂�(閮洩鍩庨偅杈逛笉鍋氬鐞�,闇�瑕佽繖閲岀壒娈婃墽琛屼竴姝�) HdlRoomLogic.Current.RefreshAllRoomByLocation(); @@ -1501,14 +1485,24 @@ #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________ /// <summary> - /// 鏂囦欢淇濆瓨,浠呴檺褰撳墠浣忓畢(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) + /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) /// </summary> /// <param name="fullName">鍏ㄨ矾寰�</param> /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> public static void SaveFileContent(string fullName, object obj) { var data = JsonConvert.SerializeObject(obj); - var byteData = Encoding.UTF8.GetBytes(data); + SaveTexToFile(fullName, data); + } + + /// <summary> + /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) + /// </summary> + /// <param name="fullName">鍏ㄨ矾寰�</param> + /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> + public static void SaveTexToFile(string fullName, string textValue) + { + var byteData = Encoding.UTF8.GetBytes(textValue); //鍐欏叆鍐呭 System.IO.FileStream fileStream = null; try -- Gitblit v1.8.0