From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 16 七月 2024 13:59:56 +0800
Subject: [PATCH] 增加全部挂断

---
 HDL_ON/UI/UI2/FuntionControlView/Aks/SendMethod.cs |  118 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 96 insertions(+), 22 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/SendMethod.cs
index cc599f9..0b0e43a 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/SendMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/SendMethod.cs
@@ -7,6 +7,7 @@
 using HDL_ON.Entity;
 using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
 using Newtonsoft.Json.Linq;
+using RestSharp;
 
 namespace HDL_ON.UI.UI2.FuntionControlView.Aks
 {
@@ -34,7 +35,7 @@
             }
 
         }
-
+        public const int pageSize=20;
 
         #region  ------鏃跺簭鍣�-------
         /// <summary>
@@ -95,7 +96,7 @@
         /// <param name="deviceId">璁惧id</param>
         /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
         /// <returns>杩斿洖缁撴灉涓嶄細涓簄ull</returns>
-        public List<RemoteControlEntity> GetRemoteControlLits(string deviceId,TipType tipType = TipType.flicker) 
+        public List<RemoteControlEntity> GetRemoteControlLits(string deviceId, TipType tipType = TipType.flicker)
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
@@ -105,12 +106,21 @@
             {
                 return new List<RemoteControlEntity>();
             }
-            var RemoteControlEntityList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RemoteControlEntity>>(responsePackNew.Data.ToString());
-            if (RemoteControlEntityList == null)
-            { 
+            var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RemoteControlEntity>>(responsePackNew.Data.ToString());
+            if (list == null)
+            {
                 return new List<RemoteControlEntity>();
             }
-            return RemoteControlEntityList;
+            if (list.Count > 0)
+            {
+                for (int i = 0; i < list.Count; i++)
+                {
+                    var remoteControl = list[i];
+                    remoteControl.deviceId = deviceId;
+                }
+            }
+          
+            return list;
         }
 
         /// <summary>
@@ -119,16 +129,23 @@
         /// <param name="deviceId">璁惧id</param>
         /// <param name="rcId">閬ユ帶鍣╥d</param>
         /// <param name="keypad"><鎸夐敭鏍囪瘑/param>
+        /// <param name="keyName"><鎸夐敭鍚嶇О(鎵撳嵃鐢ㄧ殑)/param>
+        /// <param name="isSupport"><鏄惁鏀寔鎺у埗/param>
         /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
-        public bool KeypadExecute(string deviceId, string rcId, string keypad, TipType tipType = TipType.flicker)
+        public bool KeypadExecute(string deviceId, string rcId, string keypad, string keyName, bool isSupport, TipType tipType = TipType.flicker)
         {
+
+            //if (!isSupport) {
+            //    CommonMethod.Current.ShowTip("鎸夐敭涓嶆敮鎸�.", 3);
+            //    return false;
+            //}
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
             d.Add("deviceId", deviceId);//璁惧id
             d.Add("rcId", rcId);//閬ユ帶鍣╥d
             d.Add("keypad", keypad);//鎸夐敭鏍囪瘑
             //d.Add("zoneType", deviceId);//鍖哄煙
-            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(d,NewAPI.Api_Post_Aks_KeypadExecute, "閬ユ帶鍣ㄦ寜閿墽琛�");
+            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(d,NewAPI.Api_Post_Aks_KeypadExecute, $"閬ユ帶鍣ㄣ�恵keyName}銆戞寜閿墽琛�");
             if (!this.DataChecking(responsePackNew, tipType))
             {
                 return false;
@@ -161,7 +178,18 @@
             if (list == null)
             {
                 return new List<FilterCategoryEntity>();
-            } 
+            }
+            if (list.Count > 0)
+            {
+                for (int i = 0; i < list.Count; i++)
+                {
+                    var filterCategory = list[i];
+                    foreach (var o in filterCategory.filters)
+                    {
+                        o.category = filterCategory.category;
+                    }
+                }
+            }
             return list;
         }
 
@@ -174,27 +202,32 @@
         /// <param name="pageNo">褰撳墠椤�</param>
         /// <param name="pageSize">椤垫暟</param>
         /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
