From 160785587667cc0d927f85e44c139ec9dde13a9e Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 25 十一月 2019 14:30:13 +0800 Subject: [PATCH] 原来的 IOS 工程舍弃(注:没有合并其他组员的代码) --- ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs | 191 +++++++++++++++++++++-------------------------- 1 files changed, 87 insertions(+), 104 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs index 628bf5d..cb25261 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs @@ -14,7 +14,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalFrameControl listView = null; + private VerticalFrameRefreshControl listView = null; /// <summary> /// 鍏ㄩ儴鐨勮 /// </summary> @@ -32,43 +32,52 @@ //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uMessageCenter)); - listView = new VerticalFrameControl(35); - listView.Height = bodyFrameLayout.Height; - bodyFrameLayout.AddChidren(listView); - //鍒濆鍖栧彸涓婅鑿滃崟 this.InitTopRightMenu(); + listView = new VerticalFrameRefreshControl(35); + listView.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listView); + listView.BeginHeaderRefreshingAction += () => + { + HdlThreadLogic.Current.RunThread(() => + { + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleData(false); + }); + }; + HdlThreadLogic.Current.RunThread(() => { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + //鍒濆鍖栦腑閮ㄤ俊鎭� - this.InitMiddleData(); + this.InitMiddleData(true); }); } /// <summary> /// 鍒濆鍖栦腑閮ㄤ俊鎭� /// </summary> - private async void InitMiddleData() + private async void InitMiddleData(bool showReload) { - this.dicAllRow = new Dictionary<string, RowLayoutControl>(); - - //鎵撳紑杩涘害鏉� - this.ShowProgressBar(); - var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetPushMessageRecord", false, ""); - if (result == null) + //鑾峰彇鏁版嵁 + var dicData = await this.GetMessageData(); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(dicData == null && showReload == true ? ShowReLoadMode.YES : ShowReLoadMode.NO); + + HdlThreadLogic.Current.RunMain(() => { - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(ShowReLoadMode.YES); + //鍏抽棴鍒锋柊鐗规晥 + listView?.EndHeaderRefreshing(); + }); + if (dicData == null) + { + //鏁版嵁寮傚父 return; } - var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MessageRecordInfo>>(result); - //鍚堝苟鏁版嵁 - var dicData = this.MergeMessageRecordData(dataInfo); - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - - HdlThreadLogic.Current.RunMainInThread(() => + HdlThreadLogic.Current.RunMain(() => { //鍒濆鍖栦腑閮ㄦ帶浠� this.InitMiddleFrame(dicData); @@ -81,45 +90,45 @@ /// <param name="dicData"></param> private void InitMiddleFrame(Dictionary<string, List<MessageRecordInfo>> dicData) { + //娓呯┖ + listView.RemoveAll(); + int index = 0; foreach (var keys in dicData.Keys) { var listData = dicData[keys]; - HdlThreadLogic.Current.RunMain(() => + index++; + //瀹瑰櫒 + var framBack = new FrameListControl(23); + framBack.Name = index.ToString(); + framBack.Height = Application.GetRealHeight(100); + framBack.BackgroundColor = UserCenterColor.Current.White; + listView.AddChidrenFrame(framBack); + + //鏃ユ湡 + string strMonth = Language.StringByID(R.MyInternationalizationString.Month); + string strDate = Language.StringByID(R.MyInternationalizationString.Day); + var frameDate = new FrameLayout(); + frameDate.Height = Application.GetRealHeight(118); + framBack.AddChidren(frameDate); + var btnDate = new NormalViewControl(500, 60, true); + btnDate.TextSize = 15; + btnDate.X = ControlCommonResourse.XXLeft; + btnDate.Y = Application.GetRealHeight(35); + btnDate.Text = Convert.ToDateTime(listData[0].MsgTime).ToString("MM" + strMonth + "dd" + strDate); + frameDate.AddChidren(btnDate); + + for (int i = 0; i < listData.Count; i++) { - index++; - //瀹瑰櫒 - var framBack = new FrameListControl(23); - framBack.Name = index.ToString(); - framBack.Height = Application.GetRealHeight(100); - framBack.BackgroundColor = UserCenterColor.Current.White; - listView.AddChidrenFrame(framBack); - - //鏃ユ湡 - string strMonth = Language.StringByID(R.MyInternationalizationString.Month); - string strDate = Language.StringByID(R.MyInternationalizationString.Day); - var frameDate = new FrameLayout(); - frameDate.Height = Application.GetRealHeight(118); - framBack.AddChidren(frameDate); - var btnDate = new NormalViewControl(500, 60, true); - btnDate.TextSize = 15; - btnDate.X = ControlCommonResourse.XXLeft; - btnDate.Y = Application.GetRealHeight(35); - btnDate.Text = Convert.ToDateTime(listData[0].MsgTime).ToString("MM" + strMonth + "dd" + strDate); - frameDate.AddChidren(btnDate); - - for (int i = 0; i < listData.Count; i++) - { - //娣诲姞淇℃伅琛� - this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1); - } - //璋冩暣楂樺害 - listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23)); - if (index == dicData.Count) - { - listView.AdjustTableHeight(); - } - }); + //娣诲姞淇℃伅琛� + this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1); + } + //璋冩暣楂樺害 + listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23)); + if (index == dicData.Count) + { + listView.AdjustTableHeight(); + } } } @@ -187,7 +196,7 @@ btnIcon.UnSelectedImagePath = "Item/Safety.png"; //娑堟伅绫诲瀷 - var btnMsgObject = rowControl.frameTable.AddLeftCaption("娴嬭瘯:娑堟伅绫诲瀷", 600); + var btnMsgObject = rowControl.frameTable.AddLeftCaption("鎶ヨ娑堟伅", 600); PicViewControl btnNewTip = null; if (recordInfo.IsRead == 0) { @@ -368,21 +377,8 @@ return; } } - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - - HdlThreadLogic.Current.RunMain(() => - { - bodyFrameLayout.RemoveAll(); - listView = new VerticalFrameControl(35); - listView.Height = bodyFrameLayout.Height; - bodyFrameLayout.AddChidren(listView); - HdlThreadLogic.Current.RunThread(() => - { - //鍒濆鍖栦腑閮ㄤ俊鎭� - this.InitMiddleData(); - }); - }); + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleData(true); }); }); } @@ -455,7 +451,25 @@ #endregion - #region 鈻� 鍚堝苟鏁版嵁___________________________ + #region 鈻� 鑾峰彇鏁版嵁___________________________ + + /// <summary> + /// 鑾峰彇娑堟伅璁板綍 + /// </summary> + /// <returns></returns> + private async System.Threading.Tasks.Task<Dictionary<string, List<MessageRecordInfo>>> GetMessageData() + { + this.dicAllRow = new Dictionary<string, RowLayoutControl>(); + + var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetPushMessageRecord", false, ""); + if (result == null) + { + return null; + } + var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MessageRecordInfo>>(result); + //鍚堝苟鏁版嵁 + return this.MergeMessageRecordData(dataInfo); + } /// <summary> /// 鍚堝苟鏁版嵁 @@ -497,37 +511,6 @@ } } return dicData; - } - - #endregion - - #region 鈻� 缁撴瀯浣揰____________________________ - - /// <summary> - /// 淇℃伅缁撴灉 - /// </summary> - private class MessageRecordInfo - { - /// <summary> - /// 涓婚敭 - /// </summary> - public string RegId = string.Empty; - /// <summary> - /// 娑堟伅鍐呭 - /// </summary> - public string MsgContent = string.Empty; - /// <summary> - /// MsgType - /// </summary> - public string MsgType = string.Empty; - /// <summary> - /// 鏄惁宸茶 - /// </summary> - public int IsRead = 0; - /// <summary> - /// 鏃堕棿 2019-09-10 13:11:55 - /// </summary> - public string MsgTime = string.Empty; } #endregion -- Gitblit v1.8.0