From bbc74a6dae2e90a811b2507c5896fe89aa29ccc0 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 08 一月 2020 11:30:46 +0800 Subject: [PATCH] 2020-01-08 1.替换新服务器接口。 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs | 201 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 163 insertions(+), 38 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs index 8fb12fd..5b6880d 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs @@ -31,13 +31,20 @@ }) { IsBackground = true }.Start (); }); // 璇诲彇浣忓畢鍒楄〃 - var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (new HomeListObj ()); - var revertObj2 = MainPage.RequestHttps ("HomeList", requestJson2); - if (revertObj2.StateCode == "SUCCESS") { - var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj2.ResponseData.ToString ()); + var requestObj2 = new GetHomePagerObj (); + requestObj2.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; + + var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); + var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2); + if (revertObj2.StateCode.ToUpper() == "SUCCESS") { + var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ()); + var responseDataObj = mResidenceRes.PageData; + //if(responseDataObj == null && responseDataObj.Count == 0) { + // return; + //} UserConfig.Instance.HomeLists = responseDataObj; - if (UserConfig.Instance.HomeLists.Count > 0) { - if (string.IsNullOrEmpty (UserConfig.Instance.HomeLists [0].RegionName)) { + if (responseDataObj != null && responseDataObj.Count > 0) { + if (string.IsNullOrEmpty (UserConfig.Instance.HomeLists [0].Name)) { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); this.RemoveFromParent (); @@ -45,7 +52,7 @@ }); } UserConfig.Instance.SaveUserConfig (); - UserConfig.Instance.CurrentRegion = responseDataObj.Find ((obj) => obj.RegionName == UserConfig.Instance.CurrentRegion.RegionName); + UserConfig.Instance.CurrentRegion = responseDataObj.Find ((obj) => obj.Name == UserConfig.Instance.CurrentRegion.Name); } else { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); @@ -54,6 +61,8 @@ return; } } else { + ShowGetHomePagerErrorInfo (revertObj2.StateCode); + Application.RunOnMainThread (() => { MainPage.Loading.Hide (); this.RemoveFromParent (); @@ -76,6 +85,31 @@ needHide = false; } }) { IsBackground = true }.Start (); + } + + + + /// <summary> + /// + /// </summary> + /// <param name="stateCodeStr"></param> + void ShowGetHomePagerErrorInfo (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 (); + }); + } + + } void ShowHomeListView (bool showDialog = true) @@ -106,7 +140,7 @@ }; topView.AddChidren (ItemButton); ItemButton.MouseUpEventHandler += (sender1, e1) => { - GuideAddHomeDialog (new RegionInfoRes () { RegionID = "", RegionName = "" }, false); + GuideAddHomeDialog (new RegionInfoRes () { Id = "", Name = "" }, false); }; if (showDialog) { var back = new Button () { @@ -173,13 +207,13 @@ Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Item/Point.png", SelectedImagePath = "Item/Point.png", - Visible = home.RegionID != UserConfig.Instance.CurrentRegion.RegionID + Visible = home.Id != UserConfig.Instance.CurrentRegion.Id }; rowView.AddChidren (btnPoint); var btnName = new Button () { Width = Application.GetRealWidth (390), - Text = home.RegionName, + Text = home.Name, TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth (90), TextColor = SkinStyle.Current.TextColor1, @@ -203,7 +237,7 @@ }; rowView.AddChidren (rightButton1); EventHandler<MouseEventArgs> eHandler = (sender, e) => { - if (home.RegionID == UserConfig.Instance.CurrentRegion.RegionID) { + if (home.Id == UserConfig.Instance.CurrentRegion.Id) { //UserConfig.Instance.GatewayMAC = gatewayMAC; var addGatewayDialog = new GuideAddGateway (); (Parent as PageLayout).AddChidren (addGatewayDialog); @@ -216,14 +250,14 @@ rightButton1.MouseUpEventHandler += eHandler; goNextButton.MouseUpEventHandler += eHandler; btnName.MouseUpEventHandler += (sender,e)=> { - if (home.RegionID == UserConfig.Instance.CurrentRegion.RegionID) { + if (home.Id == UserConfig.Instance.CurrentRegion.Id) { GuideAddHomeDialog (home, false,true, btnName); } else { ChangeRegion (home); } }; - if (home.RegionID == UserConfig.Instance.CurrentRegion.RegionID) { + if (home.Id == UserConfig.Instance.CurrentRegion.Id) { Button btnCheck = new Button () { X = Application.GetRealWidth (20), Y = Application.GetRealHeight (25), @@ -233,7 +267,7 @@ }; rowView.AddChidren (btnCheck); } - if (UserConfig.Instance.CurrentRegion.RegionID != home.RegionID && MainPage.LoginUser.AccountType != 1) { + if (UserConfig.Instance.CurrentRegion.Id != home.Id && MainPage.LoginUser.AccountType != 1) { Button btnDel = new Button () { TextID = R.MyInternationalizationString.Del, BackgroundColor = SkinStyle.Current.DelColor, @@ -329,15 +363,18 @@ }); var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = password }; var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); - var revertObj = MainPage.RequestHttps ("Login", requestJson, false, false); - if (revertObj.StateCode == "SUCCESS") { - var requestObj2 = new DeleteHomeObj () { Id = home.RegionID }; + var revertObj = MainPage.RequestHttps (API.Login, requestJson, false, false); + if (revertObj.StateCode.ToUpper() == "SUCCESS") { + + var requestObj2 = new DelHomeObj () { HomeId = home.Id }; var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps ("DeleteHome", requestJson2); - if (revertObj2.StateCode == "SUCCESS") { + var revertObj2 = MainPage.RequestHttps (API.DelHome, requestJson2); + if (revertObj2.StateCode.ToUpper () == "SUCCESS") { Application.RunOnMainThread (() => { ShowHomeList (); }); + } else { + ShowDelHomeErrorInfo (revertObj2.StateCode); } } else { Application.RunOnMainThread (() => { @@ -361,6 +398,28 @@ } + void ShowDelHomeErrorInfo (string stateCodeStr) + { + string mes = ""; + if (stateCodeStr == "NoLogin") { + mes = ErrorCode.NoLogin; + } else if (stateCodeStr == "CurrentHomeExixtsGatewayBind") { + mes = ErrorCode.HomeIdAndTokenNoConsistent; + } else if (stateCodeStr == ErrorCode.NetworkError) { + mes = ErrorCode.NetworkError; + } else { + //RequestServerFailed + //mes = ErrorCode.AddFailed; + mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; + + } + if (!string.IsNullOrEmpty (mes)) { + Application.RunOnMainThread (() => { + new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); + }); + } + } + /// <summary> /// 鏇存崲鏈湴鍖哄煙 /// </summary> @@ -374,10 +433,10 @@ //if (home.RegionID != UserConfig.Instance.CurrentRegion.RegionID) { var backuplist = IO.FileUtils.ReadFiles (); int index = 0; - if (string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.RegionName)) { + if (string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.Name)) { UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0]; } - string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.RegionName); + string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.Name); IO.FileUtils.DeleteRegionFiles (oldRegionRootPath); foreach (var fileName in backuplist) { System.IO.FileInfo fileInfo = new System.IO.FileInfo (IO.FileUtils.RootPath + fileName); @@ -392,7 +451,7 @@ }); } IO.FileUtils.DeleteAllFile (); - string newRegionRootPath = IO.FileUtils.CreateRegionBackup (home.RegionName); + string newRegionRootPath = IO.FileUtils.CreateRegionBackup (home.Name); IO.FileUtils.RestoreRegionFiles (newRegionRootPath); UserConfig.Instance.CurrentRegion = home; UserConfig.Instance.SaveUserConfig (); @@ -479,7 +538,7 @@ Radius = 5, BorderColor = SkinStyle.Current.BorderColor, BorderWidth = 2, - Text = home.RegionName, + Text = home.Name, }; bodyView.AddChidren (etZoneName); @@ -511,11 +570,11 @@ return; } if (isChangeName) { - home.RegionName = button.Text = etZoneName.Text; - var requestObj2 = new EditHomeObj () { Id = home.RegionID, Name = home.RegionName }; + home.Name = button.Text = etZoneName.Text; + var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name }; var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps ("EditHome", requestJson2); - IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.RegionName, home.RegionName); + var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2); + IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); return; } ChangeRegion (home, false); @@ -563,21 +622,27 @@ /// <param name="residenceName">Et zone name string.</param> bool EditResidence (RegionInfoRes home,string residenceName) { - if (home.RegionName != residenceName) { - home.RegionName = residenceName; - if (string.IsNullOrEmpty(home.RegionID)) { - var requestObj21 = new AddHomeObj () { Name = residenceName }; + if (home.Name != residenceName) { + home.Name = residenceName; + if (string.IsNullOrEmpty(home.Id)) { + var requestObj21 = new AddHomeObj () { + Name = residenceName , + LoginAccessToken = MainPage.LoginUser.LoginTokenString, + + }; var requestJson21 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj21); - var revertObj21 = MainPage.RequestHttps ("AddHome", requestJson21); - if ( revertObj21.StateCode != "SUCCESS") { + var revertObj21 = MainPage.RequestHttps (API.AddHome, requestJson21); + if ( revertObj21.StateCode.ToUpper() != "SUCCESS") { + ShowAddHomeErrorInfo (revertObj21.StateCode); return false; } } else { - var requestObj2 = new EditHomeObj () { Id = home.RegionID, Name = home.RegionName }; + var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name }; var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps ("EditHome", requestJson2); - IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.RegionName, home.RegionName); - if (revertObj2.StateCode != "SUCCESS") { + var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2); + IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); + if (revertObj2.StateCode.ToUpper() != "SUCCESS") { + ShowEditHomeErrorInfo (revertObj2.StateCode); return false; } } @@ -601,11 +666,71 @@ room.Save (newRoomFilePath); Room.Lists.Add (room); } - if (home.RegionName != residenceName) { + if (home.Name != residenceName) { ShowHomeList (); } return true; } + + + void ShowAddHomeErrorInfo (string stateCodeStr) { + string mes = ""; + if (stateCodeStr == "NoLogin") { + mes = ErrorCode.NoLogin; + } else if (stateCodeStr == "Exist") { + mes = ErrorCode.NameExist; + } else if (stateCodeStr == ErrorCode.NetworkError) { + mes = ErrorCode.NetworkError; + } else { + //RequestServerFailed + //mes = ErrorCode.AddFailed; + mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; + + } + if (!string.IsNullOrEmpty (mes)) { + Application.RunOnMainThread (() => { + new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); + }); + } + } + + + /// <summary> + /// 鍝嶅簲鐘舵�佺爜: + //(1)Success 鍒� [璋冪敤姝ゆ帴鍙f搷浣滄垚鍔焆, ResponseData鍒欎负null + //(2)ParameterOrEmpty,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭�, ResponseData鍒欎负null + //(3)NoLogin,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [鏃犳晥鐧诲綍Token!] + //(5)NoRecord,,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [鏈埌鐩稿叧璁板綍, 璇风‘璁ゆ偍鎻愪氦鍙傛暟鏄惁姝g‘] + //(6)Exist,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [褰撳墠鎻愪氦鐨勭殑浣忓畢:XXXX锛屽悕绉板凡瀛樺湪!] + //(7)NoPermission,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [鎮ㄥ苟涓嶅叿鏈夋鍒嗕韩鑰呮浣忓畢鐨勬潈闄�!] + //(8)InsufficientAuthority,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [鎮ㄥ苟涓嶅叿鏈夋鍒嗕韩鑰呮浣忓畢鐨勫畬鍏ㄦ帶鍒舵潈闄�!] + //(9)HomeIdAndTokenNoConsistent,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [鎮ㄥ綋鍓峊oken涓庝綘褰撳墠鎺у埗鐨凥omeId涓嶄竴鑷�!] + //(10)NoPermission,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [XXX] + /// </summary> + /// <param name="stateCodeStr"></param> + void ShowEditHomeErrorInfo (string stateCodeStr) + { + string mes = ""; + if (stateCodeStr == "NoLogin") { + mes = ErrorCode.NoLogin; + } else if (stateCodeStr == "Exist") { + mes = ErrorCode.NameExist; + } else if (stateCodeStr == "HomeIdAndTokenNoConsistent") { + mes = ErrorCode.HomeIdAndTokenNoConsistent; + } else if (stateCodeStr == ErrorCode.NetworkError) { + mes = ErrorCode.NetworkError; + } else { + //RequestServerFailed + //mes = ErrorCode.AddFailed; + mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; + + } + if (!string.IsNullOrEmpty (mes)) { + Application.RunOnMainThread (() => { + new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); + }); + } + } } } -- Gitblit v1.8.0