From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01

---
 HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs |  631 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 552 insertions(+), 79 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
index 602b8eb..b2635af 100644
--- a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
@@ -4,7 +4,9 @@
 using System.Collections.Generic;
 using System.Threading;
 using HDL_ON.DAL.Server;
-
+#if DEBUG
+using Xamarin.Essentials;
+#endif
 namespace HDL_ON.UI
 {
     /// <summary>
@@ -20,28 +22,40 @@
         /// <summary>
         /// 鍐呭涓虹┖鎻愮ずView
         /// </summary>
-        EmptyTipView emptyTipView;
+        FrameLayout emptyTipView;
 
         /// <summary>
         /// menuView
         /// </summary>
-        FrameLayout menuView;
+        HorizontalScrolViewLayout menuView;//2021-08-27 澧炲姞澶氫簡涓�涓彍鍗曟寜閽墍浠ユ敼涓烘粴鍔ㄦ帶浠�
         MenuButton allMenuButton;
         MenuButton shareMenuButton;
         MenuButton alarmMenuButton;
         MenuButton systemMenuButton;
+        MenuButton propertyMenuButton;//澧炲姞鐗╀笟閫氱煡鎸夐挳
         FrameLayout messageView;
 
         /// <summary>
         /// 鏄剧ず鐨勬秷鎭被鍨�
-        /// 1鍏ㄩ儴 2鍒嗕韩涓庡姛鑳� 3鎶ヨ绫� 4绯荤粺淇℃伅
+        /// 0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅 4鐗╀笟鍏憡
         /// </summary>
-        int showMesType = 1;
+        int showMesType = 0;
         /// <summary>
         /// 鎺ㄩ�佹秷鎭垪琛�
         /// </summary>
         List<PushMessageInfo> PushMessageInfoList = new List<PushMessageInfo>();
 
+        /// <summary>
+        /// 椤甸潰鍏抽棴鏃堕棿
+        /// </summary>
+        Action backAction;
+
+        public override void RemoveFromParent()
+        {
+            UnregisterGetPushMessageAction();
+            base.RemoveFromParent();
+            backAction?.Invoke();
+        }
 
         /// <summary>
         /// 
@@ -55,15 +69,19 @@
         /// <summary>
         /// 
         /// </summary>
-        public void LoadPage()
+        /// <param name="backAction"></param>
+        public void LoadPage(Action backAction)
         {
+            this.backAction = backAction;
             new TopViewDiv(bodyView, Language.StringByID(StringId.MessageCenter)).LoadTopView();
 
             AddTopMenuView();
             AddMessageView();
-            MenuButtonSelect(1);
+            MenuButtonSelect(showMesType);
+            RegisterGetPushMessageAction();
+            //娴嬭瘯浠g爜
+            //AddEmptyTipView();
             //TestLoad();
-            GetPushMessageList();
         }
 
         /// <summary>
@@ -72,14 +90,21 @@
         void AddTopMenuView()
         {
 
-            menuView = new FrameLayout()
+            menuView = new HorizontalScrolViewLayout()
             {
                 Y = Application.GetRealHeight(64),
                 Height = Application.GetRealWidth(117),
                 BackgroundColor = CSS_Color.MainBackgroundColor,
+                HorizontalScrollBarEnabled = false//闅愯棌婊氬姩鏉�
             };
             bodyView.AddChidren(menuView);
 
+            //宸adding View
+            menuView.AddChidren(new Button()
+            {
+                Width = Application.GetRealWidth(15),
+                BackgroundColor = CSS_Color.viewTranslucence
+            });
 
             #region 鍏ㄩ儴鎸夐挳
             allMenuButton = new MenuButton()
@@ -93,9 +118,28 @@
             allMenuButton.TextButton.TextID = StringId.All;
             Action allAction = () =>
             {
-                MenuButtonSelect(1);
+                MenuButtonSelect(0);
             };
             allMenuButton.SelectAction = allAction;
+            //娴嬭瘯鎻愬墠褰撳墠鎺ㄩ�両D
+            allMenuButton.ImageButton.MouseLongEventHandler = (sender, e) =>
+            {
+#if DEBUG
+
+                CopyToClipboard("鎺ㄩ�両D锛�" + OnAppConfig.Instance.PushId);
+#else
+                //妫�娴嬫槸鍚﹁幏鍙栨帹閫両D鎴愬姛锛屾彁绀烘帹閫佹敞鍐屾槸鍚︽甯�
+                if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId))
+                {
+                    Utlis.ShowTip(Language.StringByID(StringId.PushException));
+                }
+                else
+                {
+                    Utlis.ShowTip(Language.StringByID(StringId.PushNormal));
+                }
+#endif
+
+            };
             #endregion
 
             #region 鍒嗕韩涓庡姛鑳�
