From 19d0e070e128daf855beaf72e00f55334be9f87b Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期六, 28 八月 2021 13:47:25 +0800
Subject: [PATCH] 1

---
 HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs |  217 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 183 insertions(+), 34 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
index 4ea4cbd..eb5f464 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>
@@ -25,16 +27,17 @@
         /// <summary>
         /// menuView
         /// </summary>
-        FrameLayout menuView;
+        HorizontalScrolViewLayout menuView;//2021-08-27 澧炲姞澶氫簡涓�涓彍鍗曟寜閽墍浠ユ敼涓烘粴鍔ㄦ帶浠�
         MenuButton allMenuButton;
         MenuButton shareMenuButton;
         MenuButton alarmMenuButton;
         MenuButton systemMenuButton;
+        MenuButton propertyMenuButton;//澧炲姞鐗╀笟閫氱煡鎸夐挳
         FrameLayout messageView;
 
         /// <summary>
         /// 鏄剧ず鐨勬秷鎭被鍨�
-        /// 0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅
+        /// 0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅 4鐗╀笟鍏憡
         /// </summary>
         int showMesType = 0;
         /// <summary>
@@ -42,6 +45,17 @@
         /// </summary>
         List<PushMessageInfo> PushMessageInfoList = new List<PushMessageInfo>();
 
+        /// <summary>
+        /// 椤甸潰鍏抽棴鏃堕棿
+        /// </summary>
+        Action backAction;
+
+        public override void RemoveFromParent()
+        {
+            UnregisterGetPushMessageAction();
+            base.RemoveFromParent();
+            backAction?.Invoke();
+        }
 
         /// <summary>
         /// 
@@ -58,12 +72,13 @@
         /// <param name="backAction"></param>
         public void LoadPage(Action backAction)
         {
-            new TopViewDiv(bodyView, Language.StringByID(StringId.MessageCenter)).LoadTopView(backAction);
+            this.backAction = backAction;
+            new TopViewDiv(bodyView, Language.StringByID(StringId.MessageCenter)).LoadTopView();
 
             AddTopMenuView();
             AddMessageView();
             MenuButtonSelect(showMesType);
-
+            RegisterGetPushMessageAction();
             //娴嬭瘯浠g爜
             //AddEmptyTipView();
             //TestLoad();
@@ -75,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()
@@ -99,7 +121,26 @@
                 MenuButtonSelect(0);
             };
             allMenuButton.SelectAction = allAction;
-            #endregion
+            //娴嬭瘯鎻愬墠褰撳墠鎺ㄩ�両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 鍒嗕韩涓庡姛鑳�
             shareMenuButton = new MenuButton()
@@ -111,6 +152,7 @@
             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(1);
@@ -118,7 +160,7 @@
             shareMenuButton.SelectAction = shateAction;
             #endregion
 
-            #region 鎶ヨ绫�
+#region 鎶ヨ绫�
             alarmMenuButton = new MenuButton()
             {
                 X = shareMenuButton.Right,
@@ -133,9 +175,9 @@
                 MenuButtonSelect(2);
             };
             alarmMenuButton.SelectAction = alarmAction;
-            #endregion
+#endregion
 
-            #region 绯荤粺淇℃伅
+#region 绯荤粺淇℃伅
             systemMenuButton = new MenuButton()
             {
                 X = alarmMenuButton.Right,
@@ -151,6 +193,30 @@
             };
             systemMenuButton.SelectAction = systemAction;
             #endregion
+
+            #region 鐗╀笟閫氱煡
+            propertyMenuButton = new MenuButton()
+            {
+                X = systemMenuButton.Right,
+                Y = Application.GetRealWidth(16),
+            };
+            //menuView.AddChidren(propertyMenuButton); //鍏堝睆钄�
+            propertyMenuButton.ImageButton.SelectedImagePath = "Collection/MesCenter/SystemOn.png";
+            propertyMenuButton.ImageButton.UnSelectedImagePath = "Collection/MesCenter/System.png";
+            propertyMenuButton.TextButton.TextID = StringId.SystemMessage;
+            Action propertyAction = () =>
+            {
+                MenuButtonSelect(4);
+            };
+            propertyMenuButton.SelectAction = propertyAction;
+            #endregion
+
+            //鍏堝睆钄�
+            ////鍙硃addingView 
+            //menuView.AddChidren(new Button() {
+            //    Width = Application.GetRealWidth(15),
+            //    BackgroundColor = CSS_Color.viewTranslucence
+            //});
 
         }
 
