From b7724b7823c1172f30178c3628218acef90f84b6 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 02 六月 2020 12:01:34 +0800
Subject: [PATCH] 2020-06-2-1

---
 HDL_ON/UI/Music/MusicMain.cs |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 109 insertions(+), 3 deletions(-)

diff --git a/HDL_ON/UI/Music/MusicMain.cs b/HDL_ON/UI/Music/MusicMain.cs
index 1f4b697..dff60b5 100644
--- a/HDL_ON/UI/Music/MusicMain.cs
+++ b/HDL_ON/UI/Music/MusicMain.cs
@@ -12,6 +12,10 @@
         //public MusicListViewMain() {
         //    Frame = this;
         //}
+        public MusicMain()
+        {
+            Tag = "MusicMain";
+        }
         public override void RemoveFromParent()
         {
             base.RemoveFromParent();
@@ -103,7 +107,7 @@
                         if (obj == null)
                         {
                             ///杩欓噷瑕佽鍙栦富浠庡叧绯�
-                           // readServerOrClientMode(false);
+                            //readServerOrClientMode();
                             A31MusicModel.Save();
                             return;
                         }
@@ -139,7 +143,7 @@
             {
                 if (obj == null)
                 {
-                    //readServerOrClientMode(true);
+                    readServerOrClientMode();
                     A31MusicModel.Save();
                     Application.RunOnMainThread(() =>
                     {
@@ -195,6 +199,8 @@
             musicView.songNameBtn.Text = a31player.A31PlayStatus.Title;
             musicView.musicNameBtn.Text = a31player.Name;
             musicView.regionBtn.TextID = StringId.region;
+          
+
 
             EventHandler<MouseEventArgs> clickMergence = (sender, e) =>
             {
@@ -266,7 +272,14 @@
                     {
                         musicView.singerBtn.Text = a31player.A31PlayStatus.Artist;
                         musicView.songNameBtn.Text = a31player.A31PlayStatus.Title;
-                        musicView.musicNameBtn.Text = a31player.Name;
+                        if (a31player.ServerClientType == 1)
+                        {
+                            musicView.musicNameBtn.Text = a31player.MainPlayName;
+                        }
+                        else
+                        {
+                            musicView.musicNameBtn.Text = a31player.Name;
+                        }
                         if (a31player.A31PlayStatus.status == "play")
                         {
                             musicView.playBtn.IsSelected = true;
@@ -281,7 +294,100 @@
 
         }
 
+        /// <summary>
+        /// 璇诲彇涓讳粠鍏崇郴
+        /// </summary>
+        void readServerOrClientMode()
+        {
+            try
+            {
+                for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
+                {
+                    var a31player = A31MusicModel.A31MusicModelList[i];
+                    if (!a31player.IsOnLine)
+                    {
+                        continue;
+                    }
+                    try
+                    {
+                        a31player.ServerClientType = 0;
+                        var result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList");
+                        if (result == null)
+                        {
+                            result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList");
+                        }
+                        if (result != null)
+                        {
+                            a31player.Slave = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result);
+                        }
+                    }
+                    catch (Exception e)
+                    {
+                        var d = e.Message;
+                    }
+                }
 
+                //鍒嗘瀽涓讳粠鍏崇郴
+                for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
+                {
+                    var a31player = A31MusicModel.A31MusicModelList[i];
+                    if (!a31player.IsOnLine)
+                    {
+                        continue;
+                    }
+                    try
+                    {
+                        if (a31player.Slave != null && "0" != a31player.Slave.slaves)
+                        {
+                            a31player.ServerClientType = 1;//涓荤殑
+                            string str = a31player.Name;
+                            for (int j = 0; j < a31player.Slave.slave_list.Count; j++)
+                            {
+
+                                var slave = a31player.Slave.slave_list[j];
+                                str = str + "+" + slave.name;
+                                var tempA31Player = A31MusicModel.A31MusicModelList.Find((obj) => slave.uuid.Replace("uuid:", "") == obj.UniqueDeviceName);
+                                if (tempA31Player == null)
+                                {
+                                    A31MusicModel.A31MusicModelList.Add(new A31MusicModel
+                                    {
+                                        ServerClientType = -1,//浠庣殑
+                                        IPAddress = slave.ip,
+                                        MainPlayIP = a31player.IPAddress,
+                                        UniqueDeviceName = slave.uuid.Replace("uuid:", ""),
+                                        Name = slave.name,
+                                        IsCanShow = false,
+                                        IsOnLine = false,
+                                    });
+                                }
+                                //濡傛灉鎵惧埌灏辨洿鏂颁负浠庣殑
+                                else
+                                {
+                                    tempA31Player.ServerClientType = -1;//浠庣殑
+                                    tempA31Player.IPAddress = slave.ip;
+                                    tempA31Player.MainPlayIP = a31player.IPAddress;
+                                    tempA31Player.Name = slave.name;
+                                    tempA31Player.UniqueDeviceName = slave.uuid.Replace("uuid:", "");
+                                    tempA31Player.IsCanShow = false;
+                                    tempA31Player.IsOnLine = false;
+
+                                }
+                            }
+                            a31player.MainPlayName = str;
+                        }
+                    }
+                    catch (Exception e)
+                    {
+                        var ss = e.Message;
+                    }
+                }
+
+            }
+            catch (Exception e)
+            {
+                var ss = e.Message;
+            }
+        }
 
     }
 

--
Gitblit v1.8.0