From f37f3a667bd81f78736e381717b82f632cb1fdeb Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期三, 10 六月 2020 15:52:57 +0800
Subject: [PATCH] test

---
 ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs |  388 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 212 insertions(+), 176 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs
index 8e14711..46835de 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs
@@ -1,7 +1,12 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using Newtonsoft.Json.Linq;
 using Shared.Common;
 using Shared.Phone.UserCenter.Device;
+using Shared.Phone.UserCenter.SmartSound.Util;
+using Shared.Phone.UserCenter.SmartSound.Widget;
 using ZigBee.Device;
 
 namespace Shared.Phone.UserCenter.SmartSound
@@ -13,40 +18,39 @@
         {
         }
 
-        private List<SmartSound> smartSoundList = null;
+        private SmartSoundInfo smartSoundInfo = null;
 
-        /// <summary>
-        /// 鍒楄〃鎺т欢
-        /// </summary>
-        private VerticalListRefreshControl listView = null;
-        /// <summary>
-        /// 鍓嶄竴娆℃樉绀哄嚭宸︽粦鑿滃崟鐨凴owLayout
-        /// </summary>
+        /// <summary>
+        /// 鍒楄〃鎺т欢
+        /// </summary>
+        private VerticalListRefreshControl listView = null;
+        /// <summary>
+        /// 鍓嶄竴娆℃樉绀哄嚭宸︽粦鑿滃崟鐨凴owLayout
+        /// </summary>
         private RowLayoutControl oldShowRightMuneRow = null;
 
+        private static string dataString = "";
 
-        #region 鈻� 鍒濆鍖朹____________________________
 
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            iniData();//鍏堝姞杞芥ā鎷熸暟鎹�
-
-            this.ScrollEnabled = false;
-
-            //璁剧疆鏍囬淇℃伅
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+
+            this.ScrollEnabled = false;
+
+            //璁剧疆鏍囬淇℃伅
             base.SetTitleText("鏅鸿兘闊崇");
             Dictionary<string, string> floorDictionary = Config.Instance.Home.FloorDics;//妤煎眰鍒楄〃
 
             var helpBtn = new MyButton();
-            //helpBtn.TextSize = 15;
             helpBtn.TextColor = UserCenterColor.Current.TextOrangeColor;
             helpBtn.Text = "甯姪";
             helpBtn.Gravity = Gravity.CenterRight;
             helpBtn.TextAlignment = TextAlignment.CenterRight;
-            //helpBtn.BackgroundColor = UserCenterColor.Current.BlackBackGround;
             topFrameLayout.AddChidren(helpBtn);
             helpBtn.X -= Application.GetRealWidth(58);
 
@@ -54,27 +58,28 @@
             this.InitMiddleFrame();
 
             helpBtn.MouseUpEventHandler += (sernder, e) =>
-            {
-                //杩欓噷鏄姞杞藉府缁勭殑鐣岄潰
-            };
+            {
+                //鐢熸垚涓�涓脊绐楃敾闈�
+                var dialogForm = new TextDialog("缁戝畾鏅鸿兘闊崇鍒扮涓夋柟 APP 杩涜鎿嶄綔", "璺宠浆鑷冲皬搴�");
+                dialogForm.SetTitleText("甯姪");
 
-            string room_id = Common.Config.Instance.Home.Id;//浣忓畢 ID
-            string gu_id = Common.Config.Instance.Guid;           
+                //鎸変笅纭鎸夐挳
+                dialogForm.ComfirmClickEvent += () =>
+                {
+                    //鐢婚潰鍏抽棴
+                    dialogForm.CloseDialog();
+                };
+            };                       
+        }
 
