From 97e259d966cb5cb5d73c105d5dbaadcc1f920614 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 18 十月 2019 13:48:43 +0800 Subject: [PATCH] 合并了全部的代码 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 170 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 120 insertions(+), 50 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs index 3c92302..7d859aa 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs @@ -47,7 +47,7 @@ } var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); //妫�娴嬫槸鍚﹀瓨鍦ㄩ敊璇俊鎭� - return CheckNotEorrorMsg(revertObj, RequestName, listNotShowError); + return CheckNotEorrorMsg(revertObj, RequestName, listNotShowError, obj); } /// <summary> @@ -114,7 +114,7 @@ } var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); //妫�娴嬮敊璇� - bool notError = CheckNotEorrorMsg(revertObj, RequestName, listNotShowError); + bool notError = CheckNotEorrorMsg(revertObj, RequestName, listNotShowError, obj); if (notError == false) { return null; @@ -165,7 +165,7 @@ var data = JsonConvert.DeserializeObject<ResponsePack>(data2); if (data != null && string.IsNullOrEmpty(data.StateCode) == false) { - bool notError = CheckNotEorrorMsg(data, RequestName, listNotShowError); + bool notError = CheckNotEorrorMsg(data, RequestName, listNotShowError, obj); if (notError == false) { return null; @@ -256,7 +256,8 @@ /// <param name="revertObj">浠庢帴鍙f帴鏀跺埌鐨勬暟鎹�</param> /// <param name="RequestName">璇锋眰鎺ュ彛</param> /// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�)</param> - public static bool CheckNotEorrorMsg(ResponsePack revertObj, string RequestName, List<string> listNotShowError = null) + /// <param name="pra">璇锋眰鐨勫弬鏁�</param> + public static bool CheckNotEorrorMsg(ResponsePack revertObj, string RequestName, List<string> listNotShowError = null, object pra = null) { if (revertObj == null) { @@ -284,14 +285,17 @@ //濡傛灉鐢ㄦ埛宸茬粡閫�鍑轰簡鐧婚檰,鍒欎笉澶勭悊 return; } - string msg = IMessageCommon.Current.GetMsgByRequestName(RequestName, revertObj.StateCode); - var control = new ShowMsgControl(ShowMsgType.Tip, msg); - control.Show(); - - //鏃犳晥鐧诲綍Token - if (revertObj.StateCode == "NoLogin") + string msg = IMessageCommon.Current.GetMsgByRequestName(RequestName, revertObj.StateCode, pra); + if (msg != null) { - UserCenterLogic.ReLoginAgain(Config.Instance.Account, false); + var control = new ShowMsgControl(ShowMsgType.Tip, msg); + control.Show(); + + //鏃犳晥鐧诲綍Token + if (revertObj.StateCode == "NoLogin") + { + UserCenterLogic.ReLoginAgain(Config.Instance.Account, false); + } } }); @@ -395,8 +399,26 @@ UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; if (UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) { - //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 - UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]?.FormActionAgainEvent(); + try + { + var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; + //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 + int value = Myform.FormActionAgainEvent(); + if (value == 1) + { + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + } + } + catch (Exception ex) + { + //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け + var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost)); + alert.Show(); + + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(ex); + } } } else if (actionForm != null && actionForm is UserView.UserPage) @@ -408,8 +430,26 @@ UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; if (UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) { - //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 - UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]?.FormActionAgainEvent(); + try + { + var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; + //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 + int value = Myform.FormActionAgainEvent(); + if (value == 1) + { + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + } + } + catch (Exception ex) + { + //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け + var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost)); + alert.Show(); + + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(ex); + } } } } @@ -494,7 +534,7 @@ /// <param name="all">true:鍏ㄩ儴鍒犻櫎(鐢ㄤ簬浣忓畢鍒犻櫎) false:閲嶈鐨勬枃浠朵笉鍒犻櫎</param> public static void DeleteAllLocationFile(bool all = true) { - string dPath = UserCenterResourse.LocalRootPath; + string dPath = Config.Instance.FullPath; if (System.IO.Directory.Exists(dPath) == false) { return; @@ -556,17 +596,17 @@ /// <param name="noticeDb">鏄惁閫氱煡浜戠</param> public static void ReLoginAgain(string account = "", bool noticeDb = true) { - UserCenterResourse.oldAccountId = string.Empty; + UserCenterResourse.Option.OldAccountId = string.Empty; //鍏抽棴鎵�鏈夋帴鏀� HdlDeviceAttributeLogic.Current.RemoveAllEvent(); //娓呴櫎鍗囩骇鍒楄〃 FirmwareUpdateResourse.dicDeviceUpdateList.Clear(); FirmwareUpdateResourse.dicGatewayUpdateList.Clear(); - new System.Threading.Thread(async () => + HdlThreadLogic.Current.RunThread(async () => { //妫�娴婣PP鏄惁鑳藉閫�鍑� - while (UserCenterResourse.AppCanSignout == false) + while (UserCenterResourse.Option.AppCanSignout == false) { await Task.Delay(500); } @@ -589,7 +629,7 @@ //閫氱煡浜戠锛屽凡缁忛��鍑虹櫥闄� var result = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/SignOut", null, "GET"); } - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { //鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 CloseAllOpenForm(); @@ -599,8 +639,7 @@ Shared.Common.CommonPage.Instance.AddChidren(formLogin); formLogin.Show(account); }); - }) - { IsBackground = true }.Start(); + }); } /// <summary> @@ -677,7 +716,7 @@ /// <returns></returns> public static string CombinePath(params object[] listNames) { - string rootPath = UserCenterResourse.LocalRootPath; + string rootPath = Config.Instance.FullPath; if (listNames == null || listNames.Length == 0) { return rootPath; @@ -748,22 +787,20 @@ public async static Task<bool> InitUserCenterMenmoryAndThread() { //APP缂撳瓨鍔犺浇寮�濮� - UserCenterResourse.AppCanSignout = false; + UserCenterResourse.Option.AppCanSignout = false; //寮哄埗鎸囧畾涓嶅叧闂繘搴︽潯 ProgressBar.SetCloseBarFlag(true); //鍙湁鍦ㄤ綇瀹匢D涓嶄竴鏍风殑鏃跺�欐墠鍋氳繖涓搷浣� - if (Common.Config.Instance.HomeId != UserCenterResourse.oldHomeStringId - || Common.Config.Instance.Account != UserCenterResourse.oldAccountId) + if (Common.Config.Instance.HomeId != UserCenterResourse.Option.OldHomeStringId + || Common.Config.Instance.Account != UserCenterResourse.Option.OldAccountId) { - //鍙樻洿鏍圭洰褰曡矾寰� - UserCenterResourse.LocalRootPath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, Config.Instance.Home.Id); - UserCenterResourse.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory); - //鍔犺浇璐﹀彿閰嶇疆淇℃伅 var optionInfo = UserCenterResourse.Option.Load(); UserCenterResourse.Option = optionInfo; + //鍙樻洿鏍圭敤鎴峰浘鐗囩洰褰曡矾寰� + UserCenterResourse.Option.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory); //鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅 await InitUserAccoutInfo(); @@ -789,8 +826,8 @@ //淇濆瓨鐢ㄦ埛鐨勭櫥闄嗕俊鎭埌鏈湴 SaveUserInformationToLocation(); - UserCenterResourse.oldHomeStringId = Common.Config.Instance.HomeId; - UserCenterResourse.oldAccountId = Common.Config.Instance.Account; + UserCenterResourse.Option.OldHomeStringId = Common.Config.Instance.HomeId; + UserCenterResourse.Option.OldAccountId = Common.Config.Instance.Account; //鍚屾鏁版嵁(浜屾璋冪敤娌″叧绯�) var result = await HdlAutoBackupLogic.SynchronizeDbAutoBackupData(); @@ -813,17 +850,17 @@ ProgressBar.SetAppendText(string.Empty); //0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝�,杩欎釜鏃跺�欓渶瑕佹彁绀哄浠� - if (result == 0) - { - //寮�鍚嚜鍔ㄥ浠芥彁绀� - //HdlAutoBackupLogic.ShowAutoBackupPromptedForm(); - } + //if (result == 0) + //{ + // //寮�鍚嚜鍔ㄥ浠芥彁绀� + // HdlAutoBackupLogic.ShowAutoBackupPromptedForm(); + //} } //鎭㈠鍙叧闂繘搴︽潯 ProgressBar.SetCloseBarFlag(false); //APP缂撳瓨鍔犺浇瀹屾垚 - UserCenterResourse.AppCanSignout = true; + UserCenterResourse.Option.AppCanSignout = true; return true; } @@ -840,7 +877,7 @@ { //鑾峰彇鏈湴璁板綍鐨勭敤鎴蜂俊鎭� UserCenterResourse.UserInfo = GetUserInformationFromLocation(); - UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.UserPictruePath, "Admin.png"); + UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); //鑾峰彇鐧诲綍璐﹀彿鐨勪俊鎭� var pra = new AccountInfoPra(); @@ -911,7 +948,7 @@ } UserCenterResourse.UserInfo = userInfo; - UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.UserPictruePath, "Admin.png"); + UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); //鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�) await InitAdminConnectMainInfo(); @@ -926,12 +963,12 @@ private static UserInformation GetUserInformationFromLocation() { string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); - if (System.IO.File.Exists(fileName) == false) + var value = LoadFileContent(fileName); + if (value == null) { return new UserInformation(); } - var varByte = Shared.IO.FileUtils.ReadFile(fileName); - var info = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInformation>(System.Text.Encoding.UTF8.GetString(varByte)); + var info = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInformation>(value); return info; } @@ -940,12 +977,9 @@ /// </summary> private static void SaveUserInformationToLocation() { - var data = Newtonsoft.Json.JsonConvert.SerializeObject(UserCenterResourse.UserInfo); - var byteData = System.Text.Encoding.UTF8.GetBytes(data); - string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); //鍐欏叆鍐呭 - Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData); + SaveFileContent(fullName, UserCenterResourse.UserInfo); //鎼炰竴涓嬩富浜虹殑榛樿澶村儚 string defultFile = IO.FileUtils.GetImageFilePath("Center/Admin.png"); @@ -953,7 +987,7 @@ { return; } - string nowFile = System.IO.Path.Combine(UserCenterResourse.UserPictruePath, "Admin.png"); + string nowFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); if (System.IO.File.Exists(nowFile) == true) { return; @@ -1114,10 +1148,14 @@ directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadShardDirectory); Global.CreateEmptyDirectory(directory); + //LOG鍑哄姏銆愭枃浠跺す銆� + directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.LogDirectory); + Global.CreateEmptyDirectory(directory); + //鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆� - if (!System.IO.Directory.Exists(UserCenterResourse.UserPictruePath)) + if (UserCenterResourse.Option.UserPictruePath != string.Empty && !System.IO.Directory.Exists(UserCenterResourse.Option.UserPictruePath)) { - System.IO.Directory.CreateDirectory(UserCenterResourse.UserPictruePath); + System.IO.Directory.CreateDirectory(UserCenterResourse.Option.UserPictruePath); } } @@ -1242,5 +1280,37 @@ return System.Text.Encoding.Default.GetString(ms.ToArray()); } #endregion + + #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________ + + /// <summary> + /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) + /// </summary> + /// <param name="fullName">鍏ㄨ矾寰�</param> + /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> + public static void SaveFileContent(string fullName, object obj) + { + var data = Newtonsoft.Json.JsonConvert.SerializeObject(obj); + var byteData = System.Text.Encoding.UTF8.GetBytes(data); + //鍐欏叆鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData); + } + + /// <summary> + /// 璇诲彇鏂囦欢(鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull,鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) + /// </summary> + /// <param name="fullName">鍏ㄨ矾寰�</param> + /// <returns></returns> + public static string LoadFileContent(string fullName) + { + if (System.IO.File.Exists(fullName) == false) + { + return null; + } + var varByte = Shared.IO.FileUtils.ReadFile(fullName); + return System.Text.Encoding.UTF8.GetString(varByte); + } + + #endregion } } -- Gitblit v1.8.0