wxr
2024-07-16 cbc156bc38d8b8eae7aef60cb186ab2b52fa701f
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>返回结果不会为null</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">遥控器id</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);//遥控器id
            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>返回结果不会为null</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);//遥控器id
            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">遥控器id</param>
        /// <param name="movieId">影片id</param>
        /// <param name="tipType">是否需要提示,默认提示</param>
        /// <returns>返回结果不会为null</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>
        ///请求服务器(与住宅有关:例如;homeId) 
@@ -347,6 +420,7 @@
        }
        /// <summary>
        /// <summary>
        /// 检验数据回复成功或者失败