-            Console.WriteLine("room_id =" + room_id);
-            Console.WriteLine("gu_id =" + gu_id);                       
-
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄦ帶浠�(澶栭儴鍙互璋冪敤)
-        /// </summary>
-        /// <param name="i_reGetDeviceOnlineStatu">閲嶆柊鑾峰彇璁惧鐨勫湪绾跨姸鎬�</param>
-        public void InitMiddleFrame()
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄦ帶浠�(澶栭儴鍙互璋冪敤)
+        /// </summary>
+        /// <param name="i_reGetDeviceOnlineStatu">閲嶆柊鑾峰彇璁惧鐨勫湪绾跨姸鎬�</param>
+        public void InitMiddleFrame()
         {
-            // show鍑烘病鏈夎澶囩殑鍥炬爣鏂囧瓧鎻愮ず
-            this.ShowNotDataImage(bodyFrameLayout, new string[] { "杩樻病鏈夐煶绠卞摝锛�", "缁戝畾鏅鸿兘闊崇璇峰墠寰�绗笁鏂� APP 杩涜鎿嶄綔" });
-
+            this.ClearBodyFrame();
+           
             var frame = new FrameLayout();
             this.bodyFrameLayout.AddChidren(frame);
             frame.BackgroundColor = UserCenterColor.Current.White;
@@ -82,92 +87,140 @@
             frame.Height = this.bodyFrameLayout.Height;
 
             // 鍒濆鍖� lisetView
-            listView = new VerticalListRefreshControl(29);
-            listView.Y = 0;
-            listView.Height = bodyFrameLayout.Height;
-            frame.AddChidren(listView);
-            listView.BeginHeaderRefreshingAction += () =>
-            {
-                HdlThreadLogic.Current.RunThread(() =>
-                {
-                    //涓嬫媺鍒锋柊
-                    iniView();
-
+            listView = new VerticalListRefreshControl(29);
+            listView.Y = 0;
+            listView.Height = bodyFrameLayout.Height;
+            frame.AddChidren(listView);
+            listView.BeginHeaderRefreshingAction += () =>
+            {
+                HdlThreadLogic.Current.RunThread(() =>
+                {
                     HdlThreadLogic.Current.RunMain(() =>
                     {
                         //闅愯棌涓嬫媺鍒锋柊鐗规晥
                         listView.EndHeaderRefreshing();
-                    });
-
-                });
+                        this.InitMiddleFrame();
+                    });
+                });
             };
 
