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