using System; using System.Collections.Generic; using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { /// /// 第三方品牌列表界面 /// public class Iot_BrandListPage : FrameLayout { FrameLayout bodyView; VerticalScrolViewLayout contentView;//VerticalRefreshLayout List brandList; public Iot_BrandListPage() { bodyView = this; brandList = new List(); } public void LoadPage() { var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.Bind3thIotAccount)); topView.maginY = 10; topView.LoadTopView(CSS_Color.MainBackgroundColor); bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; bodyView.AddChidren(new Button { Y = Application.GetRealHeight(64+10), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor, }); Button btnTipText = new Button() { Y = Application.GetRealHeight(80+10), Width = Application.GetRealWidth(347), Height = Application.GetRealHeight(65), Gravity = Gravity.CenterHorizontal, Radius = (uint)Application.GetRealWidth(5), BackgroundColor = 0x194484F4, TextColor = CSS_Color.FirstLevelTitleColor, Padding = new Padding(12, Application.GetRealWidth(16), 12, Application.GetRealWidth(16)), TextSize = CSS_FontSize.TextFontSize, Text = "通过绑定第三方平台账号寄哪里云端连接,将您在三方平台的设备同步到On Pro进行控制", IsMoreLines = true, TextAlignment = TextAlignment.CenterLeft, }; bodyView.AddChidren(btnTipText); if (Language.CurrentLanguage != "Chinese") { btnTipText.Text = "Synchronize your devices on the third-party platform to on Pro for control by binding the third-party platform account to the cloud connection"; } contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(150+10), Height = Application.GetRealHeight(573-10), }; bodyView.AddChidren(contentView); GetBindList(); //contentView.BeginHeaderRefreshingAction = () => //{ // contentView.EndHeaderRefreshing(); // GetBindList(); //}; } /// /// 获取列表 /// void GetBindList() { var waitPage = new Loading(); waitPage.Start(); new System.Threading.Thread(() => { try { var pm = new DAL.Server.HttpServerRequest(); var pack = pm.Get3tyIotBrandList(); if (pack.Code == DAL.Server.StateCode.SUCCESS) { brandList = Newtonsoft.Json.JsonConvert.DeserializeObject>(pack.Data.ToString()); if (brandList.Count > 0) { Application.RunOnMainThread(() => { LoadRow(); }); } else { Application.RunOnMainThread(() => { //NotListTipView(); LoadRow(); }); } } else { IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); } } catch (Exception ex) { MainPage.Log("2--::" + ex.Message); } finally { Application.RunOnMainThread(() => { waitPage.Hide(); }); } }) { IsBackground = true }.Start(); } void LoadRow() { contentView.RemoveAll(); //brandList.Add(new IntegratedBrand_Iot //{ // authBrandNameCn = "Test Hdl", // authBrandNameEn = "Test Hdl", // hasAuthorization = false //}); foreach (var brand in brandList) { var row = new RowLayout() { Height = Application.GetRealHeight(87), BackgroundColor = CSS_Color.MainBackgroundColor, LineColor = 0x00000000, }; contentView.AddChidren(row); Button btnLine = new Button() { Y = Application.GetRealWidth(86), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = 1, BackgroundColor = CSS_Color.DividingLineColor, }; row.AddChidren(btnLine); ImageView btnIcon = new ImageView() { X = Application.GetRealWidth(12), Gravity = Gravity.CenterVertical, Width = Application.GetRealWidth(47), Height = Application.GetRealWidth(47), Radius = (uint)Application.GetRealWidth(9), BackgroundColor = CSS_Color.PromptingColor1 }; row.AddChidren(btnIcon); Button btnBindTip = new Button() { Width = Application.GetRealWidth(326), TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.SubheadingFontSize, TextID = brand.hasAuthorization ? StringId.Bound : StringId.Unbound, }; row.AddChidren(btnBindTip); Button btnRight = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/Right.png", }; row.AddChidren(btnRight); Button btnName = new Button() { X = Application.GetRealWidth(83), Width = Application.GetRealWidth(310), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, Text = brand.authBrandNameCn, }; row.AddChidren(btnName); //下载第三方品牌icon ImageUtlis.Current.Load3tyBrandIconImages(brand.brandName, brand.authBrandIconUrl, btnIcon); EventHandler eventHandler = (sender, e) => { if (brand.hasAuthorization) { Action unboundAction = () => { brand.hasAuthorization = false; btnBindTip.TextID = StringId.Unbound; }; var page = new Iot_BrandFunctionListPage(brand); MainPage.BasePageView.AddChidren(page); page.unboundAction = unboundAction; page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else { Action action = () => { brand.hasAuthorization = true; btnBindTip.TextID = StringId.Bound; }; Action action2 = () => { brand.hasAuthorization = false; btnBindTip.TextID = StringId.Unbound; }; var page = new iot_BindTipPage(); MainPage.BasePageView.AddChidren(page); page.boundAction = action; page.unboundAction = action2; page.LoadPage(brand); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } }; btnRight.MouseUpEventHandler = eventHandler; row.MouseUpEventHandler = eventHandler; btnName.MouseUpEventHandler = eventHandler; btnBindTip.MouseUpEventHandler = eventHandler; } } } }