-            iniView();
-        }
-
-        private void iniView()
-        {
-            //
-            listView.RemoveAll();
-
-            if (smartSoundList == null)
-                return;
-
-            for (int i = 0; i < smartSoundList.Count; i++)
-            {
-                //
-                var smartSound = smartSoundList[i];
-                var row = new SoundRowLayout();
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                this.ShowProgressBar();
+                await getData();
+
+                HdlThreadLogic.Current.RunMainInThread(() =>
+                {
+                    iniView();
+
+                    if (smartSoundInfo == null || smartSoundInfo.ResponseData == null || smartSoundInfo.ResponseData.RowCount == 0)
+                    {
+                        // show鍑烘病鏈夎澶囩殑鍥炬爣鏂囧瓧鎻愮ず
+                        this.ShowNotDataImage(bodyFrameLayout, new string[] { "杩樻病鏈夐煶绠卞摝锛�", "缁戝畾鏅鸿兘闊崇璇峰墠寰�绗笁鏂� APP 杩涜鎿嶄綔" });
+                    }
+
+                    this.CloseProgressBar();
+                });                
+            });           
+        }
+       
+        /// <summary>
+        /// 鑾峰彇闊崇鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        private async Task getData()
+        {
+            //SmartSoundInfo.Auth auth = new SmartSoundInfo.Auth();
+            //auth.HomeID = Common.Config.Instance.Home.Id;
+            //auth.UserID = Common.Config.Instance.Guid;
+            //auth.Platform = "";
+            string url = string.Format("https://developer.hdlcontrol.com/zigbeespeakerservice/Auth?Platform&PageSetting.PageSize=100&PageSetting.PageIndex=1&UserID={0}&HomeID={1}",
+                Common.Config.Instance.Guid,Common.Config.Instance.Home.Id);
+            
+            dataString = await MyHttpWebResponse.GetWebRequest(url);
+            
+            smartSoundInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<SmartSoundInfo>(dataString);
+            
+        }
+
+        /// <summary>
+        /// 璁剧疆澶囨敞
+        /// </summary>
+        /// <param name="soundInfo"></param>
+        /// <param name="new_remark"></param>
+        /// <returns></returns>
+        private async Task<string> setRemark(SmartSoundInfo.SoundInfo soundInfo, string new_remark)
+        {
+            
+            if (soundInfo == null)
+                return "";
+
+            string url = "https://developer.hdlcontrol.com/zigbeespeakerservice/Auth";
+            string json = "{" +
+                "\"AuthID\":" + "\"" + soundInfo.Id + "\"" + "," +
+                "\"Remark\":" + "\"" + new_remark + "\"" + "," +
+                "\"UserID\":" + "\"" + soundInfo.UserID + "\"" + "," +
+                "\"HomeID\":" + "\"" + soundInfo.HomeID + "\"" + "}";
+
+            string response_str = await MyHttpWebResponse.PutWebRequest(url, json, Encoding.UTF8);
+            JObject jObject = JObject.Parse(response_str);
+            
+            return jObject["StateCode"].ToString();
+        }
+
+        private void iniView()
+        {
+            //
+            listView.RemoveAll();
+
+            if (smartSoundInfo == null)
+                return;
+
+            for (int i = 0; i < smartSoundInfo.ResponseData.Data.Count; i++)
+            {
+                //
+                var smartSound = smartSoundInfo.ResponseData.Data[i];
+                var row = new SoundRowLayout();
                 listView.AddChidren(row);
 
-                switch (smartSound.Type)
-                {
-                    case SmartSound.SMARTSOUND_XIAODU:
-                        row.Account = "灏忓害锛�" + smartSound.UserName;
-                        row.ImagePath = "SmartSound/Xiaodu.png";
-                        row.Remark = smartSound.Remark;
-                        break;
-                    case SmartSound.SMARTSOUND_XIAOAI:
-                        row.Account = "灏忕埍锛�" + smartSound.UserName;
-                        row.ImagePath = "SmartSound/Xiaoai.png";
-                        row.Remark = smartSound.Remark;
-                        break;
-                    case SmartSound.SMARTSOUND_TIANMAO:
-                        row.Account = "澶╃尗绮剧伒锛�" + smartSound.UserName;
-                        row.ImagePath = "SmartSound/Tianmao.png";
-                        row.Remark = smartSound.Remark;
-                        break;
+                if (smartSound.Platform == "Baidu")
+                {
+                    row.Account = "灏忓害锛�" + smartSound.UserName;
+                    row.ImagePath = "SmartSound/Xiaodu.png";
+                    row.Remark = smartSound.Remark;
                 }
 
                 row.InitControl();
                 row.btnDelect.AddTag("index", i);
                 row.btnRename.AddTag("index", i);
+                row.frameTable.AddTag("index", i);
 
                 //閲嶅懡鍚�
-                row.btnRename.ButtonClickEvent += (sender, e) =>
+                row.btnRename.ButtonClickEvent += (sender, e) =>
                 {
-                    //
-                    int index = (int)(((NormalViewControl)sender).GetTagByKey("index"));
-                    var smartSound = smartSoundList[index];
+                    int index = (int)((NormalViewControl)sender).GetTagByKey("index");
+                    var smartSound = smartSoundInfo.ResponseData.Data[index];
                     ShowRenameDialog(row, smartSound);
+                };
 
-                };
-
-                // 瑙i櫎缁戝畾
+                // 瑙i櫎缁戝畾
                 row.btnDelect.ButtonClickEvent += (sender, e) =>
                 {
-                    //
                     int index = (int)(((NormalViewControl)sender).GetTagByKey("index"));
                     ShowDelectDialog(index);
                 };
 
-                //璺宠浆鍒版帶鍒跺唴瀹圭晫闈�
+                //璺宠浆鍒版帶鍒跺唴瀹圭晫闈�  FrameRowControl
                 row.frameTable.ButtonClickEvent += (sender, e) =>
                 {
-                    var smartSoundControlForm = new SmartSoundControlForm();
+                    int index = (int)row.frameTable.GetTagByKey("index");
+                    if (SmartSound.getInstantiate().LayerList != null)
+                        SmartSound.getInstantiate().LayerList.Clear();
+
+                    var smartSoundControlForm = new SmartSoundControlForm(smartSoundInfo.ResponseData.Data[index]);
                     smartSoundControlForm.AddForm();
                 };
-            }
+            }
         }
 
         /// <summary>
@@ -175,95 +228,78 @@
         /// </summary>
         private void ShowDelectDialog(int index)
         {
-            this.ShowMassage(ShowMsgType.Confirm, "鎺ヨЕ缁戝畾闇�瑕佺涓夋柟 APP 杩涜鎿嶄綔", () =>
-            {
-                //
-                smartSoundList.RemoveAt(index);
-                listView.RemoveAt(index);
-            },"璺宠浆鑷冲皬搴� APP");
-        }
+            //鐢熸垚涓�涓脊绐楃敾闈�
+            var dialogForm = new TextDialog("瑙i櫎缁戝畾闇�瑕佸埌绗笁鏂� APP 杩涜鎿嶄綔", "璺宠浆鑷冲皬搴�");
+            dialogForm.SetTitleText("瑙i櫎缁戝畾");
 