@@ -108,9 +152,10 @@
             shareMenuButton.ImageButton.SelectedImagePath = "Collection/MesCenter/ShareOn.png";
             shareMenuButton.ImageButton.UnSelectedImagePath = "Collection/MesCenter/Share.png";
             shareMenuButton.TextButton.TextID = StringId.SharingAndFunctionality;
+            shareMenuButton.TextButton.IsMoreLines = true;
             Action shateAction = () =>
             {
-                MenuButtonSelect(2);
+                MenuButtonSelect(1);
             };
             shareMenuButton.SelectAction = shateAction;
             #endregion
@@ -127,7 +172,7 @@
             alarmMenuButton.TextButton.TextID = StringId.AlarmType;
             Action alarmAction = () =>
             {
-                MenuButtonSelect(3);
+                MenuButtonSelect(2);
             };
             alarmMenuButton.SelectAction = alarmAction;
             #endregion
@@ -144,10 +189,35 @@
             systemMenuButton.TextButton.TextID = StringId.SystemMessage;
             Action systemAction = () =>
             {
-                MenuButtonSelect(4);
+                MenuButtonSelect(3);
             };
             systemMenuButton.SelectAction = systemAction;
             #endregion
+
+            #region 鐗╀笟閫氱煡 2021-09-15澧炲姞
+            propertyMenuButton = new MenuButton()
+            {
+                X = systemMenuButton.Right,
+                Y = Application.GetRealWidth(16),
+            };
+            menuView.AddChidren(propertyMenuButton); 
+            propertyMenuButton.ImageButton.SelectedImagePath = "Collection/MesCenter/PropertyOn.png";
+            propertyMenuButton.ImageButton.UnSelectedImagePath = "Collection/MesCenter/Property.png";
+            propertyMenuButton.TextButton.TextID = StringId.Propertynotice;
+            propertyMenuButton.TextButton.IsMoreLines = true;
+            Action propertyAction = () =>
+            {
+                MenuButtonSelect(4);
+            };
+            propertyMenuButton.SelectAction = propertyAction;
+            #endregion
+
+            //鍙硃addingView 
+            menuView.AddChidren(new Button()
+            {
+                Width = Application.GetRealWidth(15),
+                BackgroundColor = CSS_Color.viewTranslucence
+            });
 
         }
 
@@ -177,42 +247,59 @@
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="selectId">1鍏ㄩ儴 2鍒嗕韩涓庡姛鑳� 3鎶ヨ绫� 4绯荤粺淇℃伅</param>
+        /// <param name="selectId">0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅 4鐗╀笟閫氱煡</param>
         void MenuButtonSelect(int selectId)
         {
             showMesType = selectId;
 
-            if (selectId == 1)
+            if (selectId == 0)
             {
                 allMenuButton.IsSelected = true;
-                shareMenuButton.IsSelected = false;
-                alarmMenuButton.IsSelected = false;
-                systemMenuButton.IsSelected = false;
+                shareMenuButton.IsSelected = true;
+                alarmMenuButton.IsSelected = true;
+                systemMenuButton.IsSelected = true;
+                propertyMenuButton.IsSelected = true;
 
             }
-            else if (selectId == 2)
+            else if (selectId == 1)
             {
                 allMenuButton.IsSelected = false;
                 shareMenuButton.IsSelected = true;
                 alarmMenuButton.IsSelected = false;
                 systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = false;
 
             }
-            else if (selectId == 3)
+            else if (selectId == 2)
             {
                 allMenuButton.IsSelected = false;
                 shareMenuButton.IsSelected = false;
                 alarmMenuButton.IsSelected = true;
                 systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = false;
+            }
+            else if (selectId == 3)
+            {
+                allMenuButton.IsSelected = false;
+                shareMenuButton.IsSelected = false;
+                alarmMenuButton.IsSelected = false;
+                systemMenuButton.IsSelected = true;
+                propertyMenuButton.IsSelected = false;
+
             }
             else if (selectId == 4)
             {
                 allMenuButton.IsSelected = false;
                 shareMenuButton.IsSelected = false;
                 alarmMenuButton.IsSelected = false;
-                systemMenuButton.IsSelected = true;
+                systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = true;
 
             }
+
+            menuView.ScrollToX(selectId * Application.GetRealWidth(40));
+
+            GetPushMessageList(showMesType);
         }
 
 
