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 | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 254 insertions(+), 30 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs index 05cabc6..b2635af 100644 --- a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs @@ -27,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> @@ -89,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() @@ -132,9 +140,9 @@ #endif }; -#endregion + #endregion -#region 鍒嗕韩涓庡姛鑳� + #region 鍒嗕韩涓庡姛鑳� shareMenuButton = new MenuButton() { X = allMenuButton.Right, @@ -150,9 +158,9 @@ MenuButtonSelect(1); }; shareMenuButton.SelectAction = shateAction; -#endregion + #endregion -#region 鎶ヨ绫� + #region 鎶ヨ绫� alarmMenuButton = new MenuButton() { X = shareMenuButton.Right, @@ -167,9 +175,9 @@ MenuButtonSelect(2); }; alarmMenuButton.SelectAction = alarmAction; -#endregion + #endregion -#region 绯荤粺淇℃伅 + #region 绯荤粺淇℃伅 systemMenuButton = new MenuButton() { X = alarmMenuButton.Right, @@ -184,7 +192,32 @@ MenuButtonSelect(3); }; systemMenuButton.SelectAction = systemAction; -#endregion + #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 + }); } @@ -214,7 +247,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; @@ -225,6 +258,7 @@ shareMenuButton.IsSelected = true; alarmMenuButton.IsSelected = true; systemMenuButton.IsSelected = true; + propertyMenuButton.IsSelected = true; } else if (selectId == 1) @@ -233,6 +267,7 @@ shareMenuButton.IsSelected = true; alarmMenuButton.IsSelected = false; systemMenuButton.IsSelected = false; + propertyMenuButton.IsSelected = false; } else if (selectId == 2) @@ -241,6 +276,7 @@ shareMenuButton.IsSelected = false; alarmMenuButton.IsSelected = true; systemMenuButton.IsSelected = false; + propertyMenuButton.IsSelected = false; } else if (selectId == 3) { @@ -248,8 +284,20 @@ 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; + + } + + menuView.ScrollToX(selectId * Application.GetRealWidth(40)); GetPushMessageList(showMesType); } @@ -359,16 +407,17 @@ btnDatetime.Text = GetUnixToDateTime(pushMessageInfo.createTime); - //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; - + 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> @@ -402,7 +451,13 @@ { try { - var result = new HttpServerRequest().PushSerivceDeleteMessage(pushMessageInfo.id); + var delPush = new PushMsgIdObj() + { + msgId = pushMessageInfo.id, + pushType = pushMessageInfo.pushType + }; + + var result = new HttpServerRequest().PushSerivceDeleteMessage(delPush); if (result) { PushMessageInfoList.Remove(pushMessageInfo); @@ -467,7 +522,7 @@ void GetPushMessageList(int queryType = 0) { bodyScrolView.RemoveAll(); - if(PushMessageInfoList == null) + if (PushMessageInfoList == null) { PushMessageInfoList = new List<PushMessageInfo>(); } @@ -475,7 +530,7 @@ { PushMessageInfoList.Clear(); } - + YearMark = "";//鏍囪娓呯┖ if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId)) { @@ -494,7 +549,14 @@ 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) @@ -562,7 +624,107 @@ } } -#region 娴嬭瘯 + /// <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> /// @@ -637,7 +799,7 @@ #endif -#endregion + #endregion /// <summary> /// 鏍囪鎵�鏈夋帹閫佹秷鎭凡璇� @@ -727,10 +889,10 @@ /// 娑堟伅鍐呭 /// </summary> public string messageContent; - ///// <summary> - ///// 鎵╁睍鏁版嵁 - ///// </summary> - //public string messageExpand; + /// <summary> + /// 鎵╁睍鏁版嵁 + /// </summary> + public string messageExpand; ///// <summary> ///// 娑堟伅绫诲瀷锛�0锛氭彁绀猴紱1锛氭姤璀︼紱2锛氫赴鏋楀彲鏄璁插懠鍙紱3锛氬己鍒朵笅绾挎帹閫� ///// </summary> @@ -745,4 +907,66 @@ 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