From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期五, 12 六月 2020 09:22:04 +0800
Subject: [PATCH] 2020.06.12

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs |   99 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 87 insertions(+), 12 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs
index aa41b6f..77406ae 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs
@@ -14,19 +14,28 @@
         /// </summary>
         public MessageManagementControl()
         {
-            this.Height = Application.GetMinRealAverage(69);
-            this.Width = Application.GetMinRealAverage(69);
+            this.Height = this.GetPictrueRealSize(69);
+            this.Width = this.GetPictrueRealSize(69);
             this.UnSelectedImagePath = "Item/MessageManagement.png";
             this.SelectedImagePath = "Item/MessageManagementSelected.png";
-            this.ButtonClickEvent += (sender, e) =>
-            {
-                this.IsSelected = false;
 
-                var form = new UserMain.MessageManagementForm();
-                form.AddForm();
-            };
-            //鍒锋柊鐘舵��
-            this.RefreshStatu();
+            //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥
+            if (Common.Config.Instance.Home.IsVirtually == false)
+            {
+                this.ButtonClickEvent += (sender, e) =>
+                {
+                    //鐐瑰嚮鍚�,娓呯┖鐘舵��
+                    this.IsSelected = false;
+                    ControlCommonResourse.HadNewMessage = false;
+
+                    var form = new UserMain.MessageManagementForm();
+                    form.AddForm();
+                };
+                //娣诲姞缂撳瓨
+                ControlCommonResourse.listMessageManaContr.Add(this);
+                //鍒锋柊鐘舵��
+                this.RefreshStatu();
+            }
         }
 
         /// <summary>
@@ -34,8 +43,74 @@
         /// </summary>
         public void RefreshStatu()
         {
-            //鏆傛椂娴嬭瘯
-            this.IsSelected = true;
+            //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥
+            if (Common.Config.Instance.Home.IsVirtually == true)
+            {
+                return;
+            }
+
+            if (ControlCommonResourse.HadNewMessage == true)
+            {
+                //濡傛灉宸茬粡鏈夋柊娑堟伅杩囨潵浜�,灏变笉鐢ㄨ浜�
+                ControlCommonResourse.ReadMessageAgain = false;
+                this.IsSelected = true;
+                return;
+            }
+            if (ControlCommonResourse.ReadMessageAgain == false)
+            {
+                //鏃犻渶鍐嶆璇诲彇
+                return;
+            }
+            ControlCommonResourse.ReadMessageAgain = false;
+
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                string nowHomeId = Common.Config.Instance.Home.Id;
+                var pra = new MessageInfoPra();
+                pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+
+                var result = await UserCenterLogic.GetResponseDataByRequestHttps("MessageCenter/GetMessageCenterPagger", false, pra, new List<string>() { "NotSetAgain", "NotCheck" });
+                if (string.IsNullOrEmpty(result) == true)
+                {
+                    //鍑洪敊锛岄渶瑕侀噸鏂拌鍙�
+                    ControlCommonResourse.ReadMessageAgain = true;
+                    return;
+                }
+                if (nowHomeId != Common.Config.Instance.Home.Id)
+                {
+                    //妫�娴嬶細鍒囨崲浜嗕綇瀹咃紵锛�
+                    return;
+                }
+                var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageCentetInfo>(result);
+                for (int i = 0; i < dataInfo.PageData.Count; i++)
+                {
+                    if (dataInfo.PageData[i].IsReading == false)
+                    {
+                        if (dataInfo.PageData[i].Topic == "/DoorLock/DoorLockOperatingEventNotificationCommand")
+                        {
+                            //鏆傛椂涓嶅鐞嗚繖涓富棰�
+                            continue;
+                        }
+                        ControlCommonResourse.HadNewMessage = true;
+                        Application.RunOnMainThread(() =>
+                        {
+                            //鏈夋柊娑堟伅
+                            this.IsSelected = true;
+                        });
+                        break;
+                    }
+                }
+            });
+        }
+
+        /// <summary>
+        /// 鎺т欢绉婚櫎
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            ControlCommonResourse.listMessageManaContr.Remove(this);
+
+            base.RemoveFromParent();
         }
     }
 }

--
Gitblit v1.8.0