From cc1012b077a91793c0edd6001cdf019e6bd9a57d Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期五, 29 五月 2020 18:02:13 +0800
Subject: [PATCH] 2020.05.29

---
 ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs |  348 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 186 insertions(+), 162 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs
index 8e14711..72703b8 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundListForm.cs
@@ -1,7 +1,11 @@
 锘縰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 ZigBee.Device;
 
 namespace Shared.Phone.UserCenter.SmartSound
@@ -13,30 +17,32 @@
         {
         }
 
-        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()
+        {
+            // iniData();//鍏堝姞杞芥ā鎷熸暟鎹�
+
+            this.ScrollEnabled = false;
+
+            //璁剧疆鏍囬淇℃伅
             base.SetTitleText("鏅鸿兘闊崇");
             Dictionary<string, string> floorDictionary = Config.Instance.Home.FloorDics;//妤煎眰鍒楄〃
 
@@ -54,23 +60,16 @@
             this.InitMiddleFrame();
 
             helpBtn.MouseUpEventHandler += (sernder, e) =>
-            {
-                //杩欓噷鏄姞杞藉府缁勭殑鐣岄潰
-            };
+            {
+                //杩欓噷鏄姞杞藉府缁勭殑鐣岄潰
+            };                       
+        }
 
-            string room_id = Common.Config.Instance.Home.Id;//浣忓畢 ID
-            string gu_id = Common.Config.Instance.Guid;           
-
-            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 async void InitMiddleFrame()
         {
             // show鍑烘病鏈夎澶囩殑鍥炬爣鏂囧瓧鎻愮ず
             this.ShowNotDataImage(bodyFrameLayout, new string[] { "杩樻病鏈夐煶绠卞摝锛�", "缁戝畾鏅鸿兘闊崇璇峰墠寰�绗笁鏂� APP 杩涜鎿嶄綔" });
@@ -82,61 +81,105 @@
             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(() =>
-                {
-                    //涓嬫媺鍒锋柊
+            listView = new VerticalListRefreshControl(29);
+            listView.Y = 0;
+            listView.Height = bodyFrameLayout.Height;
+            frame.AddChidren(listView);
+            listView.BeginHeaderRefreshingAction += () =>
+            {
+                HdlThreadLogic.Current.RunThread(async () =>
+                {
+                    await getData();
+                    //涓嬫媺鍒锋柊
                     iniView();
 
                     HdlThreadLogic.Current.RunMain(() =>
                     {
                         //闅愯棌涓嬫媺鍒锋柊鐗规晥
                         listView.EndHeaderRefreshing();
-                    });
-
-                });
+                    });
+
+                });
             };
 
+            this.ShowProgressBar();
+
+            await getData();
+
+            this.CloseProgressBar(ShowReLoadMode.NO);
+
             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();
+        }
+
+        /// <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);
+            byte[] byteData = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(auth));
+            //byte[] ResponseData = null;
+
+            dataString = await UserCenterLogic.GetResponseDataByRequestHttps("zigbeespeakerservice/Auth", true, auth);
+            //Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(pra)
+            //dataString = System.Text.Encoding.UTF8.GetString(ResponseData);
+            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();
@@ -144,16 +187,16 @@
                 row.btnRename.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) =>
                 {
                     //
@@ -164,10 +207,12 @@
                 //璺宠浆鍒版帶鍒跺唴瀹圭晫闈�
                 row.frameTable.ButtonClickEvent += (sender, e) =>
                 {
-                    var smartSoundControlForm = new SmartSoundControlForm();
+                    if (SmartSound.CurretnData != null)
+                        SmartSound.CurretnData.Clear();
+                    var smartSoundControlForm = new SmartSoundControlForm();
                     smartSoundControlForm.AddForm();
                 };
-            }
+            }
         }
 
         /// <summary>
@@ -177,93 +222,72 @@
         {
             this.ShowMassage(ShowMsgType.Confirm, "鎺ヨЕ缁戝畾闇�瑕佺涓夋柟 APP 杩涜鎿嶄綔", () =>
             {
-                //
-                smartSoundList.RemoveAt(index);
+                // 绉婚櫎缁戝畾鐨勯�昏緫
+                //smartSoundList.RemoveAt(index);
                 listView.RemoveAt(index);
-            },"璺宠浆鑷冲皬搴� APP");
+            }, "璺宠浆鑷冲皬搴� APP");
         }
+        /// <summary>
+        /// 閲嶅懡鍚嶅脊绐�
+        /// </summary>
+        /// <returns></returns>
+        private void ShowRenameDialog(SoundRowLayout soundRowLayout, SmartSoundInfo.SoundInfo smartSound)
+        {
+            //鐢熸垚涓�涓脊绐楃敾闈�
+            var dialogForm = new DialogInputControl();
+            //娣诲姞澶囦唤
+            dialogForm.SetTitleText("閲嶅懡鍚�");
+            //璇疯緭鍏ュ浠藉悕绉�
+            dialogForm.SetTipText(smartSound.Remark);
 
-        /// <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 += (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