From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs |  179 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 103 insertions(+), 76 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
index 09bc3c4..b48a58d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -6,7 +6,7 @@
 
 namespace Shared.Phone.UserCenter.DoorLock
 {
-    public class TemporaryPassword : DoorLockCommonLayout, ZigBee.Common.IStatus
+    public class TemporaryPassword : DoorLockCommonLayout
     {
         /// <summary>
         /// 鏋勯�犲嚱鏁�
@@ -16,7 +16,6 @@
         {
             this.doorLock = doorLock;
             BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
-            ZigBee.Device.ZbGateway.StatusList.Add(this);
         }
 
         #region  鍙橀噺鐢虫槑
@@ -174,6 +173,7 @@
                 TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                 TextAlignment = TextAlignment.CenterRight,
                 TextSize = 16,
+                Text = "--:--",
             };
             MidTopFrameLayout.AddChidren(validTime);
 
@@ -197,6 +197,7 @@
                 TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = 16,
+                Text = "--:--",
             };
             MidTopFrameLayout.AddChidren(inValidTime);
 
@@ -392,7 +393,9 @@
                                 //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
                                 Application.RunOnMainThread(() =>
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                    var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1);
+                                    ShowMassage(ShowMsgType.Tip, mess);
+
                                 });
                                 return;
                             }
@@ -412,7 +415,8 @@
                                 //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
                                 Application.RunOnMainThread(() =>
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                    var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1);
+                                    this.ShowMassage(ShowMsgType.Tip, mess);
                                 });
                                 return;
                             }
@@ -494,7 +498,8 @@
                         //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                            var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1);
+                            this.ShowMassage(ShowMsgType.Tip, mess);
                         });
                         return;
                     }
@@ -507,7 +512,8 @@
                         //鏃犳晥鐨勬椂闂磋缃�
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                            var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip);
+                            this.ShowMassage(ShowMsgType.Tip, mess);
                         });
                         return;
                     }
@@ -564,12 +570,16 @@
                             if (doorLock.tempPasswordObject != null)
                             {
                                 var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData();
-                                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1)
                                 {
-                                    addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                    //鈽嗐優銉笺偗鈽�
+                                    //addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                     addDoorLockTempPasswordData.IsOtherAccountCtrl = true;
                                 }
-                                addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword;
+                                //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞�
+                                string hdlKey = "hD1(La3o";
+                                var enPsw = HdlCommonLogic.Current.EncryptPassword(hdlKey, doorLock.tempPasswordObject.TempPassword);
+                                addDoorLockTempPasswordData.TempPwd = enPsw;
                                 if (doorLock.DeviceAddr != null)
                                 {
                                     addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
@@ -583,15 +593,17 @@
                                 {
                                     Application.RunOnMainThread(() =>
                                     {
-                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                        var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime);
+                                        this.ShowMassage(ShowMsgType.Tip, mess);
                                     });
                                     return;
                                 }
-                                if (result1.StateCode != "Success")
+                                if (result1.Code != HttpMessageEnum.A鎴愬姛)
                                 {
                                     Application.RunOnMainThread(() =>
                                     {
-                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                        var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm1);
+                                        this.ShowMassage(ShowMsgType.Tip, mess);
                                     });
                                     return;
                                 }
@@ -603,7 +615,8 @@
                             {
                                 Application.RunOnMainThread(() =>
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                    var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm);
+                                    this.ShowMassage(ShowMsgType.Tip, mess);
                                 });
                                 return;
                             }
@@ -612,7 +625,8 @@
                         {
                             Application.RunOnMainThread(() =>
                             {
-                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm);
+                                this.ShowMassage(ShowMsgType.Tip, mess);
                             });
                             return;
                         }
@@ -621,7 +635,8 @@
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                            var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+                            this.ShowMassage(ShowMsgType.Tip, mess);
                         });
                         return;
                     }
@@ -694,7 +709,7 @@
             {
                 dialog.Close();
                 string msg = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword);
-                var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
+                var alert = new ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                 alert.Show();
                 //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
                 alert.ConfirmClickEvent += () =>
@@ -729,9 +744,10 @@
                         if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
                         {
                             var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData();
-                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                            if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1)
                             {
-                                delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                //鈽嗐優銉笺偗鈽�
+                                //delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                 delDoorLockTempPasswordData.IsOtherAccountCtrl = true;
                             }
                             if (doorLock.DeviceAddr != null)
@@ -741,7 +757,7 @@
                             var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData);
                             if (result1 != null)
                             {
-                                if (result1.StateCode == "Success")
+                                if (result1.Code == HttpMessageEnum.A鎴愬姛)
                                 {
                                     doorLock.tempPasswordObject = null;
                                     doorLock.LocalTempPassword = "";
@@ -753,7 +769,8 @@
                                 {
                                     Application.RunOnMainThread(() =>
                                     {
-                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1) + ".", Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                        var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1);
+                                        this.ShowMassage(ShowMsgType.Tip, mess);
                                     });
                                 }
                             }
