From ac2ee45fadc64fe840bbba6264df3ca4622adb15 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期日, 12 一月 2020 16:06:13 +0800 Subject: [PATCH] 2020-01-12 1.优化修改。 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs | 330 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 205 insertions(+), 125 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs index 0949f63..3ace602 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs @@ -76,8 +76,8 @@ TextColor = SkinStyle.Current.TextColor1, //Text = account, #if DEBUG - //Text = "18926269190@189.cn" - Text = "721343314@qq.com" + Text = "18926269190@189.cn" + //Text = "721343314@qq.com" #endif }; accountView.AddChidren (etAccount); @@ -384,49 +384,39 @@ } - /// <summary> - /// - /// </summary> - /// <param name="stateCodeStr"></param> - void ShowGetAllBindGatewarysPaggerErrorInfo (string stateCodeStr) - { - string mes = ""; - //2020-01-06 寰呰ˉ鍏� - if (stateCodeStr == ErrorCode.NetworkError) { - mes = ErrorCode.NetworkError; - } else { - mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; + ///// <summary> + ///// + ///// </summary> + ///// <param name="stateCodeStr"></param> + //void ShowGetAllBindGatewarysPaggerErrorInfo (string stateCodeStr) + //{ + // string mes = ""; + // //2020-01-06 寰呰ˉ鍏� + // if (stateCodeStr == ErrorCode.NetworkError) { + // mes = ErrorCode.NetworkError; + // } else { + // mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; - } - if (!string.IsNullOrEmpty (mes)) { - Application.RunOnMainThread (() => { - new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); - }); - } + // } + // if (!string.IsNullOrEmpty (mes)) { + // Application.RunOnMainThread (() => { + // new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); + // }); + // } - } + //} /// <summary> - /// 鐧诲綍 + /// 鐧诲綍 2020-01-11 /// </summary> /// <param name="account">Account.</param> /// <param name="password">Password.</param> private void Login (string account, string password, AccountListDB accountListDB) { - //string pattern = @"(http|https)://(?<domain>[^(:|/]*)"; - //Regex reg = new Regex (pattern, RegexOptions.IgnoreCase); - //Match m = reg.Match (MainPage.RequestHttpsHost); - //string mResult = m.Groups ["domain"].Value; - //if (!string.IsNullOrEmpty (mResult)) { - // MainPage.RequestHttpsHostMqtt = "https://" + mResult; - //} - - //return; - var requestObj = new LoginObj () { Account = account, Password = password, Company = MainPage.SoftSmsType }; var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); - var revertObj = MainPage.RequestHttps (API.Login, requestJson, false, false); + var revertObj = MainPage.RequestHttps (API.Login, requestJson); if (revertObj.StateCode.ToUpper() == "SUCCESS") { if (!accountListDB.account.Contains (account)) { @@ -460,115 +450,72 @@ var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2); if (revertObj2.StateCode.ToUpper () == "SUCCESS") { - - //var DD = Newtonsoft.Json.Linq.JObject.Parse ("GFGFDG"); - //DD["ResponseData"]["PageData"]; var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ()); //if (mResidenceRes.TotalCount != 0) { // //褰撲綇瀹呬负绌烘椂鍏堟彁绀虹敤鎴锋柊寤轰綇瀹� - //} else { - var revertRoomData = mResidenceRes.PageData; - if (revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id) == null) { + if (UserConfig.Instance.CurrentRegion == null) { if (revertRoomData != null && revertRoomData.Count > 0) { - UserConfig.Instance.CurrentRegion = revertRoomData [0]; - if (UserConfig.Instance.CheckHomeGateways ()) { - UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId; + var bFind = false; + foreach (var mHome in revertRoomData) { + if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) { + bFind = true; + UserConfig.Instance.CurrentRegion = mHome; + break; + } } + if (!bFind) { + UserConfig.Instance.CurrentRegion = revertRoomData [0]; + } + IO.FileUtils.DeleteAllFile (); } + } else { - Room.InitAllRoom (); - } + //2020-01-11 + var findRoom = revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id); + if (findRoom == null) { + if (revertRoomData != null && revertRoomData.Count > 0) { + var bFind = false; + foreach (var mHome in revertRoomData) { + if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) { + bFind = true; + UserConfig.Instance.CurrentRegion = mHome; + break; + } + } + if (!bFind) { + UserConfig.Instance.CurrentRegion = revertRoomData [0]; + } - var gatewayListObj = new GetAllBindGatewarysPaggerObj (); - gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; - - //var gatewayListObj = new GatewayListObj (); - var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj); - var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson); - if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") { - UserConfig.Instance.GatewayList.Clear (); - - var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ()); - //var responseGatewayDataObj = mGateRes.PageData; - UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData); - UserConfig.Instance.SaveUserConfig (); - MainPage.LoginUser.LastTime = DateTime.Now; - if (UserConfig.Instance.GatewayList.Count == 0) { - Application.RunOnMainThread (() => { - UserMiddle.Init (); - Close (); - }); - return; + IO.FileUtils.DeleteAllFile (); + } } else { - UserConfig.Instance.HomeLists = revertRoomData; - MainPage.LoginUser.SaveUserInfo (); - UserConfig.Instance.SaveUserConfig (); - Scene.Refresh (); - A31MusicModel.Refresh (); - Application.RunOnMainThread (() => { - Close (); - UserMiddle.Init (); - EquipmentPublicClass.CheckLinkRemote (2); - }); + //鍒锋柊浣忓畢 瑙e喅瀛愯处鍙烽棶棰� + UserConfig.Instance.CurrentRegion = findRoom; + + Room.InitAllRoom (); } - } else { - //GetAllBindGatewarysPagger 澶辫触鎻愮ず - ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode); + + } + + + + + ////鍘熸柟妗� + //GetAllBindGatewarysPagger (revertRoomData); + ////鑾峰彇褰撳墠浣忓畢缃戝叧鏂规 + //GetNowHomeGateway (revertRoomData); + SaveUserConfig (revertRoomData); //} } else { //GetHomePager 澶辫触鎻愮ず ShowGetHomePagerErrorInfo (revertObj2.StateCode); } - - //var requestObj2 = new HomeListObj (); - //var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - //var revertObj2 = MainPage.RequestHttps ("HomeList", requestJson2); - //if (revertObj2.StateCode.ToUpper() == "SUCCESS") { - // var responseDataObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj2.ResponseData.ToString ()); - // var revertRoomData = responseDataObj2; - // if (revertRoomData.Find ((obj) => obj.RegionID == UserConfig.Instance.CurrentRegion.RegionID) == null) { - // UserConfig.Instance.CurrentRegion = revertRoomData [0]; - // UserConfig.Instance.GatewayMAC = revertRoomData [0].MAC; - // IO.FileUtils.DeleteAllFile (); - // } else { - // Room.InitAllRoom (); - // } - - // var gatewayListObj = new GatewayListObj (); - // var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj); - // var gatewayListRevertObj = MainPage.RequestHttps ("GatewayList", gatewayListJson); - // if (gatewayListRevertObj.StateCode.ToUpper() == "SUCCESS") { - // UserConfig.Instance.GatewayList.Clear (); - // var responseGatewayDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GatewayRes>> (gatewayListRevertObj.ResponseData.ToString ()); - // UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj); - // UserConfig.Instance.SaveUserConfig (); - // MainPage.LoginUser.LastTime = DateTime.Now; - // if (UserConfig.Instance.GatewayList.Count == 0) { - // Application.RunOnMainThread (() => { - // UserMiddle.Init (); - // Close (); - // }); - // return; - // } else { - // UserConfig.Instance.HomeLists = revertRoomData; - // MainPage.LoginUser.SaveUserInfo (); - // UserConfig.Instance.SaveUserConfig (); - // Scene.Refresh (); - // A31MusicModel.Refresh (); - // Application.RunOnMainThread (() => { - // Close (); - // UserMiddle.Init (); - // EquipmentPublicClass.CheckLinkRemote (2); - // }); - // } - // } - //} - // } else { + string stateCodeStr = revertObj.StateCode; string mes = ""; if (stateCodeStr == "NOTVERIFY") { @@ -616,13 +563,146 @@ private void SetMqttHost (string URL) { string pattern = @"(http|https)://(?<domain>[^(:|/]*)"; + Regex reg = new Regex (pattern, RegexOptions.IgnoreCase); Match m = reg.Match (URL); - string mResult = m.Groups ["domain"].Value; + string mResult = m.Value; if (!string.IsNullOrEmpty (mResult)) { - MainPage.RequestHttpsHostMqtt = "https://" + mResult; + MainPage.RequestHttpsHostMqtt = mResult; } } - // + + /// <summary> + /// 淇濆瓨鏁版嵁 骞跺姞杞介〉闈� + /// </summary> + /// <param name="revertRoomData"></param> + void SaveUserConfig (List<RegionInfoRes> revertRoomData) + { + UserConfig.Instance.SaveUserConfig (); + MainPage.LoginUser.LastTime = DateTime.Now; + + if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) { + UserConfig.Instance.HomeLists = revertRoomData; + MainPage.LoginUser.SaveUserInfo (); + UserConfig.Instance.SaveUserConfig (); + Scene.Refresh (); + A31MusicModel.Refresh (); + Application.RunOnMainThread (() => { + Close (); + UserMiddle.Init (false,true); + EquipmentPublicClass.CheckLinkRemote (2); + }); + } else { + + Application.RunOnMainThread (() => { + UserMiddle.Init (false, true); + Close (); + }); + } + + } + + ///// <summary> + ///// 鏌ヨ褰撳墠浣忓畢 缃戝叧鍒楄〃 + ///// </summary> + //void GetNowHomeGateway (List<RegionInfoRes> revertRoomData) + //{ + + // var requestObj3 = new GetSingleHomeGatewayPaggerObj (); + // requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; + // requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id; + // requestObj3.ReqDto.PageSetting.Page = 1; + // requestObj3.ReqDto.PageSetting.PageSize = 999; + // string urlHead = MainPage.RequestHttpsHost; + // if (requestObj3.IsOtherAccountCtrl) { + // urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl; + // requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken; + // } + + + // //var requestObj3 = new GatewayByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id }; + // var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3); + // var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead); + // if (revertObj3.StateCode.ToUpper () == "SUCCESS") { + // var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ()); + // //var responseGatewayDataObj = mGateRes.PageData; + // UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData); + // UserConfig.Instance.SaveUserConfig (); + // MainPage.LoginUser.LastTime = DateTime.Now; + // if (UserConfig.Instance.GatewayList.Count == 0) { + // Application.RunOnMainThread (() => { + // UserMiddle.Init (); + // Close (); + // }); + // return; + // } else { + // UserConfig.Instance.HomeLists = revertRoomData; + // MainPage.LoginUser.SaveUserInfo (); + // UserConfig.Instance.SaveUserConfig (); + // Scene.Refresh (); + // A31MusicModel.Refresh (); + // Application.RunOnMainThread (() => { + // Close (); + // UserMiddle.Init (); + // EquipmentPublicClass.CheckLinkRemote (2); + // }); + // } + // } else { + // Application.RunOnMainThread (() => { + // new Alert ("", ErrorCode.FailedGetGatewaysForHome, Language.StringByID (R.MyInternationalizationString.Close)).Show (); + // }); + + // } + + + //} + + ///// <summary> + ///// GetAllBindGatewarysPagger + ///// </summary> + ///// <param name="revertRoomData"></param> + //void GetAllBindGatewarysPagger (List<RegionInfoRes> revertRoomData) { + + // var gatewayListObj = new GetAllBindGatewarysPaggerObj (); + // gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; + + // //var gatewayListObj = new GatewayListObj (); + // var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj); + // var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson); + // if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") { + // UserConfig.Instance.GatewayList.Clear (); + + // var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ()); + // //var responseGatewayDataObj = mGateRes.PageData; + // UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData); + // UserConfig.Instance.SaveUserConfig (); + // MainPage.LoginUser.LastTime = DateTime.Now; + // if (UserConfig.Instance.GatewayList.Count == 0) { + // Application.RunOnMainThread (() => { + // UserMiddle.Init (); + // Close (); + // }); + // return; + // } else { + // UserConfig.Instance.HomeLists = revertRoomData; + // MainPage.LoginUser.SaveUserInfo (); + // UserConfig.Instance.SaveUserConfig (); + // Scene.Refresh (); + // A31MusicModel.Refresh (); + // Application.RunOnMainThread (() => { + // Close (); + // UserMiddle.Init (); + // EquipmentPublicClass.CheckLinkRemote (2); + // }); + // } + // } else { + // //GetAllBindGatewarysPagger 澶辫触鎻愮ず + // ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode); + // } + //} + + + + } } \ No newline at end of file -- Gitblit v1.8.0