From ff423b88a0dc521932305b5bd44b1786d3e42722 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 10 八月 2023 18:48:02 +0800 Subject: [PATCH] 2023年08月10日18:47:45 --- HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs | 261 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 167 insertions(+), 94 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs index e10a4f5..cd1c0af 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs @@ -6,48 +6,75 @@ using HDL_ON.Entity; using HDL_ON.DriverLayer; using HDL_ON.UI.Music; -using HDL_ON.UI.UI2.Intelligence.Automation; using System.Linq; using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; +using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; +using HDL_ON.DAL.Server; +using System.Net; +using System.IO; +using RestSharp; namespace HDL_ON.UI.UI2.FuntionControlView.Aks { /// <summary> /// 褰卞簱鐣岄潰 /// </summary> - public class YkPage:FrameLayout + public class YkPage : FrameLayout { - + + /// <summary> + /// + /// </summary> + /// <param name="remoteControlEntity">閬ユ帶鍣ㄥ璞�</param> + public YkPage(RemoteControlEntity remoteControlEntity) + { + this.remoteControl = remoteControlEntity; + } + /// <summary> + /// 褰辩墖鍒嗙被鍒楄〃 + /// </summary> + List<FilterCategoryEntity> mFilterCategoryList; + /// <summary> + /// 褰辩墖鍒楄〃 + /// </summary> + List<MovieLibrary> mMovieLibraryList; + /// <summary> + /// 褰撳墠鐨勯仴鎺у櫒瀵硅薄 + /// </summary> + RemoteControlEntity remoteControl; /// <summary> /// 澶撮儴甯冨眬 /// </summary> - private TopView topView; + TopView topView; + + FrameLayout fLayout; /// <summary> - /// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟 + /// 褰辩墖涓婁笅婊戝姩鐖跺鍣� /// </summary> - public Action action; + VerticalRefreshLayout vv; + /// <summary> + /// 姘村钩婊戝姩鐖跺鍣� + /// </summary> + CornerFramLayout horizontalFl; + + CornerFramLayout imageFLayout; - public YkPage() - { - } public void Show() { //鍒濆鍖朥I - this.InitTop(); - this.InitMiddle(); + this.InitUI(); //鍒濆鍖栦簨浠剁洃鍚櫒 this.EventListener(); //璇诲彇鏁版嵁 + this.ReadData(); } - - /// <summary> - /// 鍒濆鍖栧ご閮ㄧ晫闈� + /// 鍒濆鍖栫晫闈� /// </summary> - private void InitTop() + private void InitUI() { this.BackgroundColor = MusicColor.ViewColor; this.topView = new TopView(); @@ -57,74 +84,36 @@ this.topView.setBtn.UnSelectedImagePath = "Collection/CollectionGrayIcon.png"; this.topView.topNameBtn.TextID = StringId.yingku; this.AddChidren(topView.TopFLayoutView()); - } - /// <summary> - /// 鍒濆鍖栦腑閮ㄧ晫闈� - /// </summary> - private void InitMiddle() - { - - var fLayout = new FrameLayout { + fLayout = new FrameLayout + { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), BackgroundColor = MusicColor.WhiteColor, }; this.AddChidren(fLayout); - - BaseFramLayout typeFLayout = new BaseFramLayout(); - fLayout.AddChidren(typeFLayout); - int span= 20;//闂撮殧 - int x= 16;//X杞村亸绉婚噺 - int width =375-x; - int height = 28; - HorizontalFramLayout horizontalFram = new HorizontalFramLayout(width, height); - typeFLayout.AddChidren(horizontalFram); - horizontalFram.Y = Application.GetRealHeight(span); - horizontalFram.X = Application.GetRealHeight(x); - horizontalFram.SetIndex(2); - horizontalFram.SetList(horizontalFram.GetTestData); - horizontalFram.InitControl(); - horizontalFram.SelectTypeEvent += (index) => { - Console.WriteLine("1"); - - }; - HorizontalFramLayout horizontalFram1 = new HorizontalFramLayout(width, height); - typeFLayout.AddChidren(horizontalFram1); - horizontalFram1.Y = horizontalFram.Bottom + Application.GetRealHeight(span); - horizontalFram1.X = Application.GetRealHeight(x); - horizontalFram1.SetIndex(2); - horizontalFram1.SetList(horizontalFram1.GetTestData); - horizontalFram1.InitControl(); - horizontalFram1.SelectTypeEvent += (index) => { - Console.WriteLine("2"); - - }; - HorizontalFramLayout horizontalFram2 = new HorizontalFramLayout(width, height); - typeFLayout.AddChidren(horizontalFram2); - horizontalFram2.Y = horizontalFram1.Bottom + Application.GetRealHeight(span); - horizontalFram2.X = Application.GetRealHeight(x); - horizontalFram2.SetIndex(2); - horizontalFram2.SetList(horizontalFram2.GetTestData); - horizontalFram2.InitControl(); - horizontalFram2.SelectTypeEvent += (index) => { - Console.WriteLine("3"); - }; - HorizontalFramLayout horizontalFram3 = new HorizontalFramLayout(width, height); - typeFLayout.AddChidren(horizontalFram3); - horizontalFram3.Y = horizontalFram2.Bottom + Application.GetRealHeight(span); - horizontalFram3.X = Application.GetRealHeight(x); - horizontalFram3.SetIndex(2); - horizontalFram3.SetList(horizontalFram3.GetTestData); - horizontalFram3.InitControl(); - horizontalFram3.SelectTypeEvent += (index) => { - Console.WriteLine("4"); - }; - typeFLayout.AdjustRealHeight(); - - var vv = new VerticalRefreshLayout() + this.LoadFTypeLayout(); + } + /// <summary> + /// 鍔犺浇绫诲瀷甯冨眬 + /// </summary> + private void LoadFTypeLayout() + { + if (fLayout == null) { - Y = typeFLayout.Bottom, - Height = fLayout.Height- typeFLayout.Bottom, + return; + } + fLayout.RemoveAll(); + int count = this.mFilterCategoryList == null ? 0 : this.mFilterCategoryList.Count; + horizontalFl = new CornerFramLayout(375, count * 75); + fLayout.AddChidren(horizontalFl); + + horizontalFl.LoadHorizontalPage(this.mFilterCategoryList); + horizontalFl.AdjustRealHeight(20); + + vv = new VerticalRefreshLayout() + { + Y = horizontalFl.Bottom, + Height = fLayout.Height - horizontalFl.Bottom, }; fLayout.AddChidren(vv); vv.BeginHeaderRefreshingAction += () => @@ -133,25 +122,25 @@ vv.EndHeaderRefreshing(); }; - - CornerFramLayout imageFLayout = new CornerFramLayout(343, 20 * 168, 0); - vv.AddChidren(imageFLayout); - imageFLayout.X = Application.GetRealWidth(16); - imageFLayout.LoadImagePage(new List<Entity.KeypadEntity>()); - imageFLayout.selectAction += (index) => - { - CommonMethod.Current.MainThread(() => - { - DetailPage detailPage = new DetailPage(); - MainPage.BasePageView.AddChidren(detailPage); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - detailPage.Show(); - }); - - }; - imageFLayout.AdjustRealHeight(16); + LoadImageFLayout(); } /// <summary> + /// 鍔犺浇褰辩墖鍒楄〃甯冨眬 + /// </summary> + private void LoadImageFLayout() + { + + if (vv == null) + { + return; + } + vv.RemoveAll(); + imageFLayout = new CornerFramLayout(343, 20 * 168, 0); + vv.AddChidren(imageFLayout); + imageFLayout.X = Application.GetRealWidth(16); + imageFLayout.LoadImagePage(this.mMovieLibraryList); + imageFLayout.AdjustRealHeight(16); + } /// 娉ㄥ唽浜嬩欢 /// </summary> private void EventListener() @@ -173,7 +162,91 @@ collectPage.Show(); }); }; + //浜岀骇杩囨护浜嬩欢 + horizontalFl.selectAction += (filters) => + { + + + }; + //褰辩墖浜嬩欢 + imageFLayout.selectAction += (index) => + { + CommonMethod.Current.MainThread(() => + { + DetailPage detailPage = new DetailPage(); + MainPage.BasePageView.AddChidren(detailPage); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + detailPage.Show(); + }); + + }; } + /// <summary> + /// 鍒濆鏁版嵁 + /// </summary> + private void ReadData() + { + CommonMethod.Current.Loading.Start(); + CommonMethod.Current.SunThread(() => + { + try + { + this.mFilterCategoryList = SendMethod.Current.GetFilterCategoryLits(this.remoteControl.deviceId, this.remoteControl.rcId); + this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), 1, SendMethod.pageSize); + for (int i = 0; i < this.mMovieLibraryList.Count; i++) + { + var mMovieLibrary = this.mMovieLibraryList[i]; + var bytes = RequestHttpsBase(mMovieLibrary.posterUrl); + mMovieLibrary.imageBytes = bytes; + + } + } + catch { } + finally + { + CommonMethod.Current.MainThread(() => + { + CommonMethod.Current.Loading.Hide(); + LoadFTypeLayout(); + + }); + } + }); + + + + } + + + + + /// <summary> + /// 缃戠粶璇锋眰 + /// </summary> + /// <param name="mTimeout"></param> + /// <returns></returns> + private byte[] RequestHttpsBase(string imageUrl, int mTimeout = 5) + { + + try + { + RestClient client = new RestClient(imageUrl); + RestRequest request = new RestRequest(Method.GET); + request.Timeout = mTimeout * 1000; + //request.AddHeader("content-type", "application/json"); + IRestResponse response = client.Execute(request); + return response.RawBytes; + + } + catch (Exception ex) + { + HDL_ON.Utlis.WriteLine(ex.Message); + return null; + } + + + } + } } -- Gitblit v1.8.0