From 98ceb6bd2021f9ff136cda27eef28676dd7b5d92 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 21 五月 2020 13:24:02 +0800
Subject: [PATCH] 最后的版本
---
ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs | 9
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 12
ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs | 5
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs | 4
ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs | 46 ---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs | 80 +++---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 337 +++++--------------------
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs | 6
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 10
ZigbeeApp/Shared/Common/Device.cs | 2
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs | 9
ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs | 224 +++++++++--------
12 files changed, 264 insertions(+), 480 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 8426b1a..6431441 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -2894,7 +2894,7 @@
this.dicDeviceModelIdEnum["MGCD01/ZB.10"] = "1306-1200-60000";//鍚搁《鐕冩皵浼犳劅鍣�
//PM2.5绌烘皵璐ㄩ噺浼犳劅鍣� 銆愯璁惧灞炰簬绗笁鏂硅澶囷紝娌℃湁闀滃儚ID銆�
- this.dicDeviceModelIdEnum["SZ_PM100"] = "1307-1200-60000";//PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
+ this.dicDeviceModelIdEnum["MSPM25/M-ZB.10"] = "1307-1200-60000";//PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
//=========鈽呪槄缁х數鍣ㄧ被(2300-2499)鈽呪槄=========
this.dicDeviceModelIdEnum["MPR0310-ZB.10"] = "2300-2300-60001";//3璺户鐢靛櫒灏忔ā鍧�
diff --git a/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs b/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs
index 4ff409d..0c86547 100755
--- a/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs
@@ -864,6 +864,15 @@
//鍙樻洿鎴块棿
HdlSceneLogic.Current.ChangedSceneRoom(this.editorScene, this.nowRoomId);
}
+ else
+ {
+ //绉婚櫎鍑烘埧闂�
+ var room = HdlRoomLogic.Current.GetRoomBySceneId(this.editorScene.Id);
+ if (room != null)
+ {
+ HdlSceneLogic.Current.DeleteSceneFromRoom(room, this.editorScene);
+ }
+ }
//鍥剧墖鏀瑰彉浜�
if (isScenePictrueChanged == true)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
index db1cadf..4e0ee88 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
@@ -13,13 +13,14 @@
/// <summary>
/// 鍏跺畠鐣岄潰璺宠繘鏉ョ殑鍏ュ彛
/// </summary>
- public static void SkipAddLogic(int intvalue, DoorLock doorLock = null, UserCenter.MemberInfoRes accountObj = null)
+ public async static void SkipAddLogic(int intvalue, DoorLock doorLock = null, UserCenter.MemberInfoRes accountObj = null)
{
/// 0.姝e父鑷姩鍖�;1.闂ㄩ攣鑷姩鍖�;2.Sone闂ㄩ攣;
switch (intvalue)
{
case 0:
{
+
//new涓�涓柊閫昏緫瀵硅薄锛�
//鏂板姝e父鑷姩鍖栧叆鍙�
Common.Logic.CurrentLogic = new Common.Logic();
@@ -60,7 +61,7 @@
doorLockLogicList.Show();
}
break;
-
+
}
}
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index cbe8716..ca7438c 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -38,7 +38,7 @@
/// <summary>
/// 鏃堕棿鎴�
/// </summary>
- public int timeLong = 0;
+ public long timeLong = 0;
public async void Show()
{
@@ -80,14 +80,8 @@
{
//杩涙潵鏇存柊涓�娆″��
logicId = logic.LogicId;
- timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]);
- if (UserCenter.UserCenterResourse.HideOption.DoorLockNomallyOpenTimeMode == 1)
- {
- //寮哄埗鍙樻洿鏃堕棿妯″紡涓哄垎閽�
- timeValue = timeValue / 60;
- }
-
- timeLong = int.Parse(logic.Conditions[0]["TriggerTime"]);
+ timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]) / 3600;
+ timeLong = long.Parse(logic.Conditions[0]["TriggerTime"]);
}
catch { }
@@ -104,6 +98,7 @@
};
middle.AddChidren(fLayout);
#endregion
+
#region 甯稿紑鑷姩鍖�
///绗笁鍧楃涓�绾х埗鎺т欢
listLogicFl = new FrameLayout
@@ -309,53 +304,59 @@
}
};
- ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
- var timeTextBtn = new Button
- {
- Y = Application.GetRealHeight(127 + 69),
- X = Application.GetRealWidth(86),//125
- Width = Application.GetRealWidth(907),//634 + 200
- Height = Application.GetRealHeight(60),
- TextSize = 15,
- TextColor = ZigbeeColor.Current.LogicTextBlackColor,
- };
+
if (logicId != 0)
{
+ ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
+ var timeTextBtn = new Button
+ {
+ Y = Application.GetRealHeight(127 + 69),
+ X = Application.GetRealWidth(80),//125
+ Width = Application.GetRealWidth(907+12),//634 + 200
+ Height = Application.GetRealHeight(60),
+ TextSize = 15,
+ TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+ };
openModeFl.AddChidren(timeTextBtn);
+
string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
string text2 = Language.StringByID(MyInternationalizationString.yearSone);
string text3 = Language.StringByID(MyInternationalizationString.monthSone);
string text4 = Language.StringByID(MyInternationalizationString.numberSone);
string text5 = Language.StringByID(MyInternationalizationString.hour1);
string text6 = Language.StringByID(MyInternationalizationString.executeSone);
+ string year = "";
+ string month = "";
+ int days = 0;
+ int hour = 0;
+ int minute = 0;
+
if (_if)
{
-
///绗竴娆¤繘鏉ヨ鍙栫綉鍏虫椂闂达紱
var datetime = GetLocalTime(timeLong);
///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
- var y = datetime.Year.ToString();//閭d竴骞�
- var m = datetime.Month.ToString();//閭d竴鏈�
- var d = datetime.ToString("dd");//閭d竴澶�
- var h = int.Parse(datetime.ToString("HH"));//灏忔椂
- int minute = datetime.Minute;//鍒嗛挓
- timeTextBtn.Text = text1 + y + text2 + m + text3 + d + text4 + h + text5 + minute.ToString() + text6;
-
+ year = datetime.Year.ToString();//閭d竴骞�
+ month = datetime.Month.ToString();//閭d竴鏈�
+ days = int.Parse(datetime.ToString("dd"));//閭d竴澶�
+ hour = int.Parse(datetime.ToString("HH"));//灏忔椂
+ minute = datetime.Minute;//鍒嗛挓
}
else
{
- ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
- var y = DateTime.Now.Year.ToString();//閭d竴骞�
- var m = DateTime.Now.Month.ToString();//閭d竴鏈�
+
+ ///鍦ㄥ綋鍓嶇晫闈㈢紪杈戞樉绀虹郴缁熸椂闂�(涓嶈兘姣忎竴娆$紪杈戦兘鍘荤綉鍏虫嬁鏁版嵁)
+ year = DateTime.Now.Year.ToString();//閭d竴骞�
+ month = DateTime.Now.Month.ToString();//閭d竴鏈�
var d = DateTime.Now.ToString("dd");//閭d竴澶�
var h = int.Parse(DateTime.Now.ToString("HH"));//灏忔椂
- int dayInt = (h + timeValue) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛�
- int hour = (h + timeValue) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛�
- int days = int.Parse(d) + dayInt;
- int minute = DateTime.Now.Minute;//鍒嗛挓
- timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5 + minute.ToString() + text6;
+ int dayInt = (h + timeValue) / 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂
+ hour = (h + timeValue) % 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂鍓╀笅澶氬皯灏忔椂
+ days = int.Parse(d) + dayInt;//褰撳墠绯荤粺澶╂暟+鎵ц鍚庡ぉ鏁�
+ minute = DateTime.Now.Minute;//鍒嗛挓
}
+ timeTextBtn.Text = text1 + year + text2 + month + text3 + days.ToString() + text4 + hour.ToString() + text5 + minute.ToString() + text6;
}
@@ -410,66 +411,66 @@
};
modeFl.AddChidren(clickBtn);
clickBtn.MouseUpEventHandler += (sender, e) =>
- {
+ {
- LogicView.TipView.ShowConfrimTip(() =>
- {///鍐嶆纭
- LogicView.TipView.ShowInputTip(true, async (str) =>
- {///纭鍙戦�佸懡浠�
- CommonPage.Loading.Start();
- try
- {
- ///xm
- var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock);
- if (!result)
- {
- LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed));
- return;
- }
- else
- {
- ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
- SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
- var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
- if (addResult == 0)
- {
- ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
- UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
- ///鎻愮ず澶辫触
- LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
- return;
- }
- else
- {
- logicId = addResult;
- timeValue = int.Parse(str);
- Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
- _if = false;
- ModeView();
- ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
- UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty);
- }
+ LogicView.TipView.ShowConfrimTip(() =>
+ {///鍐嶆纭
+ LogicView.TipView.ShowInputTip(true, async (str) =>
+ {///纭鍙戦�佸懡浠�
+ CommonPage.Loading.Start();
+ try
+ {
+ ///xm
+ var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock);
+ if (!result)
+ {
+ LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed));
+ return;
+ }
+ else
+ {
+ ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
+ SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
+ var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
+ if (addResult == 0)
+ {
+ ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
+ UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+ ///鎻愮ず澶辫触
+ LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
+ return;
+ }
+ else
+ {
+ logicId = addResult;
+ timeValue = int.Parse(str);
+ Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
+ _if = false;
+ ModeView();
+ ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
+ UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty);
+ }
- }
- }
- catch
- {
+ }
+ }
+ catch
+ {
- }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- CommonPage.Loading.Hide();
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
- });
- }
- });
+ });
+ }
+ });
- });
+ });
- };
+ };
}
listLogicFl.Y = fLayout.Bottom;
listLogicFl.X = Application.GetRealWidth(58);
@@ -477,7 +478,7 @@
listLogicFl.Width = Application.GetRealWidth(1022);
listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
- verticalRefresh.Y = Application.GetRealHeight(187);
+ verticalRefresh.Y = Application.GetRealHeight(187);
verticalRefresh.X = Application.GetRealWidth(46);
verticalRefresh.Height = listLogicFl.Height - Application.GetRealHeight(187);//鍔ㄦ�佹敼鍔ㄤ笂涓嬫粦鍔╲iew楂樺害;
verticalRefresh.Width = listLogicFl.Width - Application.GetRealWidth(46);
@@ -488,10 +489,10 @@
/// <param name="yes"></param>
private async void Read(bool yes)
{
- if (yes)
- {
- CommonPage.Loading.Start();
- }
+ //if (yes)
+ // {
+ CommonPage.Loading.Start();
+ // }
try
{
if (Common.Logic.SoneLogicList.Count == 0)
@@ -519,13 +520,20 @@
{
var dd = e.Message;
}
- //鑷姩鍖�
- RefreshView();
- if (yes)
+ finally
{
- CommonPage.Loading.Hide();
+ Application.RunOnMainThread(() =>
+ {
+ // if (yes)
+ // {
+ CommonPage.Loading.Hide();
+ // }
+ //鑷姩鍖�
+ RefreshView();
+ });
}
+
}
/// <summary>
/// 璁板綍宸︽粦鐘舵��
@@ -542,6 +550,7 @@
{
if (!SkipView.ExistLogic(logic, Send.CurrentDoorLock))
{
+ ///涓嶆槸璇ラ棬閿佽嚜鍔ㄥ寲灏变笉鏄剧ず鍑烘潵;
continue;
}
#region 鑷姩鍖栧竷灞�View
@@ -701,17 +710,22 @@
};
}
}
-
/// <summary>
- /// 灏哢NIX鏃堕棿鎴宠浆鎹㈡垚绯荤粺鏃堕棿(绮剧‘鍒扮)
+ /// 鏃堕棿鎴宠浆鎹㈡垚鏃堕棿鏍煎紡
+ /// </summary>
+ /// <param name="unixTimeStamp">鏃堕棿鎴�</param>
/// <returns></returns>
- public DateTime GetLocalTime(int unixTimeStamp)
+ public DateTime GetLocalTime(long unixTimeStamp)
{
- DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
- long lTime = long.Parse(unixTimeStamp + "0000000");
- TimeSpan toNow = new TimeSpan(lTime);
- DateTime dtResult = dtStart.Add(toNow);
- return dtResult;
+ //DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
+ //long lTime = long.Parse(unixTimeStamp + "0000000");
+ //TimeSpan toNow = new TimeSpan(lTime);
+ //DateTime dtResult = dtStart.Add(toNow);
+ //return dtResult;
+
+ System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯
+ return startTime.AddMilliseconds(unixTimeStamp);
+
}
}
}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs
index 484e815..b503b18 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs
@@ -56,8 +56,11 @@
/// 鍒濆鍖栨帶浠�(浜嬩欢瑕佽嚦浜庡畠涔嬪墠)
/// </summary>
/// <param name="listTitleText">鑿滃崟鏂囧瓧鍒楄〃</param>
- public void InitControl(List<string> listTitleText)
+ /// <param name="rightSpace">鍙宠竟绌虹櫧瀹藉害</param>
+ public void InitControl(List<string> listTitleText, int rightSpace = 0)
{
+ if (listTitleText.Count == 0) { return; }
+
var btnTemp = new NormalViewControl(10, 10, false);
btnTemp.TextSize = 16;
@@ -69,6 +72,8 @@
//寮�濮嬪垵濮嬪寲
XX = this.InitTitleTextControl(i, listTitleText[i], btnTemp.GetRealWidthByText(), XX);
}
+ //璋冩暣鎺т欢瀹藉害
+ this.Width = XX + Application.GetRealWidth(rightSpace);
//鍥炶皟鏂规硶
this.frameDefult.ButtonClickEvent?.Invoke(null, null);
}
@@ -109,7 +114,7 @@
//搴曠嚎
var btnLine = new NormalViewControl(40, 10, true);
- btnLine.Y = btnName.Bottom + Application.GetRealHeight(14);
+ btnLine.Y = btnName.Bottom + Application.GetRealHeight(6);
btnLine.X = btnName.X + btnName.Width / 2 - Application.GetRealWidth(40) / 2;
btnLine.Radius = (uint)Application.GetRealHeight(10) / 2;
btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
index f64c0b6..2e8ec34 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
@@ -600,8 +600,7 @@
/// <param name="receiveData"></param>
private void DoorLockDeviceReportPush(JObject receiveData)
{
- //鍙湁寰愭鐨勯棬閿佺晫闈㈡病鏈夋墦寮�鐨勬儏鍐典笅,鎵嶄細澶勭悊杩欎釜涓滆タ
- if (ControlCommonResourse.IsDoorLockPageOpen == false && UserCenterResourse.UserInfo.AuthorityNo == 1)
+ if (UserCenterResourse.UserInfo.AuthorityNo == 1)
{
var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint"));
if (device.Type != DeviceType.DoorLock)
@@ -609,31 +608,27 @@
//瀹冧笉鏄棬閿�
return;
}
+
var info = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockAlarmsResult>(receiveData["Data"].ToString());
if (info.Clusterid == 257)
{
- //甯稿紑妯″紡鍏抽棴
- if (info.AlarmCode == 217 || info.AlarmCode == 219)
+ //216锛氶攣涓婅缃殑甯稿紑
+ if (info.AlarmCode == 216)
{
- HdlThreadLogic.Current.RunThread(async () =>
+ HdlThreadLogic.Current.RunMain(() =>
{
- //娓╁眳鍩庣殑瑕佺綉鍏充腑鏄惁鏈夐�昏緫瀛樺湪
- //鍙傛暟:2-甯稿紑鑷姩鍖�;3-澶辨晥鏃堕棿鑷姩鍖�
- var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)device);
- HdlThreadLogic.Current.RunMain(() =>
+ //鏇存柊闂ㄩ攣娑夊強鐨勫父寮�/甯稿叧鐨勭晫闈�
+ if (UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction != null)
{
- //寮瑰嚭寰愭鐨勯偅涓獥鍙�
- DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device, DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush,
- result != 0 ? true : false, null);
- });
+ UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(device.DeviceAddr + device.DeviceEpoint, true);
+ }
});
}
}
+ //鏄剧ず鏈夋柊娑堟伅鐨勭壒鏁�
+ this.ShowHadNewMessageAppeal();
}
- //鏄剧ず鏈夋柊娑堟伅鐨勭壒鏁�
- this.ShowHadNewMessageAppeal();
}
-
#endregion
#region 鈻� 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣坃______________
@@ -642,7 +637,7 @@
/// 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣�
/// </summary>
/// <param name="receiveData"></param>
- private void DeviceOnlineChangePush (JObject receiveData)
+ private void DeviceOnlineChangePush(JObject receiveData)
{
if (this.dicDeviceEvent.Count == 0)
{
@@ -827,29 +822,36 @@
//鏄剧ず鏈夋柊娑堟伅鐨勭壒鏁�
this.ShowHadNewMessageAppeal();
- //杩欎釜涓滆タ鏆傛椂涓嶅鐞�
- ////鍙湁寰愭鐨勯棬閿佺晫闈㈡病鏈夋墦寮�鐨勬儏鍐典笅,鎵嶄細澶勭悊杩欎釜涓滆タ
- //if (ControlCommonResourse.IsDoorLockPageOpen == false && UserCenterResourse.UserInfo.AuthorityNo == 1)
- //{
- // var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint"));
- // if (device.Type != DeviceType.DoorLock)
- // {
- // return;
- // }
- // //鑷姩鍖栨墽琛� 甯稿紑鍏抽棴
- // var data = Newtonsoft.Json.JsonConvert.DeserializeObject<LogicPushResult>(receiveData["Data"].ToString());
- // if (data.ActionData != null && data.ActionData.Actiontype == 8
- // && data.ActionData.PassDataString == "055704010113")
- // {
- // HdlThreadLogic.Current.RunMain(() =>
- // {
- // //寮瑰嚭寰愭鐨勯偅涓獥鍙�
- // DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device, DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush, null);
- // });
- // }
- //}
- }
+ // 閫昏緫鎵ц甯稿紑妯″紡澶辨晥鐨勬儏鍐�
+ if (UserCenterResourse.UserInfo.AuthorityNo == 1)
+ {
+ //鑷姩鍖栨墽琛� 甯稿紑鍏抽棴
+ var data = Newtonsoft.Json.JsonConvert.DeserializeObject<LogicPushResult>(receiveData["Data"].ToString());
+ if (data != null && data.ActionData != null)
+ {
+ if (data.ActionData.Actiontype == 8 && data.ActionData.PassDataString == "055704010113")
+ {
+ var deviceAddr = data.ActionData.MacStr;
+ var device = Common.LocalDevice.Current.GetDevicesByMac(deviceAddr, false);
+ if (device.Count > 0 && device[0].Type != DeviceType.DoorLock)
+ {
+ return;
+ }
+ HdlThreadLogic.Current.RunThread(async () =>
+ {
+ var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)device[0]);
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //寮瑰嚭寰愭鐨勯偅涓獥鍙�
+ DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device[0], DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush,
+ result != 0 ? true : false, ControlCommonResourse.UpdateDoorLockStatusAction);
+ });
+ });
+ }
+ }
+ }
+ }
#endregion
#region 鈻� 鍦烘櫙瑙﹀彂涓婃姤_______________________
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs
index b5f2c64..aef9c47 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs
@@ -65,9 +65,9 @@
/// </summary>
public static int BottomLineHeight = 1;
/// <summary>
- /// 寰愭鐨勯棬閿佺晫闈㈡槸鍚︽槸鎵撳紑鐨勭姸鎬�
+ /// 闂ㄩ攣鐣岄潰鏄惁鏄洿鏂扮姸鎬�
/// </summary>
- public static bool IsDoorLockPageOpen = false;
+ public static Action<bool> UpdateDoorLockStatusAction = null;
/// <summary>
/// 鏄惁鏄晫闈㈡鍦ㄥ姞杞戒腑(搴曞眰涓撶敤,涓嶉渶瑕佺悊)
/// </summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
index b6b4a78..32eb48b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -1164,6 +1164,16 @@
removeDevice.BindMacAddr = bindDevice.BindMacAddr;
removeDevice.BindEpoint = bindDevice.BindEpoint;
delDevice.RemoveBindList.Add(removeDevice);
+ //鏄寒搴﹀啀娆″彂鍒犻櫎6鐨勫懡浠�
+ if (currentClusterID == 8)
+ {
+ var removeDevice2 = new RemoveBindListObj();
+ removeDevice2.BindCluster = 6;
+ removeDevice2.BindType = 0;
+ removeDevice2.BindMacAddr = bindDevice.BindMacAddr;
+ removeDevice2.BindEpoint = bindDevice.BindEpoint;
+ delDevice.RemoveBindList.Add(removeDevice2);
+ }
}
else if (bindDevice.BindType == 2)
{
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
index 9989e00..801c052 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -15,6 +15,10 @@
/// </summary>
public static Action<bool> LogicAction = null;
/// <summary>
+ /// 鏇存柊褰撳墠闂ㄩ攣娑夊強鐨勭姸鎬併�愪富瑕佺敤浜庨棬閿佹搷浣滃父寮�妯″紡鐨勫洖璋冦��
+ /// </summary>
+ public static Action<string, bool> UpdateCurrentDoorlockAction = null;
+ /// <summary>
/// 缃戝叧锛堥棬閿侊級鎵�鍦ㄧ殑鏃堕棿
/// </summary>
public static DateTime DoorlockZoneTime = DateTime.Now;
@@ -217,12 +221,6 @@
//涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑�
Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
- if (haveLogic)
- {
- //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
- var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
- }
-
//app閲嶆柊寮�鍚�滃父寮�妯″紡鈥�
var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
if (result == null || result.defaultControlResponseData == null)
@@ -262,8 +260,6 @@
}
else
{
- //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
- var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
Application.RunOnMainThread(() =>
{
string msg0 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeSuccess);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
index b9b2672..8d69a71 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -73,12 +73,6 @@
EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
{
RemoveFromParent();
- UserDoorLockPage.canShowDialog = true;
- //鏆傛椂涓嶈�冭檻涓嬬骇鐣岄潰绛夋帹閫佸鑷村父寮�妯″紡澶辨晥鐨勯棶棰�
- //var userDoorLockPage = new UserDoorLockPage(currentRoom, deviceUI);
- //HomePage.Instance.AddChidren(userDoorLockPage);
- //HomePage.Instance.PageIndex += 1;
- //userDoorLockPage.Show();
};
this.btnBack.MouseUpEventHandler += eHandlerBack;
this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 7de8403..0562afe 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -17,12 +17,29 @@
public UserDoorLockPage(Room room, CommonDevice doorLock)
{
//寰愭鐨勯棬閿佺晫闈㈡墦寮�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
- ControlCommonResourse.IsDoorLockPageOpen = true;
+ //ControlCommonResourse.IsDoorLockPageOpen = true;
this.doorLock = doorLock as ZigBee.Device.DoorLock;
currentRoom = room;
deviceUI = doorLock;
BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor;
ZbGateway.StatusList.Add(this);
+ Application.RunOnMainThread(() =>
+ {
+ ControlCommonResourse.UpdateDoorLockStatusAction = (obj) =>
+ {
+ UpdateNomallyOpenStatus();
+ };
+
+ UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, status) =>
+ {
+ var key = doorLock.DeviceAddr + doorLock.DeviceEpoint;
+ if (DoorlockKey == key)
+ {
+ DoorLockCommonInfo.NormallyOpenModeValue(this.doorLock, status);
+ UpdateNomallyOpenStatus();
+ }
+ };
+ });
}
#region 鍙橀噺鐢虫槑
@@ -42,11 +59,6 @@
/// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡
/// </summary>
private bool haveLogicNormallyOpenMode = false;
-
- /// <summary>
- /// 闂ㄩ攣娣卞害鎺у埗涓婃姤绐楀彛鏄惁寮瑰嚭
- /// </summary>
- public static bool canShowDialog = true;
/// <summary>
/// 褰撳墠鐢甸噺
@@ -626,6 +638,35 @@
}
}
+ //缃戝叧鎵ц閫昏緫锛屽父寮�妯″紡澶辨晥涓婃姤
+ //if (typeTag == "DoorLockAlarmsSendAlarmInform" && tempDevice != null)
+ //{
+ // var doorL = (ZigBee.Device.DoorLock)tempDevice;
+
+ // if (doorL.DeviceAddr + doorL.DeviceEpoint == doorLock.DeviceAddr + doorLock.DeviceEpoint)
+ // {
+ // //闈炰富浜轰笉寮硅繖涓獥鍙�
+ // if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ // {
+ // return;
+ // }
+ // if (doorLock.IsDoorLockNormallyMode)
+ // {
+ // if (canOpenNormallyMode)
+ // {
+ // Application.RunOnMainThread(() =>
+ // {
+ // Action<bool> action = (obj) =>
+ // {
+ // UpdateNomallyOpenStatus();
+ // };
+ // DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action);
+ // });
+ // }
+ // }
+ // }
+ //}
+
if (typeTag == "DeviceStatusReport" && tempDevice != null)
{
if (tempDevice != null)
@@ -668,7 +709,7 @@
canOpenNormallyMode = DoorLockCommonInfo.CanNormallyOpen(doorLock);
if (canOpenNormallyMode)
{
- //鑾峰彇闂ㄩ攣甯稿紑妯″紡
+ //1銆佽幏鍙栭棬閿佸父寮�妯″紡
var resultRes = await DoorLockCommonInfo.GetNormallyOpenMode(doorLock);
if (resultRes == null)
{
@@ -692,18 +733,19 @@
tempRes = false;
}
DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
- Application.RunOnMainThread(async () =>
- {
- var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock);
- if (resTemp == 1)
- {
- haveLogicNormallyOpenMode = true;
- }
- else if (resTemp == 0)
- {
- haveLogicNormallyOpenMode = false;
- }
- });
+
+ //Application.RunOnMainThread(async () =>
+ //{
+ //var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3, doorLock);
+ //if (resTemp == 1)
+ //{
+ // haveLogicNormallyOpenMode = true;
+ //}
+ //else if (resTemp == 0)
+ //{
+ // haveLogicNormallyOpenMode = false;
+ //}
+ //});
}
}
else
@@ -718,7 +760,7 @@
canVolume = DoorLockCommonInfo.CanVolume(doorLock);
if (canVolume)
{
- //璇诲彇闊抽噺
+ //2銆佽鍙栭煶閲�
var resultRes = await doorLock.GetVolumeAsync();
if (resultRes == null || resultRes.volumeResponseData == null)
{
@@ -752,7 +794,7 @@
});
}
- //璇诲彇闂ㄩ攣鐢甸噺锛氱皣ID锛�1 灞炴�D 33
+ //3銆佽鍙栭棬閿佺數閲忥細绨嘔D锛�1 灞炴�D 33
doorLock.ReadAttri(Cluster_ID.Power, AttriButeId.DoorLockPower);
//涓婃姤鐢甸噺绛�1绉�
System.Threading.Thread.Sleep(1000);
@@ -798,7 +840,7 @@
Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
functionSetting.Show();
- canShowDialog = false;
+ //DoorLockCommonInfo.canShowDialog = false;
functionSetting.devicNameAction += (deviceRename) =>
{
if (!string.IsNullOrEmpty(deviceRename))
@@ -829,7 +871,7 @@
//鍘嗗彶璁板綍 ---- stan
var form = new DeviceDoorLock.DoorLockHistoryLogForm();
form.AddForm(this.doorLock.DeviceAddr);
- canShowDialog = false;
+ //DoorLockCommonInfo.canShowDialog = false;
};
btnRecordFrameLayout.MouseDownEventHandler += handerRecord;
btnRecord.MouseDownEventHandler += handerRecord;
@@ -853,7 +895,6 @@
//寮�閿佷簨浠�
EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
{
- canShowDialog = true;
if (doorLock.IsDoorLockNormallyMode)
{
if (canOpenNormallyMode)
@@ -887,7 +928,6 @@
//鍏抽攣浜嬩欢
EventHandler<MouseEventArgs> hander2 = (sender, e) =>
{
- canShowDialog = true;
if (canOpenNormallyMode)
{
if (doorLock.IsDoorLockNormallyMode)
@@ -1093,249 +1133,6 @@
}
/// <summary>
- /// 甯稿紑妯″紡澶辨晥澶勭悊
- /// </summary>
- private void NomallyOpenModeInvalidDialog(bool IsFromReport = false)
- {
- if (!canShowDialog)
- {
- return;
- }
-
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
- return;
- }
- string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n");
- var confirm = Language.StringByID(R.MyInternationalizationString.SureCancel);
- var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.NomallyOpenMode, msg, confirm);
- if (haveLogicNormallyOpenMode)
- {
- //鏈夐�昏緫璁剧疆鐨勫脊绐�
- alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm);
- }
- alert.Show();
-
- alert.MsgControlClickEvent += async () =>
- {
- if (IsFromReport)
- {
- //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- });
-
- if (haveLogicNormallyOpenMode)
- {
- //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
- var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
- }
- }
- else
- {
- //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚�
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- });
- }
- };
-
- alert.CancelClickEvent += async () =>
- {
- if (IsFromReport)
- {
- //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑�
- Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
-
- if (haveLogicNormallyOpenMode)
- {
- //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
- var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
- }
- //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥�
- var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
- if (result == null || result.defaultControlResponseData == null)
- {
- Application.RunOnMainThread(() =>
- {
- string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
- this.ShowTipMsg(msg0);
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
- UpdateNomallyOpenStatus();
- });
- return;
- }
- if (result.defaultControlResponseData.status != 0)
- {
- string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
- this.ShowTipMsg(msg1);
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- });
- return;
- }
- else
- {
- //淇濇寔鈥滃父寮�鎴愬姛鈥�
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- });
-
- //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
- var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
- //if (!resu)
- //{
- // string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
- // this.ShowTipMsg(msg0);
- //}
-
- CommonPage.Loading.Hide();
- }
- }
- else
- {
- //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥�
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- });
- }
- };
-
- alert.ConfirmClickEvent += async () =>
- {
- if (IsFromReport)
- {
- //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑�
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- });
-
- if (haveLogicNormallyOpenMode)
- {
- //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
- var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
- }
- }
- else
- {
- //app鎿嶄綔鍙栨秷鈥滃父寮�妯″紡鈥�
- Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
- var result = await doorLock.SetNormallyOpenModeFuncAsync(false);
- if (result == null || result.defaultControlResponseData == null)
- {
- string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
- this.ShowTipMsg(msg0);
- return;
- }
- if (result.defaultControlResponseData.status != 0)
- {
- string msg1 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeFailed);
- this.ShowTipMsg(msg1);
- return;
- }
- else
- {
- //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
- HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty);
-
- //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔�
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- });
-
- if (haveLogicNormallyOpenMode)
- {
- //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
- var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
- }
- string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
- this.ShowTipMsg(msg2);
- }
- }
- };
- }
-
- /// <summary>
- /// 宸茬粡寮�鍚父寮�妯″紡鎻愮ず
- /// </summary>
- public void AlreadyOpenNormallyMode()
- {
- //甯稿紑妯″紡寮�鍚彁绀�
- string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn);
- var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting);
- var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting);
- alertNomallyModeIsTurnOn.Show();
- alertNomallyModeIsTurnOn.MsgControlClickEvent += async () =>
- {
- //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
- var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
- //if (!res)
- //{
- //string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
- // this.ShowTipMsg(msg0);
- //return;
- //}
- };
- //鐐瑰嚮鑷姩鍖�
- alertNomallyModeIsTurnOn.LogicClickEvent += () =>
- {
- //閫昏緫璋冪敤鍓嶈寰楃Щ闄�
- ZbGateway.StatusList.Remove(this);
- //璋冪敤閫昏緫鐣岄潰
- Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock);
- };
- alertNomallyModeIsTurnOn.InvalidClickEvent += async () =>
- {
- NomallyOpenModeInvalidTimeDialog();
- };
- }
-
- /// <summary>
- /// 甯稿紑妯″紡澶辨晥鏃堕棿澶勭悊
- /// </summary>
- private void NomallyOpenModeInvalidTimeDialog()
- {
- //澶辨晥璁剧疆
- string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
- var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim);
- var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim);
- alertTimeInValidSetting.Show();
-
- alertTimeInValidSetting.InvalidTimeAction += async (obj) =>
- {
- //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛
- var temp = int.Parse(obj);
- DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
- //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
- var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
- if (res == 0)
- {
- //榛樿鍒涘缓甯稿紑妯″紡澶辫触
- string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
- var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim));
- alert.Show();
- //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀�
- NomallyOpenModeInvalidTimeDialog();
- }
- };
- }
-
- /// <summary>
/// 甯稿紑妯″紡鐘舵�佹洿鏂�
/// </summary>
private void UpdateNomallyOpenStatus()
@@ -1436,7 +1233,9 @@
public override void RemoveFromParent()
{
//寰愭鐨勯棬閿佺晫闈㈠叧闂�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
- ControlCommonResourse.IsDoorLockPageOpen = false;
+ //ControlCommonResourse.IsDoorLockPageOpen = false;
+ ControlCommonResourse.UpdateDoorLockStatusAction = null;
+ UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction = null;
if (IsDrawerLockMode)
{
CommonPage.Instance.IsDrawerLockMode = false;
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
index ec0ce95..367c79d 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
@@ -334,10 +334,6 @@
{
//鏈湴Socket
public static Socket busSocket;
- /// <summary>
- /// 璁℃椂鍣�
- /// </summary>
- private static int timeCount = 0;
/// <summary>
/// 鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳�
@@ -395,52 +391,10 @@
{
try
{
- //妫�娴嬭繛鎺ョ姸鎬�
- CheckConnectiton();
-
Start(7624);
busSocket.BeginSendTo(bytes, 0, bytes.Length, SocketFlags.None, iPEndPoint, new AsyncCallback(asyncEndSend), null);
}
catch { }
- }
-
- /// <summary>
- /// 妫�娴嬭繛鎺ョ姸鎬�
- /// </summary>
- private static void CheckConnectiton()
- {
- if (busSocket == null) { return; }
- timeCount++;
- if (timeCount < 20)
- {
- //姣�10绉掓娴嬩竴娆�
- return;
- }
- timeCount = 0;
-
- bool blockingState = busSocket.Blocking;
- try
- {
- byte[] tmp = new byte[1];
-
- busSocket.Blocking = false;
- busSocket.Send(tmp, 0, 0);
- //tcp杩樺湪杩炴帴鐫�
- busSocket.Blocking = blockingState;
- }
- catch (SocketException e)
- {
- // 10035 == WSAEWOULDBLOCK
- if (e.NativeErrorCode.Equals(10035))
- {
- //Still Connected, but the Send would block
- }
- else
- {
- //tcp宸茬粡鏂紑浜嗚繛鎺�
- Stop();
- }
- }
}
/// <summary>
--
Gitblit v1.8.0