@@ -180,7 +246,7 @@
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="selectId">0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅</param>
+        /// <param name="selectId">0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅 4鐗╀笟閫氱煡</param>
         void MenuButtonSelect(int selectId)
         {
             showMesType = selectId;
@@ -188,9 +254,10 @@
             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 == 1)
@@ -199,6 +266,7 @@
                 shareMenuButton.IsSelected = true;
                 alarmMenuButton.IsSelected = false;
                 systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = false;
 
             }
             else if (selectId == 2)
@@ -207,6 +275,7 @@
                 shareMenuButton.IsSelected = false;
                 alarmMenuButton.IsSelected = true;
                 systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = false;
             }
             else if (selectId == 3)
             {
@@ -214,6 +283,16 @@
                 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 = false;
+                propertyMenuButton.IsSelected = true;
 
             }
 
@@ -260,21 +339,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),
@@ -283,7 +368,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.PromptingColor1,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = pushMessageInfo.messageContent
+                Text = pushMessageInfo.messageTitle
             };
             rowView.AddChidren(btnSubtitle);
 
@@ -319,13 +404,16 @@
 
 
             btnDatetime.Text = GetUnixToDateTime(pushMessageInfo.createTime);
-            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
-            {
-                new Alert(pushMessageInfo.messageTitle, pushMessageInfo.messageContent, Language.StringByID(StringId.Close)).Show();
-            };
+            //2020-12-23 鍘绘帀鐐瑰嚮寮圭獥浜嬩欢
+            //EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            //{
+            //    new Alert(pushMessageInfo.messageTitle, pushMessageInfo.messageContent, Language.StringByID(StringId.Close)).Show();
+            //};
+            //rowView.MouseUpEventHandler = eventHandler;
+            //btnTilte.MouseUpEventHandler = eventHandler;
+            //btnSubtitle.MouseUpEventHandler = eventHandler;
 
-            btnTilte.MouseUpEventHandler = eventHandler;
-            btnSubtitle.MouseUpEventHandler = eventHandler;
+           
         }
 
         /// <summary>
@@ -402,7 +490,7 @@
             };
             VerticalScrolViewMiddle.AddChidren(bgView);
 
-            var yearBtn = new Button()
+            var yearBtn = new TextButton()
             {
                 X = Application.GetRealWidth(16),
                 Y = Application.GetRealHeight(16),
@@ -412,9 +500,9 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                 IsBold = true,
-                Text = yearStr
             };
             bgView.AddChidren(yearBtn);
+            yearBtn.Text = yearStr + Language.StringByID(StringId.Years);
         }
 
         /// <summary>
@@ -424,9 +512,18 @@
         void GetPushMessageList(int queryType = 0)
         {
             bodyScrolView.RemoveAll();
-            PushMessageInfoList.Clear();
+            if(PushMessageInfoList == null)
+            {
+                PushMessageInfoList = new List<PushMessageInfo>();
+            }
+            else
+            {
+                PushMessageInfoList.Clear();
+            }
+          
             YearMark = "";//鏍囪娓呯┖
-            if (string.IsNullOrEmpty(UserInfo.Current.PushId)) {
+            if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId))
+            {
                 AddEmptyTipView();
                 return;
             }
@@ -442,7 +539,13 @@
                     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)
@@ -510,7 +613,7 @@
             }
         }
 
-        #region 娴嬭瘯
+#region 娴嬭瘯
 #if DEBUG
         /// <summary>
         /// 
@@ -585,12 +688,13 @@
 
 #endif
 
-        #endregion
+#endregion
 
         /// <summary>
         /// 鏍囪鎵�鏈夋帹閫佹秷鎭凡璇�
         /// </summary>
-        void PushSerivceMarkAllMessageRead() {
+        void PushSerivceMarkAllMessageRead()
+        {
             new Thread(() =>
             {
                 var result = new HttpServerRequest().PushSerivceMarkAllMessageRead();
@@ -608,6 +712,41 @@
             { 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
 
     }
 
@@ -657,4 +796,14 @@
         public long createTime;
     }
 
+
+    /// <summary>
+    // 鎺ㄩ�佹秷鎭垎椤靛璞�
+    /// </summary>
+    public class PushMessageInfoList : BasePagingObj
+    {
+        public List<PushMessageInfo> list = new List<PushMessageInfo>();
+
+    }
+
 }

--
Gitblit v1.8.0