@@ -222,13 +309,24 @@
         /// </summary>
         void AddEmptyTipView()
         {
-            emptyTipView = new EmptyTipView()
+            emptyTipView = new FrameLayout()
+            {
+                Height = bodyScrolView.Height,
+                Width = bodyScrolView.Width,
+            };
+            bodyScrolView.AddChidren(emptyTipView);
+
+            var tipView = new EmptyTipView()
             {
                 Gravity = Gravity.Center
             };
-            messageView.AddChidren(emptyTipView);
+            emptyTipView.AddChidren(tipView);
         }
 
+        /// <summary>
+        /// 骞翠唤鏍囪
+        /// </summary>
+        string YearMark = "";
         /// <summary>
         /// 鍔犺浇鎶ヨ淇℃伅RowView
         /// </summary>
@@ -244,21 +342,27 @@
             VerticalScrolViewMiddle.AddChidren(rowView);
 
             //鏍囬
-            var btnTilte = new Button()
+            var btnTilte = new TextButton()
             {
                 X = Application.GetRealWidth(16),
                 Y = Application.GetRealHeight(12),
-                Width = Application.GetRealWidth(320),
-                Height = Application.GetRealHeight(20),
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(20),
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                Text = pushMessageInfo.messageTitle
+                Text = pushMessageInfo.messageContent,
+                //IsMoreLines = true,
             };
             rowView.AddChidren(btnTilte);
+            //
+            var needHeight = btnTilte.GetMoreLineNeedHeight();
+            btnTilte.IsMoreLines = true;
+            btnTilte.Height = needHeight;
+            rowView.Height = Application.GetRealHeight(45) + needHeight;
 
             //鍓爣棰�
-            var btnSubtitle = new Button()
+            var btnSubtitle = new TextButton()
             {
                 X = Application.GetRealWidth(16),
                 Y = btnTilte.Bottom + Application.GetRealHeight(4),
@@ -267,7 +371,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.PromptingColor1,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = pushMessageInfo.messageContent
+                Text = pushMessageInfo.messageTitle
             };
             rowView.AddChidren(btnSubtitle);
 
@@ -281,11 +385,10 @@
                 TextAlignment = TextAlignment.CenterRight,
                 TextColor = CSS_Color.PromptingColor1,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = pushMessageInfo.createTime
             };
             rowView.AddChidren(btnDatetime);
 
-            var lineView = new LineView(rowView.Height);
+            var lineView = new LineView(rowView.Height - Application.GetRealHeight(1));
             rowView.AddChidren(lineView);
 
             //鍒犻櫎鎸夐挳
@@ -299,15 +402,89 @@
             rowView.AddRightView(deleteBtn);
             deleteBtn.MouseUpEventHandler = (sender, e) =>
             {
-                rowView.RemoveFromParent();
+                DeleteThePush(pushMessageInfo, rowView);
             };
 
-            //EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
-            //{
-            //};
 
