From 17c8d94258154ab2e9f6d2cf821202c873b9f118 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 16 十二月 2020 15:39:15 +0800
Subject: [PATCH] 22222
---
HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs | 364 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 294 insertions(+), 70 deletions(-)
diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
index 0ad866e..87d2684 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,7 +22,7 @@
/// <summary>
/// 鍐呭涓虹┖鎻愮ずView
/// </summary>
- EmptyTipView emptyTipView;
+ FrameLayout emptyTipView;
/// <summary>
/// menuView
@@ -34,14 +36,25 @@
/// <summary>
/// 鏄剧ず鐨勬秷鎭被鍨�
- /// 1鍏ㄩ儴 2鍒嗕韩涓庡姛鑳� 3鎶ヨ绫� 4绯荤粺淇℃伅
+ /// 0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅
/// </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 +68,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>
@@ -93,9 +110,17 @@
allMenuButton.TextButton.TextID = StringId.All;
Action allAction = () =>
{
- MenuButtonSelect(1);
+ MenuButtonSelect(0);
};
allMenuButton.SelectAction = allAction;
+
+#if DEBUG
+ //娴嬭瘯鎻愬墠褰撳墠鎺ㄩ�両D
+ allMenuButton.ImageButton.MouseLongEventHandler = (sender, e) =>
+ {
+ CopyToClipboard("鎺ㄩ�両D锛�" + OnAppConfig.Instance.PushId);
+ };
+#endif
#endregion
#region 鍒嗕韩涓庡姛鑳�
@@ -110,7 +135,7 @@
shareMenuButton.TextButton.TextID = StringId.SharingAndFunctionality;
Action shateAction = () =>
{
- MenuButtonSelect(2);
+ MenuButtonSelect(1);
};
shareMenuButton.SelectAction = shateAction;
#endregion
@@ -127,7 +152,7 @@
alarmMenuButton.TextButton.TextID = StringId.AlarmType;
Action alarmAction = () =>
{
- MenuButtonSelect(3);
+ MenuButtonSelect(2);
};
alarmMenuButton.SelectAction = alarmAction;
#endregion
@@ -144,7 +169,7 @@
systemMenuButton.TextButton.TextID = StringId.SystemMessage;
Action systemAction = () =>
{
- MenuButtonSelect(4);
+ MenuButtonSelect(3);
};
systemMenuButton.SelectAction = systemAction;
#endregion
@@ -177,12 +202,12 @@
/// <summary>
///
/// </summary>
- /// <param name="selectId">1鍏ㄩ儴 2鍒嗕韩涓庡姛鑳� 3鎶ヨ绫� 4绯荤粺淇℃伅</param>
+ /// <param name="selectId">0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅</param>
void MenuButtonSelect(int selectId)
{
showMesType = selectId;
- if (selectId == 1)
+ if (selectId == 0)
{
allMenuButton.IsSelected = true;
shareMenuButton.IsSelected = false;
@@ -190,7 +215,7 @@
systemMenuButton.IsSelected = false;
}
- else if (selectId == 2)
+ else if (selectId == 1)
{
allMenuButton.IsSelected = false;
shareMenuButton.IsSelected = true;
@@ -198,14 +223,14 @@
systemMenuButton.IsSelected = false;
}
- else if (selectId == 3)
+ else if (selectId == 2)
{
allMenuButton.IsSelected = false;
shareMenuButton.IsSelected = false;
alarmMenuButton.IsSelected = true;
systemMenuButton.IsSelected = false;
}
- else if (selectId == 4)
+ else if (selectId == 3)
{
allMenuButton.IsSelected = false;
shareMenuButton.IsSelected = false;
@@ -213,6 +238,8 @@
systemMenuButton.IsSelected = true;
}
+
+ GetPushMessageList(showMesType);
}
@@ -222,13 +249,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>
@@ -281,11 +319,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 +336,79 @@
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) =>
+ {
+ 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 result = new HttpServerRequest().PushSerivceDeleteMessage(pushMessageInfo.id);
+ 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>
@@ -339,20 +440,29 @@
}
/// <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();
+ 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());
@@ -362,6 +472,7 @@
{
ParseAndDisplayPushList();
+ PushSerivceMarkAllMessageRead();
}
else
{
@@ -371,6 +482,10 @@
}
else
{
+ Application.RunOnMainThread(() =>
+ {
+ AddEmptyTipView();
+ });
IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
}
}
@@ -397,14 +512,29 @@
/// </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);
}
}
#region 娴嬭瘯
+#if DEBUG
/// <summary>
///
/// </summary>
@@ -414,82 +544,176 @@
{
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>
- /// 鏄惁宸茶
- /// </summary>
- public bool isRead;
- /// <summary>
- /// 娑堟伅鍐呭
- /// </summary>
- public string messageContent;
- /// <summary>
- /// 鎵╁睍鏁版嵁
- /// </summary>
- public string messageExpand;
- /// <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锛氭帹鑽愶紱
+ /// 浜戠瀹氫箟 鎺ㄩ�佺被鍨嬶紱0锛氶粯璁わ紱1锛氭姤璀︼紱2锛氭彁绀猴紱3锛氭柊闂伙紱4锛氭帹鑽愶紱
+ ///
+ /// Default锛氬垎浜笌鍔熻兘锛汚larm锛氭姤璀︾被锛汸rompt锛氱郴缁熸秷鎭�
/// </summary>
public string pushType;
/// <summary>
+ /// 娑堟伅涓婚
+ /// </summary>
+ public string messageTitle;
+ /// <summary>
+ /// 娑堟伅鍐呭
+ /// </summary>
+ public string messageContent;
+ ///// <summary>
+ ///// 鎵╁睍鏁版嵁
+ ///// </summary>
+ //public string messageExpand;
+ ///// <summary>
+ ///// 娑堟伅绫诲瀷锛�0锛氭彁绀猴紱1锛氭姤璀︼紱2锛氫赴鏋楀彲鏄璁插懠鍙紱3锛氬己鍒朵笅绾挎帹閫�
+ ///// </summary>
+ //public string messageType;
+ /// <summary>
+ /// 鏄惁宸茶
+ /// </summary>
+ public bool isRead;
+ /// <summary>
/// 鎺ㄩ�佹椂闂�
/// </summary>
- public string createTime;
-
+ public long createTime;
}
}
--
Gitblit v1.8.0