-        public List<MovieLibrary> GetMovieLibraryPage(string deviceId, string rcId, List<FilterCategorys> filterCategorys, int pageNo, int pageSize, TipType tipType = TipType.flicker)
+        /// <returns>杩斿洖缁撴灉涓嶄細涓簄ull</returns>
+        public List<MovieLibrary> GetMovieLibraryPage(string deviceId, string rcId, List<Filters> filterCategorys,  int pageNo, int pageSize, TipType tipType = TipType.flicker)
         {
 
             JObject jObject = new JObject();
-            JArray jArray = new JArray();
+        
             jObject.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
             jObject.Add("deviceId", deviceId);//璁惧id
             jObject.Add("rcId", rcId);//閬ユ帶鍣╥d
-
-            foreach (var filter in filterCategorys)
+            if (filterCategorys != null && filterCategorys.Count != 0)
             {
-                JObject obj = new JObject();
-                obj.Add("category", filter.category);
-                obj.Add("filterValue", filter.filterValue);
-                jArray.Add(obj);
+                //杩囨护鍒嗙被鏁版嵁
+                JArray jArray = new JArray();
+                foreach (var filter in filterCategorys)
+                {
+                    JObject obj = new JObject();
+                    obj.Add("category", filter.category);
+                    obj.Add("filterValue", filter.filterValue);
+                    jArray.Add(obj);
+                }
+                jObject.Add("filterCategorys", jArray);//鎸夐敭鏍囪瘑
             }
-            jObject.Add("filterCategorys", jArray);//鎸夐敭鏍囪瘑
             jObject.Add("pageNo", pageNo);//褰撳墠椤�
             jObject.Add("pageSize", pageSize);//椤垫暟
             //d.Add("zoneType", deviceId);//鍖哄煙
-            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject.ToString(), NewAPI.Api_Post_Aks_MovieLibraryPage, "褰辩墖鍒嗛〉鑾峰彇");
+            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject, NewAPI.Api_Post_Aks_MovieLibraryPage, "褰辩墖鍒嗛〉鑾峰彇");
             if (!this.DataChecking(responsePackNew, tipType))
             {
                 return new List<MovieLibrary>();
@@ -216,6 +249,7 @@
         /// <param name="rcId">閬ユ帶鍣╥d</param>
         /// <param name="movieId">褰辩墖id</param>
         /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
+        /// <returns>杩斿洖缁撴灉涓嶄細涓簄ull</returns>
         public MovieLibraryInfoEntity GetMovieLibraryInfo(string deviceId, string rcId, string movieId, TipType tipType = TipType.flicker)
         {
 
@@ -226,7 +260,7 @@
             jObject.Add("movieId", movieId);//褰辩墖id
             //d.Add("zoneType", deviceId);//鍖哄煙
 
-            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject.ToString(), NewAPI.Api_Post_Aks_MovieLibraryInfo, "褰辩墖璇︽儏鑾峰彇");
+            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject, NewAPI.Api_Post_Aks_MovieLibraryInfo, "褰辩墖璇︽儏鑾峰彇");
             if (!this.DataChecking(responsePackNew, tipType))
             {
                 return new MovieLibraryInfoEntity();
@@ -236,6 +270,8 @@
             {
                 return new MovieLibraryInfoEntity();
             }
+            movieLibraryEntity.rcId = rcId;
+            movieLibraryEntity.deviceId = deviceId;
             return movieLibraryEntity;
         }
 
@@ -260,7 +296,7 @@
             jObject.Add("collect", collect);//褰辩墖id
             //d.Add("zoneType", deviceId);//鍖哄煙
 
-            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject.ToString(), NewAPI.Api_Post_Aks_MovieLibraryCollect, "褰辩墖鏀惰棌");
+            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject, NewAPI.Api_Post_Aks_MovieLibraryCollect, "褰辩墖鏀惰棌");
             if (!this.DataChecking(responsePackNew, tipType))
             {
                 return false;
@@ -290,7 +326,7 @@
             jObject.Add("pageNo", pageNo);//褰撳墠椤�
             jObject.Add("pageSize", pageSize);//椤垫暟
             //d.Add("zoneType", deviceId);//鍖哄煙
-            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject.ToString(), NewAPI.Api_Post_Aks_Controlist, "鏀惰棌褰辩墖鍒嗛〉鑾峰彇");
+            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject, NewAPI.Api_Post_Aks_MovieLibraryCollectPage, "鏀惰棌褰辩墖鍒嗛〉鑾峰彇");
             if (!this.DataChecking(responsePackNew, tipType))
             {
                 return new List<MovieLibrary>();
@@ -328,7 +364,44 @@
             return true;
         }
 
+        /// <summary>
+        /// 鑾峰彇褰辩墖鍥剧墖
+        /// </summary>
+        /// <param name="imageUrl">鍥剧墖鍦板潃</param>
+        public byte[] GetImage(string imageUrl, int mTimeout = 3)
+        {
+            return RequestHttpsBase(imageUrl, mTimeout);
+        }
+
         #endregion
+
+
+        /// <summary>
+        /// 缃戠粶璇锋眰
+        /// </summary>
+        /// <param name="mTimeout"></param>
+        /// <returns></returns>
+        private byte[] RequestHttpsBase(string imageUrl, int mTimeout = 3)
+        {
+
+            try
+            {
+                Log($"{DateTime.Now}->鍙戦��->鑾峰彇褰辩墖璧勬簮", imageUrl, "");
+                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)
+            {
+                return null;
+            }
+
+
+        }
 
         /// <summary>
         ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
@@ -347,6 +420,7 @@
 
         }
 
+
         /// <summary>
         /// <summary>
         /// 妫�楠屾暟鎹洖澶嶆垚鍔熸垨鑰呭け璐�

--
Gitblit v1.8.0