-            //btnTilte.MouseUpEventHandler = eventHandler;
-            //btnSubtitle.MouseUpEventHandler = eventHandler;
+            btnDatetime.Text = GetUnixToDateTime(pushMessageInfo.createTime);
+
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                OnClickPushMessageInfo(pushMessageInfo);
+                //new Alert(pushMessageInfo.messageTitle, pushMessageInfo.messageContent, Language.StringByID(StringId.Close)).Show();
+            };
+            rowView.MouseUpEventHandler = eventHandler;
+            btnTilte.MouseUpEventHandler = eventHandler;
+            btnSubtitle.MouseUpEventHandler = eventHandler;
+
+
+        }
+
+        /// <summary>
+        /// 鏃堕棿鏍煎紡杞崲澶勭悊
+        /// </summary>
+        /// <param name="time">姣鏃堕棿鎴�</param>
+        /// <returns></returns>
+        string GetUnixToDateTime(long time)
+        {
+            try
+            {
+                return Utlis.UnixToDateTimeWithFormatMS(time, "MM/dd HH:mm");
+            }
+            catch (Exception ex)
+            {
+                return "";
+            }
+        }
+
+        /// <summary>
+        /// 鍒犻櫎鎺ㄩ�佹秷鎭�
+        /// <param name="pushMessageInfo"></param>
+        /// <param name="rowView"></param>
+        void DeleteThePush(PushMessageInfo pushMessageInfo, RowLayout rowView)
+        {
+            var waitPage = new Loading();
+            bodyView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+            new Thread(() =>
+            {
+                try
+                {
+                    var delPush = new PushMsgIdObj()
+                    {
+                        msgId = pushMessageInfo.id,
+                        pushType = pushMessageInfo.pushType
+                    };
+
+                    var result = new HttpServerRequest().PushSerivceDeleteMessage(delPush);
+                    if (result)
+                    {
+                        PushMessageInfoList.Remove(pushMessageInfo);
+                        //鍒犻櫎鎴愬姛
+                        Application.RunOnMainThread(() =>
+                        {
+                            rowView.RemoveFromParent();
+                        });
+
+                    }
+                }
+                catch (Exception ex)
+                {
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
+                    });
+                }
+            })
+            { IsBackground = true }.Start();
         }
 
         /// <summary>
@@ -323,7 +500,7 @@
             };
             VerticalScrolViewMiddle.AddChidren(bgView);
 
-            var yearBtn = new Button()
+            var yearBtn = new TextButton()
             {
                 X = Application.GetRealWidth(16),
                 Y = Application.GetRealHeight(16),
@@ -333,35 +510,60 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                 IsBold = true,
-                Text = yearStr
             };
             bgView.AddChidren(yearBtn);
+            yearBtn.Text = yearStr + Language.StringByID(StringId.Years);
         }
 
         /// <summary>
-        /// 
+        /// 鏌ヨ鎺ㄩ�佽褰�
         /// </summary>
