From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 18 九月 2020 13:58:19 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 753 +++++++++++++++++++++------------------------------------ 1 files changed, 275 insertions(+), 478 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs index a5f4373..d8943b3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs @@ -2,8 +2,6 @@ using Shared.Common; using Newtonsoft.Json; using Shared.Common.ResponseEntity; -using System.Threading.Tasks; -using System.Text.RegularExpressions; using System.Collections.Generic; using System.Text; @@ -23,30 +21,23 @@ /// <param name="RequestName">璁块棶鍦板潃</param> /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖銆恌alse銆�</pra> - /// </param> - public static async Task<bool> GetResultStatuByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + /// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param> + /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param> + public static bool GetResultStatuByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true) { - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - await ReInitUserAccoutInfo(listNotShowError); - return false; - } //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� var connectMode = GetHttpConnectMode(checkAuthority); //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var byteData = await GettByteResponsePack(RequestName, connectMode, obj); + var byteData = GettByteResponsePack(RequestName, connectMode, obj); if (byteData == null) { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + if (setAgain == false) { + //褰撳墠鏃犳硶璁块棶缃戠粶 + ShowNotNetMsg(RequestName, listNotShowError); return false; } - byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + byteData = ResetByteRequestHttps(RequestName, checkAuthority, obj); if (byteData == null) { return false; @@ -64,31 +55,24 @@ /// <param name="RequestName">璁块棶鍦板潃</param> /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�怱uccess銆�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖銆怑rrorEx銆�</pra> + /// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param> + /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param> /// </param> - public static async Task<string> GetResultCodeByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + public static string GetResultCodeByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true) { - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - await ReInitUserAccoutInfo(listNotShowError); - return "Error"; - } - //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� var connectMode = GetHttpConnectMode(checkAuthority); //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var byteData = await GettByteResponsePack(RequestName, connectMode, obj); + var byteData = GettByteResponsePack(RequestName, connectMode, obj); if (byteData == null) { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + if (setAgain == false) { - return "ErrorEx"; + //褰撳墠鏃犳硶璁块棶缃戠粶 + ShowNotNetMsg(RequestName, listNotShowError); + return "Error"; } - byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + byteData = ResetByteRequestHttps(RequestName, checkAuthority, obj); if (byteData == null) { return "Error"; @@ -109,30 +93,24 @@ /// <param name="RequestName">璁块棶鍦板潃</param> /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炵┖瀛楃涓�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖绌哄瓧绗︿覆</pra> + /// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param> + /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param> /// </param> - public static async Task<string> GetResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + public static string GetResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true) { - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - await ReInitUserAccoutInfo(listNotShowError); - return null; - } //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� var connectMode = GetHttpConnectMode(checkAuthority); //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var byteData = await GettByteResponsePack(RequestName, connectMode, obj); + var byteData = GettByteResponsePack(RequestName, connectMode, obj); if (byteData == null) { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + if (setAgain == false) { - return string.Empty; + //褰撳墠鏃犳硶璁块棶缃戠粶 + ShowNotNetMsg(RequestName, listNotShowError); + return null; } - byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + byteData = ResetByteRequestHttps(RequestName, checkAuthority, obj); if (byteData == null) { return null; @@ -159,32 +137,24 @@ /// <param name="RequestName">璁块棶鍦板潃</param> /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炵┖瀛楃涓�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖null</pra> - /// </param> - public static async Task<byte[]> GetByteResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + /// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param> + /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param> + public static byte[] GetByteResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true) { - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - await ReInitUserAccoutInfo(listNotShowError); - return null; - } //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� var connectMode = GetHttpConnectMode(checkAuthority); //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var revertObj = await GettByteResponsePack(RequestName, connectMode, obj); + var revertObj = GettByteResponsePack(RequestName, connectMode, obj); if (revertObj == null) { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + if (setAgain == false) { + //褰撳墠鏃犳硶璁块棶缃戠粶 + ShowNotNetMsg(RequestName, listNotShowError); return null; } - //閲嶆柊鍙戦�� - revertObj = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + revertObj = ResetByteRequestHttps(RequestName, checkAuthority, obj); if (revertObj == null) { return null; @@ -216,7 +186,7 @@ /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> /// <param name="obj">涓�涓被</param> /// <returns></returns> - private static async Task<byte[]> ResetByteRequestHttps(string RequestName, bool checkAuthority, object obj) + private static byte[] ResetByteRequestHttps(string RequestName, bool checkAuthority, object obj) { //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� var connectMode = GetHttpConnectMode(checkAuthority); @@ -225,9 +195,9 @@ int count = 0; while (true) { - await Task.Delay(1000); + System.Threading.Thread.Sleep(1000); //璋冪敤鎺ュ彛 - responsePack = await GettByteResponsePack(RequestName, connectMode, obj); + responsePack = GettByteResponsePack(RequestName, connectMode, obj); if (responsePack != null) { break; @@ -235,13 +205,8 @@ count++; if (count == 3) { - Application.RunOnMainThread(() => - { - //缃戠粶涓嶇ǔ瀹�,璇风◢鍚庡啀璇� - string msg = Language.StringByID(R.MyInternationalizationString.uNetIsUnStabilityAndDoAgain); - var control = new ShowMsgControl(ShowMsgType.Tip, msg); - control.Show(); - }); + //鏄剧ず娌℃湁缃戠粶鐨凪sg + ShowNotNetMsg(RequestName, null); break; } } @@ -255,7 +220,7 @@ /// <param name="RequestName">璁块棶鍦板潃</param> /// <param name="connectMode">鎺ュ彛鐨勮繛鎺ユā寮�</param> /// <param name="obj">涓�涓被</param> - private static async Task<byte[]> GettByteResponsePack(string RequestName, HttpConnectMode connectMode, object obj) + private static byte[] GettByteResponsePack(string RequestName, HttpConnectMode connectMode, object obj) { try { @@ -266,12 +231,12 @@ if (connectMode == HttpConnectMode.Normal) { //鏅�氳闂� - result = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, Encoding.UTF8.GetBytes(requestJson)); + result = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, Encoding.UTF8.GetBytes(requestJson)); } else if (connectMode == HttpConnectMode.Admin) { //浠ョ鐞嗗憳鐨勮韩浠借闂紝鑷韩鏄垚鍛� - result = await CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, Encoding.UTF8.GetBytes(requestJson)); + result = CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, Encoding.UTF8.GetBytes(requestJson)); } return result; } @@ -299,13 +264,13 @@ } if (revertObj == null) { - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { //缃戠粶涓嶇ǔ瀹�,璇风◢鍚庡啀璇� string msg = Language.StringByID(R.MyInternationalizationString.uNetIsUnStabilityAndDoAgain); var control = new ShowMsgControl(ShowMsgType.Tip, msg); control.Show(); - }); + }, ShowErrorMode.NO); return false; } @@ -316,7 +281,7 @@ //涓嶆樉绀洪敊璇�,鐒跺悗杩斿洖true return true; } - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { if (HdlCheckLogic.Current.IsAccountLoginOut() == true) { @@ -332,10 +297,10 @@ //鏃犳晥鐧诲綍Token if (revertObj.StateCode == "NoLogin") { - UserCenterLogic.ReLoginAgain(Config.Instance.Account, false); + ReLoginAgain(Config.Instance.Account, false); } } - }); + }, ShowErrorMode.NO); return false; } @@ -360,6 +325,27 @@ return HttpConnectMode.Normal; } + /// <summary> + /// 鏄剧ず娌℃湁缃戠粶鐨凪sg + /// </summary> + private static void ShowNotNetMsg(string RequestName, List<string> listNotShowError) + { + if (listNotShowError != null && listNotShowError.Contains("NotCheck") == true) + { + //涓嶆娴� + return; + } + //HdlLogLogic.Current.WriteLog(-1, "褰撳墠鏃犵綉缁滆繛鎺�:" + RequestName); + + HdlThreadLogic.Current.RunMain(() => + { + // 褰撳墠鏃犵綉缁滆繛鎺�,璇风‘璁ょ綉缁� + string msg = Language.StringByID(R.MyInternationalizationString.uNowIsDonotNetworkAndCheckNetwork); + var control = new ShowMsgControl(ShowMsgType.Tip, msg); + control.Show(); + }, ShowErrorMode.NO); + } + #endregion #region 鈻� 娣诲姞鐣岄潰鐩稿叧_______________________ @@ -372,17 +358,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; } @@ -394,14 +380,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; @@ -412,74 +398,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; - var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1); - - if (index >= 0) - { - 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) - { - //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡 - var nowForm = UserView.UserPage.Instance.GetNowActionForm(); - nowForm?.FormActionAgainEvent(); - } - } - else if (actionForm != null && actionForm is UserView.UserPage) - { - //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡 - var nowForm = UserView.UserPage.Instance.GetNowActionForm(); - nowForm?.FormActionAgainEvent(); - } - } //绉婚櫎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; //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 @@ -490,25 +445,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) { @@ -536,13 +500,18 @@ #endregion #region 鈻� 鍒锋柊鏈湴缂撳瓨_______________________ + /// <summary> - /// 鍒锋柊鏈湴鎵�鏈夌紦瀛� + /// 鍒锋柊鏈湴鎵�鏈夌紦瀛�(鐩墠姝ゆ柟娉曞彧鎻愪緵缁欐仮澶嶅浠芥暟鎹娇鐢�) /// </summary> public static void RefreshAllMemory() { //鍒锋柊浣忓畢瀵硅薄 RefreshHomeObject(); + //鏍规嵁妯℃澘鏂囦欢,鎭㈠鏁版嵁 + TemplateData.TemplateCommonLogic.Current.RecoverDataByTemplateBinFile(); + //寮哄埗鐢熸垚璁惧鍜岀綉鍏虫枃浠� + TemplateData.TemplateCommonLogic.Current.CreatDeviceAndGatewayFileFromMemoryByForce(); //鍒锋柊鏈湴缃戝叧鏂囦欢 HdlGatewayLogic.Current.ReFreshByLocal(); //鍒锋柊鏈湴璁惧 @@ -551,6 +520,12 @@ HdlGatewayLogic.Current.SynchronizeDbGateway(); //浠庢湰鍦伴噸鏂板姞杞藉叏閮ㄧ殑鎴块棿 HdlRoomLogic.Current.RefreshAllRoomByLocation(); + //鏂紑杩滅▼Mqtt杩炴帴,閲嶆柊杩炴帴 + HdlThreadLogic.Current.RunThread(async () => + { + HdlGatewayLogic.Current.ClearAllRealGatewayConection(true); + await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); + }, ShowErrorMode.NO); } /// <summary> @@ -558,77 +533,25 @@ /// </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 = HdlResidenceLogic.Current.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); - } + var home = HdlResidenceLogic.Current.GetHouseByHouseId(Config.Instance.Home.Id); - #endregion - - #region 鈻� 鍒犻櫎鏈湴鏂囦欢_______________________ - - /// <summary> - /// 鍒犻櫎鏈湴鎵�鏈夋枃浠� - /// </summary> - /// <param name="all">true:鍏ㄩ儴鍒犻櫎(鐢ㄤ簬浣忓畢鍒犻櫎) false:閲嶈鐨勬枃浠朵笉鍒犻櫎</param> - public static void DeleteAllLocationFile(bool all = true) - { - string dPath = Config.Instance.FullPath; - if (System.IO.Directory.Exists(dPath) == false) + //鍒锋柊妤煎眰 + Config.Instance.Home.FloorDics = home.FloorDics; + Config.Instance.Home.CurrentFloorId = string.Empty; + if (Config.Instance.Home.TemplateMode == -1) { - return; - } - - //鐒跺悗鑾峰彇鍏ㄩ儴鐨勬枃浠� - List<string> listFile = Global.FileListByHomeId(); - foreach (string file in listFile) - { - if (all == false && IsNotDeleteFile(file) == true) + Config.Instance.Home.TemplateMode = home.TemplateMode; + if (Config.Instance.Home.TemplateMode == -1) { - //杩欐槸涓嶈兘鍒犻櫎鐨勬枃浠� - continue; + //榛樿鍒濆鍊� + Config.Instance.Home.TemplateMode = 1; } - //鍒犻櫎鏂囦欢 - Global.DeleteFilebyHomeId(file); } - //濡傛灉鏄妸鏂囦欢鍏ㄩ儴鍒犻櫎鐨勮瘽锛岄偅涔堟枃浠跺す涔熶竴璧峰垹闄ゆ帀 - if (all == true) - { - //鍒犻櫎鏂囦欢澶� - System.IO.Directory.Delete(dPath, true); - } - } - /// <summary> - /// 鍒ゆ柇鏄笉鏄笉搴旇鍒犻櫎鐨勬枃浠� - /// </summary> - /// <param name="fileName"></param> - /// <returns></returns> - public static bool IsNotDeleteFile(string fileName) - { - if (fileName == "Config.json") - { - //涓嶈兘鍒犻櫎Config鏂囦欢 - return true; - } - else if (fileName.StartsWith("House_") == true) - { - //涓嶈兘鍒犻櫎浣忓畢鏂囦欢 - return true; - } - return false; + Config.Instance.Home.Save(false); + + //涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; } #endregion @@ -649,13 +572,15 @@ { //璁惧畾涓�涓椂闂� Config.Instance.LoginDateTime = new DateTime(1970, 1, 1); + Config.Instance.Save(); //娓呯┖褰撳墠浣忓畢id Config.Instance.HomeId = string.Empty; - Config.Instance.Save(); //鏀惰捣宸﹁彍鍗� CommonPage.Instance.CloseLeftMenu(); + //鍏抽棴鍏ㄩ儴寮圭獥 + ShowMsgControl.CloseAllMsgDialog(); //鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 - CloseAllOpenForm(); + CloseAllOpenForm(null, false); //鏄剧ず鐧婚檰鐢婚潰 var formLogin = new Login.AccountLoginForm(); @@ -670,12 +595,12 @@ //娓呴櫎鍗囩骇鍒楄〃 FirmwareUpdateResourse.dicUpdateList.Clear(); - HdlThreadLogic.Current.RunThread(async () => + HdlThreadLogic.Current.RunThread(() => { //妫�娴婣PP鏄惁鑳藉閫�鍑� while (UserCenterResourse.AccountOption.AppCanSignout == false) { - await Task.Delay(500); + System.Threading.Thread.Sleep(500); } //璁惧畾涓�涓椂闂� Config.Instance.LoginDateTime = new DateTime(1970, 1, 1); @@ -683,7 +608,7 @@ //娓呯┖褰撳墠浣忓畢id Config.Instance.HomeId = string.Empty; - HdlGatewayLogic.Current.ClearAllRealGateway(); + HdlGatewayLogic.Current.ClearAllRealGatewayConection(false); //鏂紑杩滅▼Mqtt杩炴帴 HdlThreadLogic.Current.RunThread(async () => @@ -696,7 +621,7 @@ //鏀惰捣宸﹁彍鍗� CommonPage.Instance.CloseLeftMenu(); //鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 - CloseAllOpenForm(); + CloseAllOpenForm(null, false); //鏄剧ず鐧婚檰鐢婚潰 var formLogin = new Login.AccountLoginForm(); @@ -707,7 +632,7 @@ if (noticeDb == true) { //閫氱煡浜戠锛屽凡缁忛��鍑虹櫥闄� - var result = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/SignOut", null, "GET"); + var result = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/SignOut", null, "GET"); } }); } @@ -716,7 +641,8 @@ /// 鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 /// </summary> /// <param name="tagetFrom">鐩爣鐣岄潰,濡傛灉鎸囧畾浜嗙殑璇�,鍒欏叧闂洰鏍囩晫闈笂灞傜殑鍏ㄩ儴鐣岄潰(瀹冭嚜韬笉鍏抽棴)</param> - public static void CloseAllOpenForm(string tagetFrom = null) + /// <param name="refreshMainPage">褰撳叧闂殑鐣岄潰杈惧埌涓婚〉鏃�,鏄惁鍒锋柊涓婚〉</param> + public static void CloseAllOpenForm(string tagetFrom = null, bool refreshMainPage = true) { while (UserView.HomePage.Instance.ChildrenCount > 0) { @@ -739,6 +665,11 @@ } else if (view is UserView.UserPage) { + //鍒锋柊涓婚〉 + if (refreshMainPage == true) + { + UserView.UserPage.Instance.ReFreshControl(); + } return; } else @@ -768,29 +699,6 @@ #endregion #region 鈻� 鎷兼帴淇℃伅___________________________ - - /// <summary> - /// 鎷兼帴璺緞(鍏ㄨ矾寰�)锛屼互浣忓畢ID鐨勬枃浠跺す涓鸿捣鐐癸紝褰撴病鏈夋寚瀹氬弬鏁版椂锛屽垯杩斿洖銆愪綇瀹匢D鐨勬枃浠跺す銆戠殑鍏ㄨ矾寰� - /// </summary> - /// <param name="listNames">瑕佹嫾鎺ョ殑璺緞</param> - /// <returns></returns> - public static string CombinePath(params object[] listNames) - { - string rootPath = Config.Instance.FullPath; - if (listNames == null || listNames.Length == 0) - { - return rootPath; - } - foreach (var file in listNames) - { - if (file == null) - { - continue; - } - rootPath = System.IO.Path.Combine(rootPath, file.ToString()); - } - return rootPath; - } /// <summary> /// 鎷兼帴缃戝叧鍥炲瓒呮椂鐨勪俊鎭� @@ -857,10 +765,13 @@ /// </summary> /// <param name="ShowPrompted">鏂拌拷鍔犲彉閲忥細鏄惁鏄剧ず鎻愮ず鑷姩澶囦唤鐨勭晫闈�</param> /// <returns></returns> - public async static Task<bool> InitUserCenterMenmoryAndThread(bool ShowPrompted = true) + public static bool InitUserCenterMenmoryAndThread(bool ShowPrompted = true) { //璋冪敤杩欎釜鏂规硶,閮介渶瑕侀噸鏂板埛鏂颁富椤� - UserView.UserPage.Instance.RefreshForm = true; + UserView.UserPage.Instance.RefreshAllForm = true; + + //娣诲姞缃戠粶鐘舵�佺洃鍚� + HdlWifiLogic.Current.StartListenNetWork(); //濡傛灉鏄櫄鎷熶綇瀹� if (Config.Instance.Home.IsVirtually == true) @@ -879,11 +790,9 @@ if (Common.Config.Instance.HomeId != UserCenterResourse.AccountOption.OldHomeStringId || Common.Config.Instance.Account != UserCenterResourse.AccountOption.OldAccountId) { - //鏂紑杩滅▼Mqtt杩炴帴 - HdlThreadLogic.Current.RunThread(async () => - { - await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); - }, ShowErrorMode.NO); + //鍊熺敤涓�涓嬭繖涓彉閲�(妫�娴嬭兘鍚﹀箍鎾埌缃戝叧) + UserCenterResourse.DicReceiveGatewayTest = new Dictionary<string, ZigBee.Device.ZbGateway>(); + UserCenterResourse.HideOption.CheckCanReceiveGateway = 1; //娓呯┖鎵�鏈夋垚鍛樼紦瀛� ClearAllMemberMemory(); @@ -892,27 +801,35 @@ var optionInfo = UserCenterResourse.AccountOption.Load(); UserCenterResourse.AccountOption = optionInfo; //鍙樻洿鏍圭敤鎴峰浘鐗囩洰褰曡矾寰� - UserCenterResourse.AccountOption.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory); + UserCenterResourse.AccountOption.UserPictruePath = DirNameResourse.UserPictrueDirectory; //鍔犺浇浣忓畢閰嶇疆淇℃伅 UserCenterResourse.ResidenceOption = UserCenterResourse.ResidenceOption.Load(); + //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� + HdlFileLogic.Current.CreatAllUserCenterDirectory(); + //鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅 - var hadNet = await InitUserAccoutInfo(true); + var hadNet = InitUserAccoutInfo(true); //濡傛灉鏈夌綉缁滅殑璇� if (hadNet == 1) { //閲嶆柊鍙戦�佸懡浠ゅ幓缁戝畾鏂綉鎯呭喌涓嬪浠界殑缃戝叧 HdlGatewayLogic.Current.ResetComandToBindBackupGateway(); //璇诲彇闅愬尶閰嶇疆 - await HdlBackupLogic.Current.LoadHideOption(); + HdlBackupLogic.Current.LoadHideOption(); + //璋冭瘯锛氬己鍒跺紑鍚悗鍙拌皟璇旳pp鍔熻兘 + if (UserCenterResourse.HideOption.StartDebugApp == 1) + { + HdlThreadLogic.Current.RunMain(() => + { + var form = new HideOption.HideOptionMainForm(); + form.AddForm(); + }); + ProgressBar.Close(true); + return false; + } } - - //鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅 - InitLocalMemberListInfo(); - - //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); //鍏抽棴鎵�鏈夋帴鏀� HdlGatewayReceiveLogic.Current.RemoveAllEvent(); @@ -929,7 +846,7 @@ int result = -1; if (hadNet == 1) { - result = await HdlAutoBackupLogic.SynchronizeDbAutoBackupData(); + result = HdlAutoBackupLogic.SynchronizeDbAutoBackupData(); } //鍒濆鍖栨湰鍦扮殑缃戝叧淇℃伅 @@ -946,8 +863,18 @@ HdlGatewayLogic.Current.SynchronizeDbGateway(); } + //鏂紑杩滅▼Mqtt杩炴帴,閲嶆柊杩炴帴 + HdlThreadLogic.Current.RunThread(async () => + { + HdlGatewayLogic.Current.ClearAllRealGatewayConection(true); + await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); + }, ShowErrorMode.NO); + //鍒锋柊APP鍓嶄竴娆¢�夋嫨鐨勭綉鍏矷D(鍙互鍙嶅璋冪敤,闇�瑕佸湪缃戝叧鍒濆鍖栧畬浜嗕箣鍚庢墠鑳借皟鐢�) HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId(); + + //鍔犺浇妯℃澘缂撳瓨 + //TemplateData.TemplateCommonLogic.Current.LoadLocalTemplateMemoryData(); //0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝�,杩欎釜鏃跺�欓渶瑕佹彁绀哄浠� if (result == 0 && ShowPrompted == true) @@ -957,9 +884,25 @@ } //鏄剧ず寮曞鐣岄潰 ShowGuideForm(result); + + //鍏抽棴debug骞挎挱 + UserCenterResourse.HideOption.CheckCanReceiveGateway = 0; + System.Threading.Thread.Sleep(30); + if (hadNet == 1) + { + //浣忓畢鍒囨崲鏃�,妫�娴嬬綉鍏宠繛鎺ユ儏鍐� + CheckGatewayConnection(); + + } + UserCenterResourse.DicReceiveGatewayTest = null; } //APP缂撳瓨鍔犺浇瀹屾垚 UserCenterResourse.AccountOption.AppCanSignout = true; + if (Shared.Phone.Device.Logic.Send.If_Exist == "1") + { + //浠ユ湰鍦扮姸鎬佷负涓绘墦寮�GPS鏈嶅姟 + Application.StartGPSLocationService(); + } return true; } @@ -973,7 +916,7 @@ //娓呯┖鎵�鏈夋垚鍛樼紦瀛� ClearAllMemberMemory(); //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); + HdlFileLogic.Current.CreatAllUserCenterDirectory(); //鍏抽棴鎵�鏈夋帴鏀� HdlGatewayReceiveLogic.Current.RemoveAllEvent(); //鍒濆鍖栨湰鍦扮殑缃戝叧淇℃伅 @@ -984,6 +927,8 @@ HdlRoomLogic.Current.RefreshAllRoomByLocation(); //鍒锋柊宸﹁竟鍒锋柊鎴块棿瑙嗗浘鍒楄〃 HdlRoomLogic.Current.RefreshRoomListView(); + //鍔犺浇妯℃澘缂撳瓨 + //TemplateData.TemplateCommonLogic.Current.LoadLocalTemplateMemoryData(); } /// <summary> @@ -1009,6 +954,35 @@ Common.Logic.SoneLogicList.Clear(); } + /// <summary> + /// 浣忓畢鍒囨崲鏃�,妫�娴嬬綉鍏宠繛鎺ユ儏鍐� + /// </summary> + private static void CheckGatewayConnection() + { + try + { + bool canReceiveGw = false; + foreach (var gateway in UserCenterResourse.DicReceiveGatewayTest.Values) + { + if (gateway.HomeId == Config.Instance.Home.Id) + { + //鑳藉鎼滅储寰楀埌缃戝叧 + canReceiveGw = true; + break; + } + } + UserCenterResourse.DicReceiveGatewayTest = null; + //璁剧疆杩滅▼杩炴帴鐨勫垵濮嬪�� + ZigBee.Device.ZbGateway.IsRemote = canReceiveGw == false; + if (canReceiveGw == false) + { + //濡傛灉鏄繙绋嬬殑璇�,杩藉姞绛夊緟鏃堕棿 + System.Threading.Thread.Sleep(1500); + } + } + catch { } + } + #endregion #region 鈻� 鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅_______________ @@ -1018,7 +992,7 @@ /// </summary> /// <param name="reLoad">鏄惁浠庢柊浠庢湰鍦板姞杞�(閲嶆柊鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅,涓嶉渶瑕侀噸鏂板姞杞�)</param> /// <returns></returns> - private async static Task<int> InitUserAccoutInfo(bool reLoad) + private static int InitUserAccoutInfo(bool reLoad) { //鍒濆鍖栦釜浜轰俊鎭殑鏍囪瘑 UserCenterResourse.UserInfo.InitUserInfoSuccess = false; @@ -1028,13 +1002,18 @@ UserCenterResourse.UserInfo = GetUserInformationFromLocation(); UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, "Admin.png"); } + if (HdlWifiLogic.Current.CanAccessHttp == false) + { + //鏃犳硶杩炴帴澶栫綉 + return -1; + } //鑾峰彇鐧诲綍璐﹀彿鐨勪俊鎭� var pra = new AccountInfoPra(); //搴忓垪鍖栧璞� var requestJson = JsonConvert.SerializeObject(pra); //璁块棶鎺ュ彛 - byte[] byteData = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/GetAccountInfo", Encoding.UTF8.GetBytes(requestJson)); + byte[] byteData = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/GetAccountInfo", Encoding.UTF8.GetBytes(requestJson), "POST", 4); if (byteData == null) { return -1; @@ -1073,29 +1052,27 @@ userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.uMember); } - if (UserCenterResourse.UserInfo.AuthorityNo != userInfo.AuthorityNo) + //UserInfo.AuthorityNo==0浠h〃鏈湴杩樻病鏈夌敓鎴愭枃浠�,杩欎釜鏃跺�欎笉闇�瑕佸鐞� + if (UserCenterResourse.UserInfo.AuthorityNo != userInfo.AuthorityNo + && UserCenterResourse.UserInfo.AuthorityNo != 0) { //濡傛灉鐧婚檰鐨勮处鍙风殑鏉冮檺鍜屼笂涓�娆$殑涓嶄竴鏍�,鍒欏垹闄ゆ湰鍦拌繖涓綇瀹呭叏閮ㄧ殑鏂囦欢,浠庡ご鍐嶆潵 - string dirPath = CombinePath(); + string dirPath = Config.Instance.FullPath; if (System.IO.Directory.Exists(dirPath) == true) { try { //鍚屾鏁版嵁鐨勫垽鏂枃浠�(浠ラ槻涓囦竴鍒犻櫎鏁翠釜鏂囦欢澶瑰け璐ョ殑鏃跺��,杩欎釜鏂囦欢琚垹鐨勮瘽,搴旇娌′粈涔堝ぇ闂) - string SynchronizeFile = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoDownLoadBackupCheckFile); + string SynchronizeFile = DirNameResourse.AutoDownLoadBackupCheckFile; //濡傛灉鏈湴宸茬粡鎷ユ湁浜嗚繖涓枃浠讹紝鍒欒鏄庝笉鏄柊鎵嬫満锛屼笉鍐嶈嚜鍔ㄨ繕鍘� - if (System.IO.File.Exists(SynchronizeFile) == true) - { - System.IO.File.Delete(SynchronizeFile); - } - //鍒犻櫎鏁翠釜鏂囦欢澶� - System.IO.Directory.Delete(dirPath, true); + HdlFileLogic.Current.DeleteFile(SynchronizeFile); + HdlFileLogic.Current.DeleteDirectory(dirPath); } catch { } //鍒涘缓浣忓畢鏂囦欢澶� Global.CreateHomeDirectory(Config.Instance.HomeId); //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); + HdlFileLogic.Current.CreatAllUserCenterDirectory(); } } if (string.IsNullOrEmpty(userInfo.UserName) == true) @@ -1109,7 +1086,7 @@ if (UserCenterResourse.UserInfo.HeadImage != null) { //鍐欏叆澶村儚鍐呭 - Shared.IO.FileUtils.WriteFileByBytes(UserCenterResourse.UserInfo.UserIconFile, UserCenterResourse.UserInfo.HeadImage); + HdlFileLogic.Current.SaveByteToFile(UserCenterResourse.UserInfo.UserIconFile, UserCenterResourse.UserInfo.HeadImage); } UserCenterResourse.UserInfo.HeadImage = null; //鎵嬪娍瀵嗙爜 @@ -1118,9 +1095,11 @@ //瀵嗙爜楠岃瘉 UserCenterResourse.AccountOption.PswAuthentication = UserCenterResourse.UserInfo.StringPwd == null ? string.Empty : UserCenterResourse.UserInfo.StringPwd; UserCenterResourse.UserInfo.StringPwd = null; + //淇濆瓨缂撳瓨 + UserCenterResourse.AccountOption.Save(); //鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�) - var flage = await InitAdminConnectMainInfo(); + var flage = InitAdminConnectMainInfo(); //鍒濆鍖栦釜浜轰俊鎭殑鏍囪瘑 UserCenterResourse.UserInfo.InitUserInfoSuccess = flage == 1; @@ -1133,8 +1112,7 @@ /// <returns></returns> private static UserInformation GetUserInformationFromLocation() { - string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); - var value = LoadFileContent(fileName); + var value = HdlFileLogic.Current.ReadFileTextContent(DirNameResourse.UserInfoFile); if (value == null) { return new UserInformation(); @@ -1147,26 +1125,10 @@ /// 閲嶆柊鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅(鏃ㄥ湪瀵瑰簲閭d竴鐬棿,缃戠粶涓嶅ソ,瀵艰嚧璇垽鐨勬儏鍐�) /// </summary> /// <returns></returns> - private async static Task<bool> ReInitUserAccoutInfo(List<string> listNotShowError) + public static bool ReInitUserAccoutInfo() { //閲嶆柊鍒濆鍖栬处鍙蜂俊鎭� - var result = await InitUserAccoutInfo(false); - //杩炴帴涓嶄簡澶栫綉鐨勬椂鍊� - if (result == -1) - { - if (listNotShowError != null && - (listNotShowError.Contains("NotSetAgain") == true || listNotShowError.Contains("NotCheck") == true)) - { - //鏈夎繖涓や釜鏍囪瘑鏃�,涓嶆彁绀洪敊璇� - return false; - } - Application.RunOnMainThread(() => - { - //褰撳墠鏃犵綉缁滆繛鎺�,璇风‘璁ょ綉缁� - var alert = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uNowIsDonotNetworkAndCheckNetwork)); - alert.Show(); - }); - } + var result = InitUserAccoutInfo(false); if (result == 1) { //鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� @@ -1184,9 +1146,8 @@ /// </summary> private static void SaveUserInformationToLocation() { - string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); //鍐欏叆鍐呭 - SaveFileContent(fullName, UserCenterResourse.UserInfo); + HdlFileLogic.Current.SaveFileContent(DirNameResourse.UserInfoFile, UserCenterResourse.UserInfo); //鎼炰竴涓嬩富浜虹殑榛樿澶村儚 string defultFile = IO.FileUtils.GetImageFilePath("Center/Admin.png"); @@ -1210,7 +1171,7 @@ /// 鍒濆鍖栫鐞嗗憳鏉冮檺杩滅▼杩炴帴涓讳汉鐨勪俊鎭� -1:鏃犵綉 1:姝e父 2:鍏朵粬閿欒 /// </summary> /// <returns></returns> - private static async Task<int> InitAdminConnectMainInfo() + private static int InitAdminConnectMainInfo() { if (UserCenterResourse.UserInfo.AuthorityNo != 2 && UserCenterResourse.UserInfo.AuthorityNo != 3) { @@ -1228,7 +1189,7 @@ //搴忓垪鍖栧璞� var requestJson = JsonConvert.SerializeObject(pra); //璁块棶鎺ュ彛 - byte[] byteData = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("App/GetSharedHomeApiControl", Encoding.UTF8.GetBytes(requestJson)); + byte[] byteData = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("App/GetSharedHomeApiControl", Encoding.UTF8.GetBytes(requestJson)); if (byteData == null) { return -1; @@ -1246,87 +1207,6 @@ Config.Instance.AdminRequestToken = info.RequestToken; return 1; - } - - #endregion - - #region 鈻� 鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅_______________ - - /// <summary> - /// 鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅 - /// </summary> - private static void InitLocalMemberListInfo() - { - //鍏堟竻绌� - UserCenterResourse.ListMemberInfo.Clear(); - string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.MemberListInfoFile); - if (System.IO.File.Exists(fileName) == false) - { - return; - } - var varByte = Shared.IO.FileUtils.ReadFile(fileName); - UserCenterResourse.ListMemberInfo = JsonConvert.DeserializeObject<List<MemberInfoRes>>(System.Text.Encoding.UTF8.GetString(varByte)); - } - - /// <summary> - /// 淇濆瓨缂撳瓨鎴愬憳鐨勪俊鎭� - /// </summary> - public static void SaveLocalMemberListInfo() - { - var data = Newtonsoft.Json.JsonConvert.SerializeObject(UserCenterResourse.ListMemberInfo); - var byteData = System.Text.Encoding.UTF8.GetBytes(data); - - string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.MemberListInfoFile); - //鍐欏叆鍐呭 - Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData); - } - - #endregion - - #region 鈻� 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶筥________ - - /// <summary> - /// 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - /// </summary> - public static void CreatAllUserCenterDirectory() - { - //鏈湴缂撳瓨鐨勬牴鐩綍 - string LocalDirectory = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory); - Global.CreateEmptyDirectory(LocalDirectory); - - //鑷姩澶囦唤銆愭枃浠跺す銆�(缂栬緫,杩藉姞) - string directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupDirectory); - Global.CreateEmptyDirectory(directory); - - //鑷姩澶囦唤銆愭枃浠跺す銆�(鍒犻櫎) - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupdeleteDirectory); - Global.CreateEmptyDirectory(directory); - - //涓嬭浇澶囦唤鐨勬椂鍊欐墍浣跨敤鐨勪复鏃躲�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadBackupTempDirectory); - Global.CreateEmptyDirectory(directory); - - //淇濆瓨瀹夐槻璁板綍鐨勩�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.SafeguardAlarmDirectory); - Global.CreateEmptyDirectory(directory); - - //涓婁紶缃戝叧澶囦唤鏂囦欢鍒颁簯绔殑涓存椂銆愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.GatewayBackupDirectory); - Global.CreateEmptyDirectory(directory); - - //涓嬭浇鍒嗕韩鏂囦欢鐨勪复鏃躲�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadShardDirectory); - Global.CreateEmptyDirectory(directory); - - //LOG鍑哄姏銆愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.LogDirectory); - Global.CreateEmptyDirectory(directory); - - //鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆� - if (UserCenterResourse.AccountOption.UserPictruePath != string.Empty && !System.IO.Directory.Exists(UserCenterResourse.AccountOption.UserPictruePath)) - { - System.IO.Directory.CreateDirectory(UserCenterResourse.AccountOption.UserPictruePath); - } } #endregion @@ -1357,7 +1237,7 @@ /// <param name="result">鍚屾缁撴灉 -1锛氬紓甯� 0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝� 1锛氭甯稿悓姝� 2:娌℃湁鑷姩澶囦唤鏁版嵁</param> private static void ShowGuideForm(int result) { - var checkFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, DirNameResourse.GuideFile); + var checkFile = DirNameResourse.GuideFile; if (System.IO.File.Exists(checkFile) == true) { //涓嶉渶瑕佹樉绀� @@ -1430,7 +1310,7 @@ { try { - if (strPsw == string.Empty) + if (string.IsNullOrEmpty(strPsw) == true) { return strPsw; } @@ -1500,89 +1380,6 @@ { var utcTime = Convert.ToDateTime(timeText); return TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local); - } - - #endregion - - #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________ - - /// <summary> - /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> - public static void SaveFileContent(string fullName, object obj) - { - var data = JsonConvert.SerializeObject(obj); - 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 - { - fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Create, System.IO.FileAccess.Write); - fileStream.Write(byteData, 0, byteData.Length); - fileStream.Flush(); - } - catch { } - finally - { - fileStream?.Close(); - } - } - - /// <summary> - /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�(鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull,鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <returns></returns> - public static string LoadFileContent(string fullName) - { - //璇诲彇鏂囦欢 - var varByte = ReadFileContent(fullName); - if (varByte == null) - { - return null; - } - return Encoding.UTF8.GetString(varByte); - } - - /// <summary> - /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�,鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <returns></returns> - public static byte[] ReadFileContent(string fullName) - { - if (System.IO.File.Exists(fullName) == false) - { - return null; - } - System.IO.FileStream fileStream = null; - try - { - fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Open, System.IO.FileAccess.Read); - byte[] array = new byte[fileStream.Length]; - fileStream.Read(array, 0, array.Length); - return array; - } - catch - { - return null; - } - finally - { - fileStream?.Close(); - } } #endregion -- Gitblit v1.8.0