From 7b96ea115d51fb721130fef8622500740dea7b08 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 25 八月 2022 18:06:29 +0800
Subject: [PATCH] 2022年08月25日18:06:27

---
 HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs |  108 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 94 insertions(+), 14 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
index 70026c6..d37b603 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
@@ -12,16 +12,16 @@
 {
     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,11 +44,12 @@
         {
             new System.Threading.Thread(() =>
             {
-                DriverLayer.Control.Ins.SendWriteCommand(function, dic);
+                DriverLayer.Control.Ins.SendWriteCommand(function, dic,false,0);
             })
             { IsBackground = true }.Start();
         }
-
+        //璁板綍姝屾洸鎾斁鏃堕棿
+        private int songPlayTime = -1;
         /// <summary>
         /// 鑾峰彇璁惧鏈�鏂扮殑鐘舵��
         /// </summary>
@@ -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)
@@ -68,6 +69,13 @@
                 }
                 ///鏇存柊鐨勬暟鎹�
                 a31Music.functionMusic = localFunction;
+                if (int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(UI2.FuntionControlView.Music.KeyProperty.playing_time)) != songPlayTime)
+                {
+                    ///姝屾洸璁板綍鏃堕棿鍜屽綋鍓嶆椂闂翠笉涓�鏍凤紝绔嬪嵆鏇存柊鏁版嵁鍙嶉鏃堕棿
+                    a31Music.LastDateTime = DateTime.Now;
+                    ///姝屾洸璁板綍鏃堕棿鍜屽綋鍓嶆椂闂翠笉涓�鏍凤紝绔嬪嵆鏇存柊姝屾洸鎾斁鏃堕棿
+                    songPlayTime = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(UI2.FuntionControlView.Music.KeyProperty.playing_time));
+                }
 
             }
             catch { }
@@ -89,6 +97,7 @@
                 {
                     return;
                 }
+
             }
             catch { }
         }
@@ -121,7 +130,7 @@
                 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() == "")
+                if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "")
                 {
                     return;
                 }
@@ -130,7 +139,7 @@
                 var palyLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PalyListInfo>>(str);
                 if (palyLists == null)
                 {
-                    palyLists =new List<PalyListInfo>();
+                    palyLists = new List<PalyListInfo>();
                 }
                 if (palyLists.Count > 0)
                 {
@@ -143,12 +152,83 @@
             }
 
         }
-       
+        /// <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<PalyList>(str);
+                if (palyLists == null)
+                {
+                    palyLists = new PalyList();
+                }
+                return palyLists;
+            }
+            catch
+            {
+                return new PalyList();
+            }
+        }
+
         /// <summary>
         ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
         /// </summary>
         /// <returns></returns>
-        public  ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5)
+        public ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5)
         {
             var requestJson = HttpUtil.GetSignRequestJson(o);
             return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);

--
Gitblit v1.8.0