@@ -761,7 +778,8 @@
                             {
                                 Application.RunOnMainThread(() =>
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                    var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime);
+                                    this.ShowMassage(ShowMsgType.Tip, mess);
                                 });
                             }
                         }
@@ -769,14 +787,15 @@
                         {
                             Application.RunOnMainThread(() =>
                             {
-                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1);
+                                this.ShowMassage(ShowMsgType.Tip, mess);
                             });
                         }
                     }
                     else
                     {
-                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText);
-
+                        var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+                        this.ShowMassage(ShowMsgType.Tip, mess);
                     }
                 }
             }
@@ -803,9 +822,10 @@
                 try
                 {
                     var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData();
-                    if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                    if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1)
                     {
-                        getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                        //鈽嗐優銉笺偗鈽�
+                        //getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                         getDoorLockTempPasswordData.IsOtherAccountCtrl = true;
                     }
                     if (doorLock.DeviceAddr != null)
@@ -823,7 +843,10 @@
                                 tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId);
                                 tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime;
                                 tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime;
-                                doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd;
+                                //瑙e瘑瀵嗙爜
+                                string hdlKey = "hD1(La3o";
+                                var desPsw = HdlCommonLogic.Current.DecryptPassword(hdlKey, curDoorLockTempPaw.TempPwd);
+                                doorLock.LocalTempPassword = tpObj.TempPassword = desPsw;
                                 doorLock.tempPasswordObject = tpObj;
                                 TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
                             }
@@ -839,7 +862,8 @@
                     }
                     else
                     {
-                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                        var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime);
+                        this.ShowMassage(ShowMsgType.Tip, mess);
                     }
                 }
                 catch { }
@@ -909,18 +933,39 @@
             if (isDefaultTime)
             {
                 var cur = DateTime.Now;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = cur.Hour;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = cur.Hour;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = cur.Minute;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = cur.Minute;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = cur.Second;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = cur.Second;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = cur.Year;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = cur.Year;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = cur.Month;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1;
+                DoorLockCommonInfo.ValidDateHour = cur.Hour;
+                DoorLockCommonInfo.ValidDateMinute = cur.Minute;
+                DoorLockCommonInfo.ValidDateSecond = cur.Second;
+                DoorLockCommonInfo.InValidDateHour = cur.Hour;
+                DoorLockCommonInfo.InValidDateMinute = cur.Minute;
+                DoorLockCommonInfo.InValidDateSecond = cur.Second;
+                DoorLockCommonInfo.ValidDateYear = cur.Year;
+                DoorLockCommonInfo.ValidDateMonth = cur.Month;
+                DoorLockCommonInfo.ValidDateDay = cur.Day;
+
+                var curD = DoorLockCommonInfo.LastDayOfMonth(cur);
+                if (DoorLockCommonInfo.ValidDateDay == curD.Day)
+                {
+                    if (DoorLockCommonInfo.ValidDateMonth == 12)
+                    {
+                        DoorLockCommonInfo.InValidDateYear = cur.Year + 1;
+                        DoorLockCommonInfo.InValidDateMonth = 1;
+                        DoorLockCommonInfo.InValidDateDay = 1;
+                    }
+                    else
+                    {
+                        DoorLockCommonInfo.InValidDateYear = cur.Year;
+                        DoorLockCommonInfo.InValidDateMonth = cur.Month + 1;
+                        DoorLockCommonInfo.InValidDateDay = 1;
+                    }
+                }
+                else
+                {
+                    DoorLockCommonInfo.InValidDateYear = cur.Year;
+                    DoorLockCommonInfo.InValidDateMonth = cur.Month;
+                    DoorLockCommonInfo.InValidDateDay = cur.Day + 1;
+                }
+
                 //doorLock.ReSave();
             }
             if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10)
@@ -942,7 +987,7 @@
             //鏈夋晥鏃堕棿
             if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
             {
-                validTime.Text = "00:00";
+                validTime.Text = "--:--";
             }
             else
             {
@@ -968,48 +1013,30 @@
 
             if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
             {
-                inValidTime.Text = "00:00";
+                inValidTime.Text = "--:--";
             }
             else
             {
                 inValidTime.Text = hour + ":" + minute;
             }
-            validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
-            inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
-        }
 
-        #region 鎺ュ彛瀹炵幇
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
+            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0)
+            {
+                validTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day);
+            }
+            else
+            {
+                validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
+            }
 
+            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0)
+            {
+                inValidTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day);
+            }
+            else
+            {
+                inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
+            }
         }
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢
-        /// </summary>
-        /// <param name="common"></param>
-        /// <param name="typeTag"></param>
-        public void DeviceInfoChange(CommonDevice common, string typeTag)
-        {
-        }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
-        }
-        #endregion
     }
 }

--
Gitblit v1.8.0