From 5a5a2b696866f947b6025d26c3302e8ffef46435 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 11 一月 2021 16:11:20 +0800 Subject: [PATCH] 2021-01-11 1.更新MQTT连接和本地搜索网关方法。2.子账号相关接口完善 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs | 195 ++++++++++++++++++++---------------------------- 1 files changed, 83 insertions(+), 112 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs index c86f459..6cefea4 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs @@ -5,15 +5,28 @@ { public class SubaccountListView : FrameLayout { - List<SubAccountRes> subaccountList; + /// <summary> + /// + /// </summary> + List<ResidenceMemberInfo> subaccountList; + /// <summary> + /// + /// </summary> VerticalScrolViewLayout subaccountListView; - public SubaccountListView (List<SubAccountRes> SubaccountList) + /// <summary> + /// + /// </summary> + /// <param name="SubaccountList"></param> + public SubaccountListView (List<ResidenceMemberInfo> SubaccountList) { BackgroundColor = SkinStyle.Current.MainColor; subaccountList = SubaccountList; } + /// <summary> + /// + /// </summary> public void ShowSubaccountListView () { #region ---TopView--- @@ -169,7 +182,7 @@ }; contentView.AddChidren (subaccountListView); - addSubaccountList (); + RefreshSubaccountList (); addTipView (); } @@ -190,13 +203,20 @@ AddChidren (TipView); } - void addSubaccountList () + /// <summary> + /// 鍒锋柊鎴愬憳鍒楄〃View + /// </summary> + void RefreshSubaccountList () { subaccountListView.RemoveAll (); + if(subaccountList == null) { + subaccountList = new List<ResidenceMemberInfo> (); + } foreach (var subaccount in subaccountList) { - //2020-01-07 甯︾‘璁� - if (subaccount.AccountType == 2) - continue; + ////2020-01-07 甯︾‘璁� + //if (subaccount.AccountType == 2) + // continue; + RowLayout subaccountRowView = new RowLayout () { Height = Application.GetRealHeight(110), }; @@ -260,23 +280,15 @@ if (e) { MainPage.Loading.Start ("Please wait..."); try { - - var requestObj = new DeletedSubAccountObj () { - SubAccount = subaccount.SubAccountDistributedMark, - HouseDistributedMark = UserConfig.Instance.CurrentRegion.Id, - }; - - - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); - var revertObj = MainPage.RequestHttps (API.DeletedSubAccount, requestJson); - if (revertObj.StateCode.ToUpper() == StateCode.SUCCESS) { + var revertObj = HttpServerRequest.Current.DeleteResidenceMemberAccount (subaccount); + if (revertObj.Code == StateCode.SUCCESS) { Application.RunOnMainThread (() => { subaccountList.Remove (subaccount); - addSubaccountList (); + RefreshSubaccountList (); }); } else { //閿欒鎻愮ず - ShowDeletedSubAccountErrorInfo (revertObj.StateCode); + IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); } } catch { MainPage.FailureToServer (); @@ -291,17 +303,22 @@ } } - void modifySubaccount (SubAccountRes subaccount) + /// <summary> + /// 娣诲姞鎴栬�呬慨鏀规垚鍛樹俊鎭紝鐩墠淇敼鍔熻兘宸插幓鎺� + /// </summary> + /// <param name="subaccount"></param> + void modifySubaccount (ResidenceMemberInfo subaccount) { bool isModify = true; if (subaccount == null) { - subaccount = new SubAccountRes (); + subaccount = new ResidenceMemberInfo (); isModify = false; } Dialog dialog = new Dialog (); FrameLayout subaccountDialogView = new FrameLayout () { Width = Application.GetRealWidth (500), - Height = Application.GetRealHeight (650 - 100), + //Height = Application.GetRealHeight (650 - 100), + Height = Application.GetRealHeight (390), BackgroundColor = SkinStyle.Current.DialogColor, Radius = 5, BorderColor = SkinStyle.Current.Transparent, @@ -343,10 +360,10 @@ // BorderColor = SkinStyle.Current.DialogTitle, // BorderWidth = 2, // TextAlignment = TextAlignment.Center, - // Text = subaccount.Remark, + // Text = subaccount.nickName, //}; //subaccountDialogView.AddChidren (etSubaccountReamrk); - + Button btnEmail = new Button () { X = Application.GetRealWidth (40), Y = btnTitle.Bottom + Application.GetRealHeight (30), @@ -443,9 +460,9 @@ // new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PleaseEnterPassword), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountPassword); // return; //} - //if(string.IsNullOrEmpty (addSubaccountReamrk)){ - // //new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccountRemark), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountReamrk); - // //return; + //if (string.IsNullOrEmpty (addSubaccountReamrk)) { + // new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccountRemark), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (etSubaccountReamrk); + // return; //} //if (addSubaccountPassword.Length < 6) { // new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PasswordLenghtTip), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (etSubaccountPassword); @@ -453,7 +470,7 @@ //} MainPage.Loading.Start ("Please wait..."); - subaccount.Account = addSubaccount; + //subaccount.Account = addSubaccount; //subaccount.Remark = addSubaccountReamrk; System.Threading.Tasks.Task.Run (() => { try { @@ -468,37 +485,26 @@ // }); //} } else { - //var requestObj = new SignSubAccountObj () { Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk }; - - var requestObj = new BindSubAccountObj () { - HouseDistributedMark = UserConfig.Instance.CurrentRegion.Id, - SubAccount = addSubaccount, - }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); - - var revertObj = MainPage.RequestHttps (API.BindSubAccount, requestJson); - if (revertObj.StateCode.ToUpper () == StateCode.SUCCESS) { - var requestObj2 = new GetSubAccountByDistributedMarkObj () { - DistributedMark = UserConfig.Instance.CurrentRegion.Id, - }; - //var requestObj2 = new GetSubAccountListObj (); - var requesetJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var requesetRevertObj2 = MainPage.RequestHttps (API.GetSubAccountByDistributedMark, requesetJson2); - if (requesetRevertObj2.StateCode.ToUpper () == StateCode.SUCCESS) { - var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SubAccountRes>> (requesetRevertObj2.ResponseData.ToString ()); + //娣诲姞瀛愯处鍙� + var revertObj = HttpServerRequest.Current.BindResidenceMemberAccount (addSubaccount, addSubaccount); + if (revertObj.Code == StateCode.SUCCESS) { + var revertObj2 = HttpServerRequest.Current.GetResidenceMemberAccount (); + if (revertObj2.Code == StateCode.SUCCESS) { + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>> (revertObj2.Data.ToString ()); subaccountList = responseDataObj; Application.RunOnMainThread (() => { - new Alert ("", Language.StringByID (R.MyInternationalizationString.addsuccess), + new Alert ("", Language.StringByID (R.MyInternationalizationString.AddedSuccessfully), Language.StringByID (R.MyInternationalizationString.Close)).Show (); - addSubaccountList (); + RefreshSubaccountList (); dialog.Close (); }); } else { //閿欒鎻愮ず + IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code); } } else { //BindSubAccount閿欒鎻愮ず - ShowBindSubAccountErrorInfo (revertObj.StateCode); + IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); } } } catch (Exception ex) { @@ -528,69 +534,34 @@ } - /// <summary> - /// - /// </summary> - /// <param name="stateCodeStr"></param> - void ShowDeletedSubAccountErrorInfo (string stateCodeStr) - { - string mes = ""; - //2020-01-06 寰呰ˉ鍏� - if (stateCodeStr == "NoExist") { - mes = ErrorCode.FailedDelete; - } else if (stateCodeStr == ErrorCode.NetworkError) { - mes = ErrorCode.NetworkError; - } else { - mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; + ///// <summary> + ///// 鑾峰彇瀛愯处鍙峰垪琛� + ///// </summary> + //void GetSubaccountList () + //{ + // subaccountListView.RemoveAll (); + // subaccountList = new List<ResidenceMemberInfo> (); - } - if (!string.IsNullOrEmpty (mes)) { - Application.RunOnMainThread (() => { - new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); - }); - } - - - } - - /// <summary> - ///(1)Success 鍒欒皟鐢ㄦ鎺ュ彛鎴愬姛 - //(2)ParameterOrEmpty 鎻愪緵鐨勫弬鏁伴敊璇紝璇︽儏瑙丒rrorInfo瀛楁 - //(3)NoLogin,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [鏃犳晥鐧诲綍Token!] - //(4)AccountNoExists 瀛愯处鍙锋湭娉ㄥ唽锛岃缁戝畾宸叉敞鍐岀殑瀛愯处鍙�! - //(5)SameAccount,涓嶈兘娣诲姞鑷繁涓哄瓙璐﹀彿! (6)NoExist 鐢ㄦ埛涓嶅瓨鍦ㄦ浣忓畢 - //(7)Exist 璐﹀彿宸插瓨鍦ㄦ浣忓畢 - //(8)Fail 鎿嶄綔澶辫触 - //(9)BeRestrict 鏉冮檺涓嶈冻 - //(10)NoAddMainAccount 涓嶈兘缁戝畾涓昏处鍙� - // /// </summary> - /// <param name="stateCodeStr"></param> - void ShowBindSubAccountErrorInfo (string stateCodeStr) - { - string mes = ""; - //2020-01-06 寰呰ˉ鍏� - if (stateCodeStr == "AccountNoExists") { - mes = ErrorCode.SubAccountNoExists; - } else if (stateCodeStr == "SameAccount") { - mes = ErrorCode.SameAccount; - } else if (stateCodeStr == "Exist") { - mes = ErrorCode.SubAccountExist; - } else if (stateCodeStr == "NoAddMainAccount") { - mes = ErrorCode.NoAddMainAccount; - } else 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 (); - }); - } - - - } - + // MainPage.Loading.Start ("Please wait..."); + // System.Threading.Tasks.Task.Run (() => { + // try { + // var revertObj = HttpServerRequest.Current.GetResidenceMemberAccount (); + // if (revertObj.Code == StateCode.SUCCESS) { + // var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>> (revertObj.Data.ToString ()); + // subaccountList = responseDataObj; + // } else { + // IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); + // } + // } catch (Exception ex) { + // //MainPage.FailureToServer (); + // Utlis.WriteLine (ex.Message); + // } finally { + // Application.RunOnMainThread (() => { + // RefreshSubaccountList (); + // MainPage.Loading.Hide (); + // }); + // } + // }); + //} } } \ No newline at end of file -- Gitblit v1.8.0