From 365eadb33ee86b05ac74d408025d102a758c2efd Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 一月 2020 15:27:17 +0800 Subject: [PATCH] 2020-01-10 2020-01-10 1.修改切换本地和远程问题。 2.修改判断住宅网关方案。 3.其它优化修改。 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs | 255 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 150 insertions(+), 105 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs index 0949f63..dc4b14f 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); @@ -414,19 +414,9 @@ /// <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,37 @@ 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 (revertRoomData != null && revertRoomData.Count > 0) { UserConfig.Instance.CurrentRegion = revertRoomData [0]; - if (UserConfig.Instance.CheckHomeGateways ()) { - UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId; - } + //if (UserConfig.Instance.CheckHomeGateways ()) { + // UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId; + //} + //CheckIfNeedGetMasterAccountToken (); + IO.FileUtils.DeleteAllFile (); } } else { Room.InitAllRoom (); } - 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); - } + ////鍘熸柟妗� + //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 +528,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 (); + EquipmentPublicClass.CheckLinkRemote (2); + }); + } else { + + Application.RunOnMainThread (() => { + UserMiddle.Init (); + 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