From 0ee75b88cfe03e46289de0de96e8ed4580c797d3 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 27 九月 2022 14:04:21 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' into dev--wxr --- HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs | 115 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 98 insertions(+), 17 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs index 70026c6..50cdc79 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs @@ -6,22 +6,23 @@ using System.Text; using HDL_ON.DAL.Server; using HDL_ON.Entity; +using Newtonsoft.Json.Linq; using Shared; namespace HDL_ON.UI.Music { public class SendMethod { - private static SendMethod sMethod=null; - public static SendMethod mMethod + private static SendMethod s_Current = null; + public static SendMethod Current { get { - if (sMethod == null) + if (s_Current == null) { - sMethod = new SendMethod(); + s_Current = new SendMethod(); } - return sMethod; + return s_Current; } } @@ -44,7 +45,7 @@ { new System.Threading.Thread(() => { - DriverLayer.Control.Ins.SendWriteCommand(function, dic); + DriverLayer.Control.Ins.SendWriteCommand(function, dic, false, 0); }) { IsBackground = true }.Start(); } @@ -57,9 +58,9 @@ { try { - // RefreshDeviceStatus(functionIds); - a31Music.LastDateTime = DateTime.Now; - ///浠庣紦瀛橀噷闈㈡煡鎵鹃煶涔愭挱鏀惧櫒瀵硅薄<缂撳瓨鏁版嵁鏀跺埌鎺ㄩ�佽繃鏉ョ殑鐘舵�佷細鏇存柊缂撳瓨鏁版嵁> + //RefreshDeviceStatus(functionIds); + //a31Music.LastDateTime = DateTime.Now; + ///浠庣紦瀛橀噷闈㈡煡鎵鹃煶涔愭挱鏀惧櫒瀵硅薄<鏀跺埌鎺ㄩ�佽繃鏉ョ殑鐘舵�佷細鏇存柊缂撳瓨鏁版嵁> var allLocalFuntion = FunctionList.List.GetDeviceFunctionList(); var localFunction = allLocalFuntion.Find((obj) => obj.sid == sid); if (localFunction == null) @@ -84,7 +85,7 @@ Dictionary<string, object> d = new Dictionary<string, object>(); d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); d.Add("deviceIds", functionIds); - var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_RefreshDeviceStatus); + var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_RefreshDeviceStatus, "鍒锋柊璁惧鐘舵��"); if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "") { return; @@ -120,8 +121,8 @@ Dictionary<string, object> d = new Dictionary<string, object>(); d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); d.Add("deviceIds", new List<string> { music.deviceId }); - var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_PlayerList); - if (responsePackNew.Code != "0"||responsePackNew.Data == null ||responsePackNew.Data.ToString() == "") + var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_PlayerList, "鑾峰彇闊充箰鍒楄〃"); + if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "") { return; } @@ -143,16 +144,96 @@ } } - + /// <summary> + /// 鑾峰彇鍒楄〃鍚嶅垪琛� + /// </summary> + /// <param name="music"></param> + /// <returns></returns> + public List<GroupList> GetListName(Function music) + { + try + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); + d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); + d.Add("deviceIds", new List<string> { music.deviceId }); + var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_GroupList, "鑾峰彇鍒楄〃鍚嶅垪琛�"); + if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "") + { + return new List<GroupList>(); + } + //鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄 + var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data); + var groupLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupList>>(str); + if (groupLists == null) + { + groupLists = new List<GroupList>(); + } + return groupLists; + } + catch + { + return new List<GroupList>(); + } + } + /// <summary> + /// 鑾峰彇鍒楄〃闊充箰 + /// </summary> + /// <param name="music"></param> + /// <param name="listName">鍒楄〃鍚�</param> + /// <returns></returns> + public PalyList GetListMusic(Function music, string listName) + { + try + { + Dictionary<string, object> d = new Dictionary<string, object>(); + Dictionary<string, object> d1 = new Dictionary<string, object>(); + Dictionary<string, object> d2 = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); + d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); + d2.Add("group", listName); + d1.Add("sid", music.sid); + d1.Add("groupList", new List<Dictionary<string, object>> { d2 }); + d.Add("sidGroups", new List<Dictionary<string, object>> { d1 }); + + var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_GroupPlayerList, "鑾峰彇鍒楄〃闊充箰"); + if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "") + { + return new PalyList(); + } + //鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄 + var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data); + var palyLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PalyListInfo>>(str); + if (palyLists == null) + { + palyLists = new List<PalyListInfo>(); + } + + if (palyLists.Count == 0) + { + return new PalyList(); + } + //榛樿绗竴涓垪琛ㄩ噷闈㈢涓�涓煶涔愬垪琛� + return palyLists[0].playlist.Count > 0 ? palyLists[0].playlist[0] : new PalyList(); + + } + catch + { + return new PalyList(); + } + } + /// <summary> ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� /// </summary> + /// <param name="o">鍙戦�佹暟鎹�</param> + /// <param name="api_Url">璇锋眰鍦板潃(涓嶆槸缁濆鍦板潃)</param> + /// <param name="tag">鏍囪->鎻忚堪鎺ュ彛(鑷畾涔�)</param> /// <returns></returns> - public ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5) + public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag, int mTimeout = 5) { - var requestJson = HttpUtil.GetSignRequestJson(o); - return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout); - + JObject jobject = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(o)); + return UI2.Intelligence.Automation.Send.Current.RequestServerhomeId(jobject, api_Url, tag, mTimeout); } } } -- Gitblit v1.8.0