From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1
---
HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs | 423 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 338 insertions(+), 85 deletions(-)
diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
index 0ad866e..f00ffbe 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,10 +110,29 @@
allMenuButton.TextButton.TextID = StringId.All;
Action allAction = () =>
{
- MenuButtonSelect(1);
+ 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()
@@ -108,14 +144,15 @@
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
- #region 鎶ヨ绫�
+#region 鎶ヨ绫�
alarmMenuButton = new MenuButton()
{
X = shareMenuButton.Right,
@@ -127,12 +164,12 @@
alarmMenuButton.TextButton.TextID = StringId.AlarmType;
Action alarmAction = () =>
{
- MenuButtonSelect(3);
+ MenuButtonSelect(2);
};
alarmMenuButton.SelectAction = alarmAction;
- #endregion
+#endregion
- #region 绯荤粺淇℃伅
+#region 绯荤粺淇℃伅
systemMenuButton = new MenuButton()
{
X = alarmMenuButton.Right,
@@ -144,10 +181,10 @@
systemMenuButton.TextButton.TextID = StringId.SystemMessage;
Action systemAction = () =>
{
- MenuButtonSelect(4);
+ MenuButtonSelect(3);
};
systemMenuButton.SelectAction = systemAction;
- #endregion
+#endregion
}
@@ -177,20 +214,20 @@
/// <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;
- alarmMenuButton.IsSelected = false;
- systemMenuButton.IsSelected = false;
+ shareMenuButton.IsSelected = true;
+ alarmMenuButton.IsSelected = true;
+ systemMenuButton.IsSelected = true;
}
- else if (selectId == 2)
+ else if (selectId == 1)
{
allMenuButton.IsSelected = false;
shareMenuButton.IsSelected = true;
@@ -198,14 +235,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 +250,8 @@
systemMenuButton.IsSelected = true;
}
+
+ GetPushMessageList(showMesType);
}
@@ -222,13 +261,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 +294,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 +323,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = pushMessageInfo.messageContent
+ Text = pushMessageInfo.messageTitle
};
rowView.AddChidren(btnSubtitle);
@@ -281,11 +337,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 +354,82 @@
rowView.AddRightView(deleteBtn);
deleteBtn.MouseUpEventHandler = (sender, e) =>
{
- rowView.RemoveFromParent();
+ DeleteThePush(pushMessageInfo, rowView);
};
+
+ 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;
+
+
+ }
+
+ /// <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>
@@ -323,7 +445,7 @@
};
VerticalScrolViewMiddle.AddChidren(bgView);
- var yearBtn = new Button()
+ var yearBtn = new TextButton()
{
X = Application.GetRealWidth(16),
Y = Application.GetRealHeight(16),
@@ -333,26 +455,43 @@
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());
@@ -362,6 +501,7 @@
{
ParseAndDisplayPushList();
+ PushSerivceMarkAllMessageRead();
}
else
{
@@ -371,6 +511,10 @@
}
else
{
+ Application.RunOnMainThread(() =>
+ {
+ AddEmptyTipView();
+ });
IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
}
}
@@ -397,14 +541,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 娴嬭瘯
+#region 娴嬭瘯
+#if DEBUG
/// <summary>
///
/// </summary>
@@ -414,82 +573,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();
}
- #endregion
+
+#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