-        void GetPushMessageList()
+        /// <param name="queryType"></param>
+        void GetPushMessageList(int queryType = 0)
         {
-            var waitPage = new Loading();
-            waitPage.Start(Language.StringByID(StringId.PleaseWait));
             bodyScrolView.RemoveAll();
-            PushMessageInfoList.Clear();
+            if (PushMessageInfoList == null)
+            {
+                PushMessageInfoList = new List<PushMessageInfo>();
+            }
+            else
+            {
+                PushMessageInfoList.Clear();
+            }
+
+            YearMark = "";//鏍囪娓呯┖
+            if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId))
+            {
+                AddEmptyTipView();
+                return;
+            }
+
+            var waitPage = new Loading();
+            bodyView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
 
             new Thread(() =>
             {
                 try
                 {
-                    var result = new HttpServerRequest().PushSerivceGetPushmessagelist();
+                    var result = new HttpServerRequest().PushSerivceGetPushmessagelist(queryType);
                     if (result.Code == StateCode.SUCCESS)
                     {
-                        PushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PushMessageInfo>>(result.Data.ToString());
+                        //PushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PushMessageInfo>>(result.Data.ToString());
+                        //2021-08-28 鏀逛负鍒嗛〉鎺ュ彛
+                        var mPushMesList = Newtonsoft.Json.JsonConvert.DeserializeObject<PushMessageInfoList>(result.Data.ToString());
+                        if (mPushMesList != null)
+                        {
+                            PushMessageInfoList = mPushMesList.list;
+                        }
+
                         Application.RunOnMainThread(() =>
                         {
                             if (PushMessageInfoList != null && PushMessageInfoList.Count > 0)
                             {
 
                                 ParseAndDisplayPushList();
+                                PushSerivceMarkAllMessageRead();
                             }
                             else
                             {
@@ -401,14 +603,129 @@
         /// </summary>
         void ParseAndDisplayPushList()
         {
-            //
-            if (showMesType == 1)
+            foreach (var info in PushMessageInfoList)
             {
+                //骞翠唤瑙f瀽 鍒ゆ柇鏄惁闇�瑕佹坊鍔犲勾浠芥爣棰�
+                var mesYear = Utlis.UnixToDateTimeYearMS(info.createTime);
+                if (string.IsNullOrEmpty(YearMark))
+                {
+                    //鍒氬紑濮媃earMark鏍囪涓虹┖锛屾坊鍔犵涓�涓勾浠芥爣棰�
+                    YearMark = mesYear;
+                    AddYearRowView(bodyScrolView, YearMark);
+                }
+                else if (YearMark != mesYear)
+                {
+                    //褰撳墠淇℃伅骞翠唤鍜屼箣鍓嶇殑涓嶄竴鏍凤紝閲嶆柊娣诲姞涓�涓勾浠芥爣棰�
+                    YearMark = mesYear;
+                    AddYearRowView(bodyScrolView, YearMark);
+                }
 
+                AddRowView(bodyScrolView, info);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鐗╀笟閫氱煡璇︽儏
+        /// </summary>
+        /// <param name="noticeId"></param>
+        void GetPropertyNoticeDetails(string noticeId)
+        {
+            var waitPage = new Loading();
+            bodyView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+            new Thread(() =>
+            {
+                try
+                {
+                    var result = new HttpServerRequest().GetPropertyNoticeDetails(noticeId);
+                    if (result.Code == StateCode.SUCCESS)
+                    {
+                        var mPushNoticeInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<PushNoticeInfo>(result.Data.ToString());
+                        if (mPushNoticeInfo != null)
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                new WebViewDialog().LoadPageWithHtmlStr(mPushNoticeInfo.title, mPushNoticeInfo.content);
+                            });
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
+                    });
+                }
+            })
+            { IsBackground = true }.Start();
+        }
+
+        /// <summary>
+        /// 閫氱煡淇℃伅鐐瑰嚮浜嬩欢
+        /// </summary>
+        /// <param name="pushMessageInfo"></param>
+        void OnClickPushMessageInfo(PushMessageInfo pushMessageInfo)
+        {
+
+            if (pushMessageInfo.pushType == PushType.Notice.ToString())
+            {
+                //Utlis.WriteLine("鐗╀笟閫氱煡");
+                string noticeId = GetNoticeId(pushMessageInfo.messageExpand);
+                if (!string.IsNullOrEmpty(noticeId))
+                {
+                    GetPropertyNoticeDetails(noticeId);
+                }
+                else
+                {
+                    Utlis.WriteLine("noticeId null");
+                }
+            }
+            else
+            {
+                Utlis.WriteLine("鍏跺畠閫氱煡绫诲瀷");
+            }
+        }
+
+        /// <summary>
+        /// 瑙f瀽messageExpand 鎻愬彇targetId
+        /// </summary>
+        /// <param name="messageExpand"></param>
+        /// <returns></returns>
+        string GetNoticeId(string messageExpand)
+        {
+            try
+            {
+                if (!string.IsNullOrEmpty(messageExpand))
+                {
+                    var mMessageExpandInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageExpandInfo>(messageExpand);
+                    if (mMessageExpandInfo != null)
+                    {
+                        var mExpantContentInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ExpantContentInfo>(mMessageExpandInfo.expantContent);
+                        if(mExpantContentInfo != null)
+                        {
+                            return mExpantContentInfo.targetId;
+                        }
+                    }
+                }
+                return null;
+            }
+            catch
+            {
+                return null;
             }
         }
 
         #region 娴嬭瘯
+#if DEBUG
         /// <summary>
         /// 
         /// </summary>
@@ -418,53 +735,156 @@
             {
                 messageTitle = "鎶ヨ淇℃伅",
                 messageContent = "闂ㄩ攣琚墦寮�",
-                createTime = "11鏈�30 10:50",
+                createTime = 1606900275,
             });
 
             PushMessageInfoList.Add(new PushMessageInfo()
             {
                 messageTitle = "鎶ヨ淇℃伅1",
                 messageContent = "闂ㄩ攣琚墦寮�",
-                createTime = "11鏈�30 11:50",
+                createTime = 1606895454,
             });
 
             PushMessageInfoList.Add(new PushMessageInfo()
             {
                 messageTitle = "鎶ヨ淇℃伅2",
                 messageContent = "闂ㄩ攣琚墦寮�",
-                createTime = "11鏈�30 12:50",
+                createTime = 1606895454,
             });
 
-            AddYearRowView(bodyScrolView, "2020骞�");
-            foreach (var info in PushMessageInfoList)
+            PushMessageInfoList.Add(new PushMessageInfo()
             {
-                AddRowView(bodyScrolView, info);
-            }
+                messageTitle = "鎶ヨ淇℃伅2019",
+                messageContent = "闂ㄩ攣琚墦寮�",
+                createTime = 1575277874,
+            });
 
-            AddYearRowView(bodyScrolView, "2019骞�");
-            foreach (var info in PushMessageInfoList)
+            PushMessageInfoList.Add(new PushMessageInfo()
             {
-                AddRowView(bodyScrolView, info);
-            }
+                messageTitle = "鎶ヨ淇℃伅2019",
+                messageContent = "闂ㄩ攣琚墦寮�",
+                createTime = 1572685874,
+            });
+
+            PushMessageInfoList.Add(new PushMessageInfo()
+            {
+                messageTitle = "鎶ヨ淇℃伅2018",
+                messageContent = "闂ㄩ攣琚墦寮�",
+                createTime = 1541149874,
+            });
+
+            PushMessageInfoList.Add(new PushMessageInfo()
+            {
+                messageTitle = "鎶ヨ淇℃伅2017",
+                messageContent = "闂ㄩ攣琚墦寮�",
+                createTime = 1509613874,
+            });
+
+            PushMessageInfoList.Add(new PushMessageInfo()
+            {
+                messageTitle = "鎶ヨ淇℃伅2017",
+                messageContent = "闂ㄩ攣琚墦寮�",
+                createTime = 1509613874,
+            });
+
+            PushMessageInfoList.Add(new PushMessageInfo()
+            {
+                messageTitle = "鎶ヨ淇℃伅2017",
+                messageContent = "闂ㄩ攣琚墦寮�",
+                createTime = 1506935474,
+            });
+
+            ParseAndDisplayPushList();
         }
+
+#endif
+
         #endregion
+
+        /// <summary>
+        /// 鏍囪鎵�鏈夋帹閫佹秷鎭凡璇�
+        /// </summary>
+        void PushSerivceMarkAllMessageRead()
+        {
+            new Thread(() =>
+            {
+                var result = new HttpServerRequest().PushSerivceMarkAllMessageRead();
+                if (result)
+                {
+                    Utlis.WriteLine("鏍囪鎴愬姛");
+                }
+                else
+                {
+                    Utlis.WriteLine("鏍囪澶辫触");
+                }
+
+
+            })
+            { IsBackground = true }.Start();
+        }
+
+        /// <summary>
+        /// 娉ㄥ唽鏀跺埌鎺ㄩ�佺洃鍚�
+        /// </summary>
+        void RegisterGetPushMessageAction()
+        {
+            HDLCommon.GetPushMessageAction = () =>
+            {
+                if (bodyView != null)
+                {
+                    //Utlis.WriteLine("GetPushMessageAction M鏀跺埌鎺ㄩ��");
+                    GetPushMessageList(showMesType);
+                }
+            };
+        }
+
+        /// <summary>
+        /// 鍙栨秷鏀跺埌鎺ㄩ�佺洃鍚�
+        /// </summary>
+        void UnregisterGetPushMessageAction()
+        {
+            HDLCommon.GetPushMessageAction = null;
+        }
+
+#if DEBUG
+
+        /// <summary>
+        /// 澶嶅埗鍒板壀鍒囨澘
+        /// </summary>
+        /// <param name="text"></param>
+        void CopyToClipboard(string text)
+        {
+            Clipboard.SetTextAsync(text);
+            Utlis.ShowTip(text + "\n" + Language.StringByID(StringId.CopySuccess));
+        }
+#endif
+
     }
 
-
     /// <summary>
-    /// 鎺ㄩ�佹秷鎭被鍨�
+    ///  鎺ㄩ�佹秷鎭被鍨嬭鎯�
     /// </summary>
     [System.Serializable]
     public class PushMessageInfo
     {
         /// <summary>
-        /// 璁板綍Id
+        /// 璁板綍id
         /// </summary>
         public string id;
         /// <summary>
-        /// 鏄惁宸茶
+        /// 鎺ㄩ�乀oken璁板綍Id
         /// </summary>
-        public bool isRead;
+        public string pushId;
+        /// <summary>
+        /// 浜戠瀹氫箟 鎺ㄩ�佺被鍨嬶紱0锛氶粯璁わ紱1锛氭姤璀︼紱2锛氭彁绀猴紱3锛氭柊闂伙紱4锛氭帹鑽愶紱
+        ///
+        /// Default锛氬垎浜笌鍔熻兘锛汚larm锛氭姤璀︾被锛汸rompt锛氱郴缁熸秷鎭�
+        /// </summary>
+        public string pushType;
+        /// <summary>
+        /// 娑堟伅涓婚
+        /// </summary>
+        public string messageTitle;
         /// <summary>
         /// 娑堟伅鍐呭
         /// </summary>
@@ -473,27 +893,80 @@
         /// 鎵╁睍鏁版嵁
         /// </summary>
         public string messageExpand;
+        ///// <summary>
+        ///// 娑堟伅绫诲瀷锛�0锛氭彁绀猴紱1锛氭姤璀︼紱2锛氫赴鏋楀彲鏄璁插懠鍙紱3锛氬己鍒朵笅绾挎帹閫�
+        ///// </summary>
+        //public string messageType;
         /// <summary>
-        /// 娑堟伅涓婚
+        /// 鏄惁宸茶
         /// </summary>
-        public string messageTitle;
-        /// <summary>
-        /// 娑堟伅绫诲瀷锛�0锛氭彁绀猴紱1锛氭姤璀︼紱2锛氫赴鏋楀彲鏄璁插懠鍙紱3锛氬己鍒朵笅绾挎帹閫�
-        /// </summary>
-        public string messageType;
-        /// <summary>
-        /// 鎺ㄩ�乀oken璁板綍Id
-        /// </summary>
-        public string pushId;
-        /// <summary>
-        /// 鎺ㄩ�佺被鍨嬶紱0锛氶粯璁わ紱1锛氭姤璀︼紱2锛氭彁绀猴紱3锛氭柊闂伙紱4锛氭帹鑽愶紱
-        /// </summary>
-        public string pushType;
+        public bool isRead;
         /// <summary>
         /// 鎺ㄩ�佹椂闂�
         /// </summary>
-        public string createTime;
+        public long createTime;
+    }
+
+
+    /// <summary>
+    // 鎺ㄩ�佹秷鎭垎椤靛璞�
+    /// </summary>
+    public class PushMessageInfoList : BasePagingObj
+    {
+        public List<PushMessageInfo> list = new List<PushMessageInfo>();
 
     }
 
+
+    /// <summary>
+    /// 鐗╀笟鍏憡璇︽儏
+    /// </summary>
+    [System.Serializable]
+    public class PushNoticeInfo
+    {
+        /// <summary>
+        /// 娑堟伅ID
+        /// </summary>
+        public string noticeId;
+        /// <summary>
+        /// 娑堟伅鏍囬
+        /// </summary>
+        public string title;
+        /// <summary>
+        /// 瀵屾枃鏈唴瀹�
+        /// </summary>
+        public string content;
+    }
+
+    /// <summary>
+    /// 鎺ㄩ�佹墿灞曚俊鎭�
+    /// </summary>
+    [System.Serializable]
+    public class MessageExpandInfo
+    {
+        /// <summary>
+        /// expantContent
+        /// </summary>
+        public string expantContent;
+      
+    }
+
+    /// <summary>
+    /// 鎺ㄩ�佹墿灞曚俊鎭�
+    /// </summary>
+    [System.Serializable]
+    public class ExpantContentInfo
+    {
+        /// <summary>
+        /// targetId
+        /// </summary>
+        public string targetId;
+        /// <summary>
+        /// messageType
+        /// </summary>
+        public string messageType;
+
+    }
+
+
 }

--
Gitblit v1.8.0