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