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