From c1de48884fa145a16a0f8bcee93274dcfaa0ff82 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 07 五月 2020 10:40:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-2020xm
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 294 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
new file mode 100755
index 0000000..123a88f
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
@@ -0,0 +1,294 @@
+锘縰sing System;
+using Newtonsoft.Json.Linq;
+using Shared.Common;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.DoorLock
+{
+ public class AddUnLockMethodTip : DoorLockCommonLayout
+ {
+ /// 鏋勯�犲嚱鏁�
+ /// </summary>
+ /// <param name="doorLock"></param>
+ public AddUnLockMethodTip(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj, string entryType)
+ {
+ this.doorLock = doorLock;
+ this.curAccountObj = accountObj;
+ this.currentType = entryType;
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
+ }
+
+ #region 鍙橀噺鐢虫槑
+ /// <summary>
+ /// 褰撳墠闂ㄩ攣
+ /// </summary>
+ ZigBee.Device.DoorLock doorLock;
+ /// <summary>
+ /// 褰撳墠璐︽埛
+ /// </summary>
+ Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
+ /// <summary>
+ /// 褰撳墠绫诲瀷
+ /// </summary>
+ string currentType = string.Empty;
+ /// <summary>
+ /// 鎺ユ敹閫氱煡
+ /// </summary>
+ Action<string, string> action;
+
+ #endregion
+
+ /// <summary>
+ /// UI鏄剧ず
+ /// </summary>
+ public void Show()
+ {
+ string currentTitle = "";
+ if (currentType == "password")
+ {
+ currentTitle = Language.StringByID(R.MyInternationalizationString.AddPassword);
+ }
+ else if (currentType == "fingerprint")
+ {
+ currentTitle = Language.StringByID(R.MyInternationalizationString.AddFingerprint);
+ }
+ else if (currentType == "proximity")
+ {
+ currentTitle = Language.StringByID(R.MyInternationalizationString.AddIcCard);
+ }
+ this.TopFrameLayout(this, currentTitle);
+
+ EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
+ {
+ this.RemoveFromParent();
+ };
+ this.btnBack.MouseUpEventHandler += eHandlerBack;
+ this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
+ this.MidFrameLayout(this);
+
+ MidFrameLayoutContent();
+ }
+
+ /// <summary>
+ /// 閲嶅啓绉婚櫎鏂规硶
+ /// </summary>
+ public override void RemoveFromParent()
+ {
+ if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
+ {
+ doorLock.Gateway.GwResDataAction -= action;
+ }
+ base.RemoveFromParent();
+ }
+
+ /// <summary>
+ /// 涓儴甯冨眬
+ /// </summary>
+ public void MidFrameLayoutContent()
+ {
+ var topMidFrameLayout = new FrameLayout
+ {
+ X = Application.GetRealWidth(104),
+ Y = Application.GetRealHeight(112),
+ Height = Application.GetRealHeight(873),
+ Width = Application.GetRealWidth(876),
+ };
+ this.midFrameLayout.AddChidren(topMidFrameLayout);
+
+ var btnPicTip1 = new Button
+ {
+ X = Application.GetRealWidth(446),
+ Y = Application.GetRealHeight(330),
+ Height = Application.GetRealHeight(76 / 2),
+ Width = Application.GetRealWidth(407),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
+ TextSize = 10,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ topMidFrameLayout.AddChidren(btnPicTip1);
+
+ var btnPicTip2 = new Button
+ {
+ X = Application.GetRealWidth(446),
+ Y = btnPicTip1.Bottom,
+ Height = Application.GetRealHeight(76 / 2),
+ Width = Application.GetRealWidth(207),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
+ TextSize = 10,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ topMidFrameLayout.AddChidren(btnPicTip2);
+
+ var btnPicTip3 = new Button
+ {
+ X = Application.GetRealWidth(294),
+ Y = Application.GetRealHeight(1089),
+ Height = Application.GetRealHeight(100 / 2),
+ Width = Application.GetRealWidth(488),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
+ Gravity = Gravity.CenterHorizontal,
+ TextSize = 14,
+ };
+ this.midFrameLayout.AddChidren(btnPicTip3);
+
+ var btnPicTip4 = new Button
+ {
+ X = Application.GetRealWidth(397),
+ Y = btnPicTip3.Y + Application.GetRealHeight(50),
+ Width = Application.GetRealWidth(288),
+ Height = Application.GetRealHeight(100 / 2),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
+ Gravity = Gravity.CenterHorizontal,
+ TextSize = 14,
+ };
+ this.midFrameLayout.AddChidren(btnPicTip4);
+
+ var btnPicTip5 = new Button
+ {
+ X = Application.GetRealWidth(202),
+ Y = Application.GetRealHeight(1388),
+ Height = Application.GetRealHeight(49),
+ Width = Application.GetRealWidth(685),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ Gravity = Gravity.CenterHorizontal,
+ TextSize = 12,
+ };
+ this.midFrameLayout.AddChidren(btnPicTip5);
+
+ var nextBtn = new Button
+ {
+ X = Application.GetRealWidth(86),
+ Y = Application.GetRealHeight(1472),
+ Height = Application.GetRealHeight(127),
+ Width = Application.GetRealWidth(907),
+ Text = Language.StringByID(R.MyInternationalizationString.NextStepXm),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+ Gravity = Gravity.CenterHorizontal,
+ Radius = (uint)Application.GetRealHeight(127 / 2),
+ TextSize = 16,
+ IsBold = true,
+ Enable = false,
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
+ };
+ this.midFrameLayout.AddChidren(nextBtn);
+
+ if (currentType == "password")
+ {
+ topMidFrameLayout.BackgroundImagePath = "DoorLock/AddPasswordTicPic.png";
+ btnPicTip1.Width = Application.GetRealWidth(307);
+ btnPicTip1.X = Application.GetRealWidth(500);
+ btnPicTip1.Y = Application.GetRealHeight(350);
+ btnPicTip2.X = Application.GetRealWidth(543);
+ btnPicTip2.Y = btnPicTip1.Bottom + Application.GetRealHeight(10);
+ btnPicTip2.Width = Application.GetRealWidth(207);
+ btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryPasswordTip1);
+ btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryPassword);
+ btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryPasswordTip2);
+ btnPicTip4.Text = btnPicTip2.Text;
+ btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
+ }
+ else if (currentType == "fingerprint")
+ {
+ topMidFrameLayout.BackgroundImagePath = "DoorLock/AddFingerprintTipPic.png";
+ btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprintTip1);
+ btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprint);
+ btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprintTip2);
+ btnPicTip4.Text = btnPicTip2.Text;
+ btnPicTip1.X = Application.GetRealWidth(486);
+ btnPicTip1.Y = Application.GetRealHeight(320);
+ btnPicTip2.X = Application.GetRealWidth(543);
+ btnPicTip2.Width = Application.GetRealWidth(207);
+ btnPicTip1.X = Application.GetRealWidth(450);
+ btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
+ }
+ else if (currentType == "proximity")
+ {
+ topMidFrameLayout.BackgroundImagePath = "DoorLock/AddIcCardTipPic.png";
+ btnPicTip3.Width = Application.GetRealWidth(495);
+ btnPicTip1.X = Application.GetRealWidth(440);
+ btnPicTip1.Y = Application.GetRealHeight(313);
+ btnPicTip2.X = Application.GetRealWidth(538);
+ btnPicTip2.Width = Application.GetRealWidth(207);
+ btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityTip1);
+ btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityCard);
+ btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityTip2);
+ btnPicTip4.Text = btnPicTip2.Text;
+ btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
+ }
+
+ action = (topic, data) =>
+ {
+ var gatewayID = topic.Split('/')[0];
+ var jObjectdata = JObject.Parse(data);
+ if (jObjectdata == null)
+ {
+ return;
+ }
+ if (topic == $"{gatewayID}/DoorLock/DoorLockOperatingEventNotificationCommand")
+ {
+ var OperatingEventNotificationDatad = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockOperatingEventNotificationCommand>(jObjectdata["Data"].ToString());
+ if (OperatingEventNotificationDatad != null)
+ {
+ doorLock.doorLockOperatingEventNotificationCommand = OperatingEventNotificationDatad;
+ }
+ }
+ if (topic == $"{gatewayID}/DoorLock/DoorLockProgrammingEventNotificationCommand")
+ {
+ var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jObjectdata["Data"].ToString());
+ if (ProgrammingEventNotificationData != null)
+ {
+ int curMethod = -1;
+ if (currentType == "password")
+ {
+ curMethod = 0;
+ }
+ else if (currentType == "fingerprint")
+ {
+ curMethod = 15;
+ }
+ else if (currentType == "proximity")
+ {
+ curMethod = 3;
+ }
+ else
+ {
+ return;
+ }
+ if (ProgrammingEventNotificationData.ProgramEventSoure == curMethod)
+ {
+ doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData;
+ var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+ localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID;
+ localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure;
+ localDoorLockObj.EntryTime = System.DateTime.Now;
+ //鍏堟殏鏃跺姞鍏ワ紝绛変簯绔坊鍔犲拰鑾峰彇鐪熸鎴愬姛鍚庢墠鐪熺殑鍔犲叆
+ if (!doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj.UserID))
+ {
+ doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj);
+ }
+ Application.RunOnMainThread(() =>
+ {
+ nextBtn.Enable = true;
+ nextBtn.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ });
+ }
+ }
+ }
+ };
+
+ if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
+ {
+ doorLock.Gateway.GwResDataAction += action;
+ }
+
+ nextBtn.MouseDownEventHandler += (sende, e) =>
+ {
+ this.RemoveFromParent();
+ var entryStatusPage = new Shared.Phone.UserCenter.DoorLock.EntryStatusPage(doorLock, curAccountObj, currentType);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(entryStatusPage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ entryStatusPage.Show();
+ };
+ }
+ }
+}
--
Gitblit v1.8.0