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