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 | 262 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 167 insertions(+), 95 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
index cdbfed9..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,26 +122,25 @@
vv.EndHeaderRefreshing();
};
-
- CornerFramLayout imageFLayout = new CornerFramLayout(343, 20 * 168, 0);
- vv.AddChidren(imageFLayout);
- imageFLayout.X = Application.GetRealWidth(16);
- imageFLayout.SetList(imageFLayout.GetTestList(20));
- imageFLayout.LoadImagePage();
- 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()
@@ -174,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