-        /// <summary>
-        /// 閲嶅懡鍚嶅脊绐�
-        /// </summary>
-        /// <returns></returns>
-        private void ShowRenameDialog(SoundRowLayout soundRowLayout, SmartSound smartSound)
-        {
-            //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new DialogInputControl();
-            //娣诲姞澶囦唤
-            dialogForm.SetTitleText("閲嶅懡鍚�");
-            //璇疯緭鍏ュ浠藉悕绉�
-            dialogForm.SetTipText(smartSound.Remark);
-
-            //鎸変笅纭鎸夐挳
-            dialogForm.ComfirmClickEvent += ((textValue) =>
+            //鎸変笅纭鎸夐挳
+            dialogForm.ComfirmClickEvent += () =>
+            {
+                //鐢婚潰鍏抽棴
+                dialogForm.CloseDialog();
+            };
+        }
+        /// <summary>
+        /// 閲嶅懡鍚嶅脊绐�
+        /// </summary>
+        /// <returns></returns>
+        private void ShowRenameDialog(SoundRowLayout soundRowLayout, SmartSoundInfo.SoundInfo smartSound)
+        {
+            //鐢熸垚涓�涓脊绐楃敾闈�
+            var dialogForm = new DialogInputControl();
+            //娣诲姞澶囦唤
+            dialogForm.SetTitleText("閲嶅懡鍚�");
+            //璇疯緭鍏ュ浠藉悕绉�
+            dialogForm.SetTipText(smartSound.Remark);
+
+            //鎸変笅纭鎸夐挳
+            dialogForm.ComfirmClickEvent += (async (textValue) =>
             {
 
                 //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
-
-                //涓婁紶澶囦唤
-                smartSound.Remark = textValue;
-                soundRowLayout.btnRemark.Text= textValue;
-            });
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栨ā鎷熶竴浜涙暟鎹紝鐢ㄦ潵鍔犺浇鐣岄潰鐢ㄧ殑
-        /// </summary>
-        private void iniData()
-        {
-            smartSoundList = new List<SmartSound>();
-
-            // 澧炲姞灏忓害闊崇
-            SmartSound smartSound = new SmartSound();
-            smartSound.Remark = "鎴戠殑闊崇";
-            smartSound.UserName = "123456@qq.com";
-            smartSound.Type = SmartSound.SMARTSOUND_XIAODU;
-            smartSoundList.Add(smartSound);
-
-            // 澧炲姞灏忕埍闊崇
-            smartSound = new SmartSound();
-            smartSound.Remark = "鎴戠殑闊崇";
-            smartSound.UserName = "234567@qq.com";
-            smartSound.Type = SmartSound.SMARTSOUND_XIAOAI;
-            smartSoundList.Add(smartSound);
+                dialogForm.CloseDialog();
 
-            // 澧炲姞澶╃尗绮剧伒
-            smartSound = new SmartSound();
-            smartSound.Remark = "鎴戠殑闊崇";
-            smartSound.UserName = "345678@qq.com";
-            smartSound.Type = SmartSound.SMARTSOUND_TIANMAO;
-            smartSoundList.Add(smartSound);
+                string remark = textValue;
+                string str = await setRemark(smartSound, remark); //涓婁紶澶囦唤
+                if (str == "SUCCESS")
+                {
+                    smartSound.Remark = remark;
+                    soundRowLayout.btnRemark.Text = textValue;
+                }
+                else
+                {
+                    //閿欒寮圭獥鎻愮ず
+                    ShowMassage(ShowMsgType.Tip, "淇敼澶囨敞涓嶆垚鍔燂紒", null, "纭");
+                }
+            });
         }
 
-        #endregion
+        #endregion
 
 
-        #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
+        #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
 
-        /// <summary>
-        /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
-        /// </summary>
-        public override int FormActionAgainEvent()
+        /// <summary>
+        /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
+        /// </summary>
+        public override int FormActionAgainEvent()
         {
-            return 1;
-        }
-
-        #endregion
-
-        #region 鈻� 鍏抽棴鐣岄潰___________________________
-
-        /// <summary>
-        /// 鐢婚潰鍏抽棴
-        /// </summary>
-        public override void CloseFormBefore()
-        {
-            base.CloseFormBefore();
-        }
-
-        #endregion
+            return 1;
+        }
+
+        #endregion
+
+        #region 鈻� 鍏抽棴鐣岄潰___________________________
+
+        /// <summary>
+        /// 鐢婚潰鍏抽棴
+        /// </summary>
+        public override void CloseFormBefore()
+        {
+            base.CloseFormBefore();
+        }
+
+        #endregion
 
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0