黄学彪
2019-12-31 737c036a39176fd2085ce82b7c60391da8cb508c
合并了代码
6个文件已添加
70个文件已修改
1 文件已重命名
3607 ■■■■ 已修改文件
ZigbeeApp/GateWay.Droid/Assets/Language.ini 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Arrows2.png 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/WorkRoomIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs 492 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Home.Ios/Home.IOS.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Home.Ios/Resources/Language.ini 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Home.Ios/Resources/Phone/Guide/Arrows2.png 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Home.Ios/Resources/Phone/Guide/WorkRoomIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Common/CommonPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Common/Device.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Common/Logic.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Common/Room.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Category/Category.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/Cycle.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs 228 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddDevice.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/EverymonthPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/LogicDevicePage.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/Send.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/TemplateIgnore.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/TimePage.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/WeekPage.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/InformationEditorControl.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/ScenePictrueControl.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlLogLogic.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs 285 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorDimmingModeForm.cs 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs 192 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs 419 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideCommonForm.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideHouseForm.cs 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideRoomForm.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/R.cs 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Shared.projitems 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Assets/Language.ini
@@ -152,7 +152,7 @@
147=手势开锁
148=请绑定远程开锁的门锁
149=去设置
150=请前往个人中心
150=请前往个人中心{0}设置二次安全验证方式
151=设置二次安全验证方式
152=开启远程开锁验证
153=门锁
@@ -183,11 +183,11 @@
177=未分配
178=验证频繁,请15秒后再试
179=操作失败
180=远程开锁绑定成功
180=远程开锁绑定成功{0}请设置二次安全验证方式
181=请设置二次安全验证方式
182=关
182=关闭
183=开锁中
184=开
184=打开
185=年
186=矫正成功
187=矫正失败
@@ -229,12 +229,11 @@
223=确认删除按键模式及清空所有目标
224=绑定目标为空,请选择需要绑定目标
225=绑定目标
226=确认删除按键模式及
226=确认删除按键模式及{0}清空所有目标
227=清空所有目标
228=确认
229=分享成功
230=确定要将该账户解冻?
548=提醒设置
550=新增用户
551=头像
@@ -425,13 +424,13 @@
5150=工作日
5151=周末
5152=星期
5153=星期一
5154=星期二
5155=星期三
5156=星期四
5157=星期五
5158=星期六
5159=星期日
5153=周一
5154=周二
5155=周三
5156=周四
5157=周五
5158=周六
5159=周日
5160=日期
5161=开始日期
5162=结束日期
@@ -620,6 +619,7 @@
5375=添加开关/灯光
5376=应用
5377=没有自动化{\r\n} 请点击右上角添加
5378=推送内容不能为空.
@@ -1345,7 +1345,6 @@
15576=序列号
15577=已共享
15578=确定移除选中的设备?
15579=出现未知错误,数据丢失
15580=共享数据同步中
15581=请配置共享设备
15582=当前正处于布防模式,无法添加设备
@@ -1578,13 +1577,13 @@
15817=下限位
15818=确认当前位置为上限位?
15819=确认当前位置为下限位?
15820=如果满足
15820=如果满足低亮度环境
15821=就会
15822=触发目标
15823=延时
15824=分
15825=秒
15826=照明等级
15826=照度值
15827=低
15828=高
15829=没有可以添加的目标
@@ -1806,6 +1805,17 @@
16047=慢启动
16048=慢关闭
16049=亮度
16050=获取传感器亮度值失败
16051=当前亮度值
16052=暗
16053=亮
16054=在室内条件下,黄昏照度值约为10lux,阴天照度值约为5~50lux,请根据实际需要进行调节
16055=震动反馈
16056=获取震动反馈配置信息失败
16057=设置震动反馈配置信息失败
16058=我的家
16059=长按“我的家”{0}可切换我的住宅
16060=办公室
;★★★★下面这些是接口的返回信息翻译,从18000开始★★★★
18004=指定网关已经被绑定
ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Arrows2.png
ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/WorkRoomIcon.png
ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
@@ -1536,6 +1536,12 @@
  <ItemGroup>
    <AndroidAsset Include="Assets\Phone\Center\MainBack2.png" />
  </ItemGroup>
  <ItemGroup>
    <AndroidAsset Include="Assets\Phone\Guide\Arrows2.png" />
  </ItemGroup>
  <ItemGroup>
    <AndroidAsset Include="Assets\Phone\Guide\WorkRoomIcon.png" />
  </ItemGroup>
  <Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" />
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
  <Import Project="..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets')" />
ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2019123001" android:installLocation="auto" android:versionName="1.0.19123001">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2019123101" android:installLocation="auto" android:versionName="1.0.19123101">
    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="26" />
    <permission android:name="com.hdl.home.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
@@ -3003,12 +3003,6 @@
            // aapt resource value: 0x7f090028
            public const int CTRL = 2131296296;
            
            // aapt resource value: 0x7f09008e
            public const int Custom = 2131296398;
            // aapt resource value: 0x7f09008d
            public const int CustomLabel = 2131296397;
            // aapt resource value: 0x7f090054
            public const int FILL = 2131296340;
            
@@ -3030,23 +3024,8 @@
            // aapt resource value: 0x7f090051
            public const int MatchLayout = 2131296337;
            
            // aapt resource value: 0x7f090088
            public const int Notice = 2131296392;
            // aapt resource value: 0x7f09008c
            public const int Password = 2131296396;
            // aapt resource value: 0x7f09008b
            public const int PasswordLabel = 2131296395;
            // aapt resource value: 0x7f09002b
            public const int SHIFT = 2131296299;
            // aapt resource value: 0x7f09008a
            public const int SSID = 2131296394;
            // aapt resource value: 0x7f090089
            public const int SSIDLabel = 2131296393;
            
            // aapt resource value: 0x7f090056
            public const int STROKE = 2131296342;
@@ -3060,8 +3039,8 @@
            // aapt resource value: 0x7f090053
            public const int Translate = 2131296339;
            
            // aapt resource value: 0x7f0900cb
            public const int action0 = 2131296459;
            // aapt resource value: 0x7f0900c0
            public const int action0 = 2131296448;
            
            // aapt resource value: 0x7f090079
            public const int action_bar = 2131296377;
@@ -3084,17 +3063,17 @@
            // aapt resource value: 0x7f090057
            public const int action_bar_title = 2131296343;
            
            // aapt resource value: 0x7f0900c8
            public const int action_container = 2131296456;
            // aapt resource value: 0x7f0900bd
            public const int action_container = 2131296445;
            
            // aapt resource value: 0x7f09007a
            public const int action_context_bar = 2131296378;
            
            // aapt resource value: 0x7f0900cf
            public const int action_divider = 2131296463;
            // aapt resource value: 0x7f0900c4
            public const int action_divider = 2131296452;
            
            // aapt resource value: 0x7f0900c9
            public const int action_image = 2131296457;
            // aapt resource value: 0x7f0900be
            public const int action_image = 2131296446;
            
            // aapt resource value: 0x7f090003
            public const int action_menu_divider = 2131296259;
@@ -3111,11 +3090,11 @@
            // aapt resource value: 0x7f090059
            public const int action_mode_close_button = 2131296345;
            
            // aapt resource value: 0x7f0900ca
            public const int action_text = 2131296458;
            // aapt resource value: 0x7f0900bf
            public const int action_text = 2131296447;
            
            // aapt resource value: 0x7f0900d8
            public const int actions = 2131296472;
            // aapt resource value: 0x7f0900cd
            public const int actions = 2131296461;
            
            // aapt resource value: 0x7f09005a
            public const int activity_chooser_view_content = 2131296346;
@@ -3147,17 +3126,17 @@
            // aapt resource value: 0x7f090032
            public const int bottom = 2131296306;
            
            // aapt resource value: 0x7f0900b3
            public const int btnCancel = 2131296435;
            // aapt resource value: 0x7f0900a8
            public const int btnCancel = 2131296424;
            
            // aapt resource value: 0x7f0900b5
            public const int btnSubmit = 2131296437;
            // aapt resource value: 0x7f0900aa
            public const int btnSubmit = 2131296426;
            
            // aapt resource value: 0x7f090060
            public const int buttonPanel = 2131296352;
            
            // aapt resource value: 0x7f0900cc
            public const int cancel_action = 2131296460;
            // aapt resource value: 0x7f0900c1
            public const int cancel_action = 2131296449;
            
            // aapt resource value: 0x7f09003a
            public const int center = 2131296314;
@@ -3171,8 +3150,8 @@
            // aapt resource value: 0x7f090070
            public const int checkbox = 2131296368;
            
            // aapt resource value: 0x7f0900d4
            public const int chronometer = 2131296468;
            // aapt resource value: 0x7f0900c9
            public const int chronometer = 2131296457;
            
            // aapt resource value: 0x7f090043
            public const int clip_horizontal = 2131296323;
@@ -3183,20 +3162,20 @@
            // aapt resource value: 0x7f09002e
            public const int collapseActionView = 2131296302;
            
            // aapt resource value: 0x7f090099
            public const int container = 2131296409;
            // aapt resource value: 0x7f09008e
            public const int container = 2131296398;
            
            // aapt resource value: 0x7f0900e4
            public const int contentFrame = 2131296484;
            // aapt resource value: 0x7f0900d9
            public const int contentFrame = 2131296473;
            
            // aapt resource value: 0x7f090063
            public const int contentPanel = 2131296355;
            
            // aapt resource value: 0x7f0900b7
            public const int content_container = 2131296439;
            // aapt resource value: 0x7f0900ac
            public const int content_container = 2131296428;
            
            // aapt resource value: 0x7f09009a
            public const int coordinator = 2131296410;
            // aapt resource value: 0x7f09008f
            public const int coordinator = 2131296399;
            
            // aapt resource value: 0x7f09006a
            public const int custom = 2131296362;
@@ -3204,8 +3183,8 @@
            // aapt resource value: 0x7f090069
            public const int customPanel = 2131296361;
            
            // aapt resource value: 0x7f0900c3
            public const int day = 2131296451;
            // aapt resource value: 0x7f0900b8
            public const int day = 2131296440;
            
            // aapt resource value: 0x7f090077
            public const int decor_content_parent = 2131296375;
@@ -3213,23 +3192,23 @@
            // aapt resource value: 0x7f09005d
            public const int default_activity_button = 2131296349;
            
            // aapt resource value: 0x7f090094
            public const int description = 2131296404;
            // aapt resource value: 0x7f090089
            public const int description = 2131296393;
            
            // aapt resource value: 0x7f09009c
            public const int design_bottom_sheet = 2131296412;
            // aapt resource value: 0x7f090091
            public const int design_bottom_sheet = 2131296401;
            
            // aapt resource value: 0x7f0900a3
            public const int design_menu_item_action_area = 2131296419;
            // aapt resource value: 0x7f090098
            public const int design_menu_item_action_area = 2131296408;
            
            // aapt resource value: 0x7f0900a2
            public const int design_menu_item_action_area_stub = 2131296418;
            // aapt resource value: 0x7f090097
            public const int design_menu_item_action_area_stub = 2131296407;
            
            // aapt resource value: 0x7f0900a1
            public const int design_menu_item_text = 2131296417;
            // aapt resource value: 0x7f090096
            public const int design_menu_item_text = 2131296406;
            
            // aapt resource value: 0x7f0900a0
            public const int design_navigation_view = 2131296416;
            // aapt resource value: 0x7f090095
            public const int design_navigation_view = 2131296405;
            
            // aapt resource value: 0x7f090015
            public const int disableHome = 2131296277;
@@ -3240,8 +3219,8 @@
            // aapt resource value: 0x7f090025
            public const int end = 2131296293;
            
            // aapt resource value: 0x7f0900da
            public const int end_padder = 2131296474;
            // aapt resource value: 0x7f0900cf
            public const int end_padder = 2131296463;
            
            // aapt resource value: 0x7f090034
            public const int enterAlways = 2131296308;
@@ -3267,8 +3246,8 @@
            // aapt resource value: 0x7f09003d
            public const int fill_vertical = 2131296317;
            
            // aapt resource value: 0x7f090095
            public const int fingerprint_icon = 2131296405;
            // aapt resource value: 0x7f09008a
            public const int fingerprint_icon = 2131296394;
            
            // aapt resource value: 0x7f090049
            public const int @fixed = 2131296329;
@@ -3276,56 +3255,56 @@
            // aapt resource value: 0x7f09004d
            public const int forever = 2131296333;
            
            // aapt resource value: 0x7f0900a8
            public const int gd_btn_back = 2131296424;
            // aapt resource value: 0x7f0900b1
            public const int gd_btn_myLocation = 2131296433;
            // aapt resource value: 0x7f0900b0
            public const int gd_btn_save = 2131296432;
            // aapt resource value: 0x7f0900ad
            public const int gd_img_search_delete = 2131296429;
            // aapt resource value: 0x7f0900af
            public const int gd_ll_myhome = 2131296431;
            // aapt resource value: 0x7f0900ab
            public const int gd_ll_search = 2131296427;
            // aapt resource value: 0x7f0900aa
            public const int gd_mapView = 2131296426;
            // aapt resource value: 0x7f0900a7
            public const int gd_rl_topview = 2131296423;
            // aapt resource value: 0x7f0900a9
            public const int gd_tv_activity_title = 2131296425;
            // aapt resource value: 0x7f0900ae
            public const int gd_tv_radius = 2131296430;
            // aapt resource value: 0x7f0900ac
            public const int gd_tv_search_title = 2131296428;
            // aapt resource value: 0x7f0900a5
            public const int hdl_gallery_rootView = 2131296421;
            // aapt resource value: 0x7f09009d
            public const int gd_btn_back = 2131296413;
            
            // aapt resource value: 0x7f0900a6
            public const int hdl_gallery_viewPager = 2131296422;
            public const int gd_btn_myLocation = 2131296422;
            
            // aapt resource value: 0x7f0900b9
            public const int hdl_options1 = 2131296441;
            // aapt resource value: 0x7f0900a5
            public const int gd_btn_save = 2131296421;
            
            // aapt resource value: 0x7f0900ba
            public const int hdl_options2 = 2131296442;
            // aapt resource value: 0x7f0900a2
            public const int gd_img_search_delete = 2131296418;
            
            // aapt resource value: 0x7f0900bb
            public const int hdl_options3 = 2131296443;
            // aapt resource value: 0x7f0900a4
            public const int gd_ll_myhome = 2131296420;
            
            // aapt resource value: 0x7f0900b8
            public const int hdl_pickerview_ll = 2131296440;
            // aapt resource value: 0x7f0900a0
            public const int gd_ll_search = 2131296416;
            // aapt resource value: 0x7f09009f
            public const int gd_mapView = 2131296415;
            // aapt resource value: 0x7f09009c
            public const int gd_rl_topview = 2131296412;
            // aapt resource value: 0x7f09009e
            public const int gd_tv_activity_title = 2131296414;
            // aapt resource value: 0x7f0900a3
            public const int gd_tv_radius = 2131296419;
            // aapt resource value: 0x7f0900a1
            public const int gd_tv_search_title = 2131296417;
            // aapt resource value: 0x7f09009a
            public const int hdl_gallery_rootView = 2131296410;
            // aapt resource value: 0x7f09009b
            public const int hdl_gallery_viewPager = 2131296411;
            // aapt resource value: 0x7f0900ae
            public const int hdl_options1 = 2131296430;
            // aapt resource value: 0x7f0900af
            public const int hdl_options2 = 2131296431;
            // aapt resource value: 0x7f0900b0
            public const int hdl_options3 = 2131296432;
            // aapt resource value: 0x7f0900ad
            public const int hdl_pickerview_ll = 2131296429;
            
            // aapt resource value: 0x7f090005
            public const int home = 2131296261;
@@ -3333,14 +3312,14 @@
            // aapt resource value: 0x7f090016
            public const int homeAsUp = 2131296278;
            
            // aapt resource value: 0x7f0900c4
            public const int hour = 2131296452;
            // aapt resource value: 0x7f0900b9
            public const int hour = 2131296441;
            
            // aapt resource value: 0x7f09005f
            public const int icon = 2131296351;
            
            // aapt resource value: 0x7f0900d9
            public const int icon_group = 2131296473;
            // aapt resource value: 0x7f0900ce
            public const int icon_group = 2131296462;
            
            // aapt resource value: 0x7f09002f
            public const int ifRoom = 2131296303;
@@ -3348,8 +3327,8 @@
            // aapt resource value: 0x7f09005c
            public const int image = 2131296348;
            
            // aapt resource value: 0x7f0900d5
            public const int info = 2131296469;
            // aapt resource value: 0x7f0900ca
            public const int info = 2131296458;
            
            // aapt resource value: 0x7f09004e
            public const int italic = 2131296334;
@@ -3357,8 +3336,8 @@
            // aapt resource value: 0x7f090000
            public const int item_touch_helper_previous_elevation = 2131296256;
            
            // aapt resource value: 0x7f090098
            public const int largeLabel = 2131296408;
            // aapt resource value: 0x7f09008d
            public const int largeLabel = 2131296397;
            
            // aapt resource value: 0x7f09003e
            public const int left = 2131296318;
@@ -3375,35 +3354,35 @@
            // aapt resource value: 0x7f09005e
            public const int list_item = 2131296350;
            
            // aapt resource value: 0x7f0900e6
            public const int masked = 2131296486;
            // aapt resource value: 0x7f0900db
            public const int masked = 2131296475;
            
            // aapt resource value: 0x7f0900ce
            public const int media_actions = 2131296462;
            // aapt resource value: 0x7f0900c3
            public const int media_actions = 2131296451;
            
            // aapt resource value: 0x7f0900e0
            public const int message = 2131296480;
            // aapt resource value: 0x7f0900d5
            public const int message = 2131296469;
            
            // aapt resource value: 0x7f090026
            public const int middle = 2131296294;
            
            // aapt resource value: 0x7f0900c5
            public const int min = 2131296453;
            // aapt resource value: 0x7f0900ba
            public const int min = 2131296442;
            
            // aapt resource value: 0x7f090048
            public const int mini = 2131296328;
            
            // aapt resource value: 0x7f0900c2
            public const int month = 2131296450;
            // aapt resource value: 0x7f0900b7
            public const int month = 2131296439;
            
            // aapt resource value: 0x7f09001c
            public const int multiply = 2131296284;
            
            // aapt resource value: 0x7f0900c7
            public const int myButton = 2131296455;
            // aapt resource value: 0x7f0900bc
            public const int myButton = 2131296444;
            
            // aapt resource value: 0x7f09009f
            public const int navigation_header_container = 2131296415;
            // aapt resource value: 0x7f090094
            public const int navigation_header_container = 2131296404;
            
            // aapt resource value: 0x7f090030
            public const int never = 2131296304;
@@ -3414,29 +3393,29 @@
            // aapt resource value: 0x7f090013
            public const int normal = 2131296275;
            
            // aapt resource value: 0x7f0900d7
            public const int notification_background = 2131296471;
            // aapt resource value: 0x7f0900cc
            public const int notification_background = 2131296460;
            
            // aapt resource value: 0x7f0900d1
            public const int notification_main_column = 2131296465;
            // aapt resource value: 0x7f0900c6
            public const int notification_main_column = 2131296454;
            
            // aapt resource value: 0x7f0900d0
            public const int notification_main_column_container = 2131296464;
            // aapt resource value: 0x7f0900c5
            public const int notification_main_column_container = 2131296453;
            
            // aapt resource value: 0x7f0900bd
            public const int options1 = 2131296445;
            // aapt resource value: 0x7f0900b2
            public const int options1 = 2131296434;
            
            // aapt resource value: 0x7f0900be
            public const int options2 = 2131296446;
            // aapt resource value: 0x7f0900b3
            public const int options2 = 2131296435;
            
            // aapt resource value: 0x7f0900bf
            public const int options3 = 2131296447;
            // aapt resource value: 0x7f0900b4
            public const int options3 = 2131296436;
            
            // aapt resource value: 0x7f0900bc
            public const int optionspicker = 2131296444;
            // aapt resource value: 0x7f0900b1
            public const int optionspicker = 2131296433;
            
            // aapt resource value: 0x7f0900b6
            public const int outmost_container = 2131296438;
            // aapt resource value: 0x7f0900ab
            public const int outmost_container = 2131296427;
            
            // aapt resource value: 0x7f090041
            public const int parallax = 2131296321;
@@ -3459,14 +3438,14 @@
            // aapt resource value: 0x7f09003f
            public const int right = 2131296319;
            
            // aapt resource value: 0x7f0900d6
            public const int right_icon = 2131296470;
            // aapt resource value: 0x7f0900cb
            public const int right_icon = 2131296459;
            
            // aapt resource value: 0x7f0900d2
            public const int right_side = 2131296466;
            // aapt resource value: 0x7f0900c7
            public const int right_side = 2131296455;
            
            // aapt resource value: 0x7f0900b2
            public const int rv_topbar = 2131296434;
            // aapt resource value: 0x7f0900a7
            public const int rv_topbar = 2131296423;
            
            // aapt resource value: 0x7f09001d
            public const int screen = 2131296285;
@@ -3516,8 +3495,8 @@
            // aapt resource value: 0x7f090086
            public const int search_voice_btn = 2131296390;
            
            // aapt resource value: 0x7f0900c6
            public const int second = 2131296454;
            // aapt resource value: 0x7f0900bb
            public const int second = 2131296443;
            
            // aapt resource value: 0x7f090087
            public const int select_dialog_listview = 2131296391;
@@ -3534,14 +3513,14 @@
            // aapt resource value: 0x7f09001a
            public const int showTitle = 2131296282;
            
            // aapt resource value: 0x7f090097
            public const int smallLabel = 2131296407;
            // aapt resource value: 0x7f09008c
            public const int smallLabel = 2131296396;
            
            // aapt resource value: 0x7f09009e
            public const int snackbar_action = 2131296414;
            // aapt resource value: 0x7f090093
            public const int snackbar_action = 2131296403;
            
            // aapt resource value: 0x7f09009d
            public const int snackbar_text = 2131296413;
            // aapt resource value: 0x7f090092
            public const int snackbar_text = 2131296402;
            
            // aapt resource value: 0x7f090038
            public const int snap = 2131296312;
@@ -3561,41 +3540,29 @@
            // aapt resource value: 0x7f090020
            public const int src_over = 2131296288;
            
            // aapt resource value: 0x7f0900db
            public const int srl_classics_arrow = 2131296475;
            // aapt resource value: 0x7f0900d0
            public const int srl_classics_arrow = 2131296464;
            
            // aapt resource value: 0x7f0900de
            public const int srl_classics_center = 2131296478;
            // aapt resource value: 0x7f0900d3
            public const int srl_classics_center = 2131296467;
            
            // aapt resource value: 0x7f0900dd
            public const int srl_classics_progress = 2131296477;
            // aapt resource value: 0x7f0900d2
            public const int srl_classics_progress = 2131296466;
            
            // aapt resource value: 0x7f0900dc
            public const int srl_classics_title = 2131296476;
            // aapt resource value: 0x7f0900d1
            public const int srl_classics_title = 2131296465;
            
            // aapt resource value: 0x7f0900df
            public const int srl_classics_update = 2131296479;
            // aapt resource value: 0x7f0900d4
            public const int srl_classics_update = 2131296468;
            
            // aapt resource value: 0x7f090040
            public const int start = 2131296320;
            
            // aapt resource value: 0x7f09008f
            public const int startV1 = 2131296399;
            // aapt resource value: 0x7f09008b
            public const int status = 2131296395;
            
            // aapt resource value: 0x7f090091
            public const int startV1V4 = 2131296401;
            // aapt resource value: 0x7f090090
            public const int startV4 = 2131296400;
            // aapt resource value: 0x7f090096
            public const int status = 2131296406;
            // aapt resource value: 0x7f0900cd
            public const int status_bar_latest_event_content = 2131296461;
            // aapt resource value: 0x7f090092
            public const int stop = 2131296402;
            // aapt resource value: 0x7f0900c2
            public const int status_bar_latest_event_content = 2131296450;
            
            // aapt resource value: 0x7f090073
            public const int submenuarrow = 2131296371;
@@ -3603,8 +3570,8 @@
            // aapt resource value: 0x7f090084
            public const int submit_area = 2131296388;
            
            // aapt resource value: 0x7f090093
            public const int subtitle = 2131296403;
            // aapt resource value: 0x7f090088
            public const int subtitle = 2131296392;
            
            // aapt resource value: 0x7f090014
            public const int tabMode = 2131296276;
@@ -3621,8 +3588,8 @@
            // aapt resource value: 0x7f090066
            public const int textSpacerNoTitle = 2131296358;
            
            // aapt resource value: 0x7f0900a4
            public const int text_input_password_toggle = 2131296420;
            // aapt resource value: 0x7f090099
            public const int text_input_password_toggle = 2131296409;
            
            // aapt resource value: 0x7f09000a
            public const int textinput_counter = 2131296266;
@@ -3630,11 +3597,11 @@
            // aapt resource value: 0x7f09000b
            public const int textinput_error = 2131296267;
            
            // aapt resource value: 0x7f0900d3
            public const int time = 2131296467;
            // aapt resource value: 0x7f0900c8
            public const int time = 2131296456;
            
            // aapt resource value: 0x7f0900c0
            public const int timepicker = 2131296448;
            // aapt resource value: 0x7f0900b5
            public const int timepicker = 2131296437;
            
            // aapt resource value: 0x7f090011
            public const int title = 2131296273;
@@ -3651,20 +3618,20 @@
            // aapt resource value: 0x7f09006b
            public const int topPanel = 2131296363;
            
            // aapt resource value: 0x7f09009b
            public const int touch_outside = 2131296411;
            // aapt resource value: 0x7f090090
            public const int touch_outside = 2131296400;
            
            // aapt resource value: 0x7f0900b4
            public const int tvTitle = 2131296436;
            // aapt resource value: 0x7f0900a9
            public const int tvTitle = 2131296425;
            
            // aapt resource value: 0x7f0900e2
            public const int tv_zxing_back = 2131296482;
            // aapt resource value: 0x7f0900d7
            public const int tv_zxing_back = 2131296471;
            
            // aapt resource value: 0x7f0900e3
            public const int tv_zxing_flash = 2131296483;
            // aapt resource value: 0x7f0900d8
            public const int tv_zxing_flash = 2131296472;
            
            // aapt resource value: 0x7f0900e1
            public const int tv_zxing_scan = 2131296481;
            // aapt resource value: 0x7f0900d6
            public const int tv_zxing_scan = 2131296470;
            
            // aapt resource value: 0x7f090022
            public const int uniform = 2131296290;
@@ -3678,8 +3645,8 @@
            // aapt resource value: 0x7f09000c
            public const int view_offset_helper = 2131296268;
            
            // aapt resource value: 0x7f0900e5
            public const int visible = 2131296485;
            // aapt resource value: 0x7f0900da
            public const int visible = 2131296474;
            
            // aapt resource value: 0x7f090031
            public const int withText = 2131296305;
@@ -3687,8 +3654,8 @@
            // aapt resource value: 0x7f090023
            public const int wrap_content = 2131296291;
            
            // aapt resource value: 0x7f0900c1
            public const int year = 2131296449;
            // aapt resource value: 0x7f0900b6
            public const int year = 2131296438;
            
            static Id()
            {
@@ -3831,157 +3798,154 @@
            public const int abc_select_dialog_material = 2130968602;
            
            // aapt resource value: 0x7f04001b
            public const int activity_elian = 2130968603;
            public const int biometric_prompt_dialog_content = 2130968603;
            
            // aapt resource value: 0x7f04001c
            public const int biometric_prompt_dialog_content = 2130968604;
            public const int design_bottom_navigation_item = 2130968604;
            
            // aapt resource value: 0x7f04001d
            public const int design_bottom_navigation_item = 2130968605;
            public const int design_bottom_sheet_dialog = 2130968605;
            
            // aapt resource value: 0x7f04001e
            public const int design_bottom_sheet_dialog = 2130968606;
            public const int design_layout_snackbar = 2130968606;
            
            // aapt resource value: 0x7f04001f
            public const int design_layout_snackbar = 2130968607;
            public const int design_layout_snackbar_include = 2130968607;
            
            // aapt resource value: 0x7f040020
            public const int design_layout_snackbar_include = 2130968608;
            public const int design_layout_tab_icon = 2130968608;
            
            // aapt resource value: 0x7f040021
            public const int design_layout_tab_icon = 2130968609;
            public const int design_layout_tab_text = 2130968609;
            
            // aapt resource value: 0x7f040022
            public const int design_layout_tab_text = 2130968610;
            public const int design_menu_item_action_area = 2130968610;
            
            // aapt resource value: 0x7f040023
            public const int design_menu_item_action_area = 2130968611;
            public const int design_navigation_item = 2130968611;
            
            // aapt resource value: 0x7f040024
            public const int design_navigation_item = 2130968612;
            public const int design_navigation_item_header = 2130968612;
            
            // aapt resource value: 0x7f040025
            public const int design_navigation_item_header = 2130968613;
            public const int design_navigation_item_separator = 2130968613;
            
            // aapt resource value: 0x7f040026
            public const int design_navigation_item_separator = 2130968614;
            public const int design_navigation_item_subheader = 2130968614;
            
            // aapt resource value: 0x7f040027
            public const int design_navigation_item_subheader = 2130968615;
            public const int design_navigation_menu = 2130968615;
            
            // aapt resource value: 0x7f040028
            public const int design_navigation_menu = 2130968616;
            public const int design_navigation_menu_item = 2130968616;
            
            // aapt resource value: 0x7f040029
            public const int design_navigation_menu_item = 2130968617;
            public const int design_text_input_password_icon = 2130968617;
            
            // aapt resource value: 0x7f04002a
            public const int design_text_input_password_icon = 2130968618;
            public const int hdl_gallery_banner_view_layout = 2130968618;
            
            // aapt resource value: 0x7f04002b
            public const int hdl_gallery_banner_view_layout = 2130968619;
            public const int hdl_widget_activity_crop_image = 2130968619;
            
            // aapt resource value: 0x7f04002c
            public const int hdl_widget_activity_crop_image = 2130968620;
            public const int hdl_widget_activity_geofence_round = 2130968620;
            
            // aapt resource value: 0x7f04002d
            public const int hdl_widget_activity_geofence_round = 2130968621;
            public const int hdl_widget_air_button = 2130968621;
            
            // aapt resource value: 0x7f04002e
            public const int hdl_widget_air_button = 2130968622;
            public const int hdl_widget_include_pickerview_topbar = 2130968622;
            
            // aapt resource value: 0x7f04002f
            public const int hdl_widget_include_pickerview_topbar = 2130968623;
            public const int hdl_widget_layout_basepickerview = 2130968623;
            
            // aapt resource value: 0x7f040030
            public const int hdl_widget_layout_basepickerview = 2130968624;
            public const int hdl_widget_pickerview = 2130968624;
            
            // aapt resource value: 0x7f040031
            public const int hdl_widget_pickerview = 2130968625;
            public const int hdl_widget_pickerview_options = 2130968625;
            
            // aapt resource value: 0x7f040032
            public const int hdl_widget_pickerview_options = 2130968626;
            public const int hdl_widget_pickerview_time = 2130968626;
            
            // aapt resource value: 0x7f040033
            public const int hdl_widget_pickerview_time = 2130968627;
            public const int Main = 2130968627;
            
            // aapt resource value: 0x7f040034
            public const int Main = 2130968628;
            public const int notification_action = 2130968628;
            
            // aapt resource value: 0x7f040035
            public const int notification_action = 2130968629;
            public const int notification_action_tombstone = 2130968629;
            
            // aapt resource value: 0x7f040036
            public const int notification_action_tombstone = 2130968630;
            public const int notification_media_action = 2130968630;
            
            // aapt resource value: 0x7f040037
            public const int notification_media_action = 2130968631;
            public const int notification_media_cancel_action = 2130968631;
            
            // aapt resource value: 0x7f040038
            public const int notification_media_cancel_action = 2130968632;
            public const int notification_template_big_media = 2130968632;
            
            // aapt resource value: 0x7f040039
            public const int notification_template_big_media = 2130968633;
            public const int notification_template_big_media_custom = 2130968633;
            
            // aapt resource value: 0x7f04003a
            public const int notification_template_big_media_custom = 2130968634;
            public const int notification_template_big_media_narrow = 2130968634;
            
            // aapt resource value: 0x7f04003b
            public const int notification_template_big_media_narrow = 2130968635;
            public const int notification_template_big_media_narrow_custom = 2130968635;
            
            // aapt resource value: 0x7f04003c
            public const int notification_template_big_media_narrow_custom = 2130968636;
            public const int notification_template_custom_big = 2130968636;
            
            // aapt resource value: 0x7f04003d
            public const int notification_template_custom_big = 2130968637;
            public const int notification_template_icon_group = 2130968637;
            
            // aapt resource value: 0x7f04003e
            public const int notification_template_icon_group = 2130968638;
            public const int notification_template_lines_media = 2130968638;
            
            // aapt resource value: 0x7f04003f
            public const int notification_template_lines_media = 2130968639;
            public const int notification_template_media = 2130968639;
            
            // aapt resource value: 0x7f040040
            public const int notification_template_media = 2130968640;
            public const int notification_template_media_custom = 2130968640;
            
            // aapt resource value: 0x7f040041
            public const int notification_template_media_custom = 2130968641;
            public const int notification_template_part_chronometer = 2130968641;
            
            // aapt resource value: 0x7f040042
            public const int notification_template_part_chronometer = 2130968642;
            public const int notification_template_part_time = 2130968642;
            
            // aapt resource value: 0x7f040043
            public const int notification_template_part_time = 2130968643;
            public const int select_dialog_item_material = 2130968643;
            
            // aapt resource value: 0x7f040044
            public const int select_dialog_item_material = 2130968644;
            public const int select_dialog_multichoice_material = 2130968644;
            
            // aapt resource value: 0x7f040045
            public const int select_dialog_multichoice_material = 2130968645;
            public const int select_dialog_singlechoice_material = 2130968645;
            
            // aapt resource value: 0x7f040046
            public const int select_dialog_singlechoice_material = 2130968646;
            public const int srl_classics_footer = 2130968646;
            
            // aapt resource value: 0x7f040047
            public const int srl_classics_footer = 2130968647;
            public const int srl_classics_header = 2130968647;
            
            // aapt resource value: 0x7f040048
            public const int srl_classics_header = 2130968648;
            public const int support_simple_spinner_dropdown_item = 2130968648;
            
            // aapt resource value: 0x7f040049
            public const int support_simple_spinner_dropdown_item = 2130968649;
            public const int tooltip = 2130968649;
            
            // aapt resource value: 0x7f04004a
            public const int tooltip = 2130968650;
            public const int zxing_layout = 2130968650;
            
            // aapt resource value: 0x7f04004b
            public const int zxing_layout = 2130968651;
            public const int zxingscanneractivitylayout = 2130968651;
            
            // aapt resource value: 0x7f04004c
            public const int zxingscanneractivitylayout = 2130968652;
            // aapt resource value: 0x7f04004d
            public const int zxingscannerfragmentlayout = 2130968653;
            public const int zxingscannerfragmentlayout = 2130968652;
            
            static Layout()
            {
ZigbeeApp/Home.Ios/Home.IOS.csproj
@@ -134,6 +134,8 @@
      <BundleResource Include="Resources\Phone\Guide\RightIcon.png" />
      <BundleResource Include="Resources\Phone\Guide\LeftIcon.png" />
      <BundleResource Include="Resources\Phone\Guide\Finger.png" />
      <BundleResource Include="Resources\Phone\Guide\WorkRoomIcon.png" />
      <BundleResource Include="Resources\Phone\Guide\Arrows2.png" />
      <BundleResource Include="Resources\Phone\Guide\Arrows1.png" />
      <BundleResource Include="Resources\Phone\Room\RoomCardView.png" />
      <BundleResource Include="Resources\Phone\Room\ItemSelected.png" />
ZigbeeApp/Home.Ios/Resources/Language.ini
@@ -152,7 +152,7 @@
147=手势开锁
148=请绑定远程开锁的门锁
149=去设置
150=请前往个人中心
150=请前往个人中心{0}设置二次安全验证方式
151=设置二次安全验证方式
152=开启远程开锁验证
153=门锁
@@ -183,11 +183,11 @@
177=未分配
178=验证频繁,请15秒后再试
179=操作失败
180=远程开锁绑定成功
180=远程开锁绑定成功{0}请设置二次安全验证方式
181=请设置二次安全验证方式
182=关
182=关闭
183=开锁中
184=开
184=打开
185=年
186=矫正成功
187=矫正失败
@@ -229,12 +229,11 @@
223=确认删除按键模式及清空所有目标
224=绑定目标为空,请选择需要绑定目标
225=绑定目标
226=确认删除按键模式及
226=确认删除按键模式及{0}清空所有目标
227=清空所有目标
228=确认
229=分享成功
230=确定要将该账户解冻?
548=提醒设置
550=新增用户
551=头像
@@ -425,13 +424,13 @@
5150=工作日
5151=周末
5152=星期
5153=星期一
5154=星期二
5155=星期三
5156=星期四
5157=星期五
5158=星期六
5159=星期日
5153=周一
5154=周二
5155=周三
5156=周四
5157=周五
5158=周六
5159=周日
5160=日期
5161=开始日期
5162=结束日期
@@ -620,6 +619,7 @@
5375=添加开关/灯光
5376=应用
5377=没有自动化{\r\n} 请点击右上角添加
5378=推送内容不能为空.
@@ -1345,7 +1345,6 @@
15576=序列号
15577=已共享
15578=确定移除选中的设备?
15579=出现未知错误,数据丢失
15580=共享数据同步中
15581=请配置共享设备
15582=当前正处于布防模式,无法添加设备
@@ -1578,13 +1577,13 @@
15817=下限位
15818=确认当前位置为上限位?
15819=确认当前位置为下限位?
15820=如果满足
15820=如果满足低亮度环境
15821=就会
15822=触发目标
15823=延时
15824=分
15825=秒
15826=照明等级
15826=照度值
15827=低
15828=高
15829=没有可以添加的目标
@@ -1806,6 +1805,17 @@
16047=慢启动
16048=慢关闭
16049=亮度
16050=获取传感器亮度值失败
16051=当前亮度值
16052=暗
16053=亮
16054=在室内条件下,黄昏照度值约为10lux,阴天照度值约为5~50lux,请根据实际需要进行调节
16055=震动反馈
16056=获取震动反馈配置信息失败
16057=设置震动反馈配置信息失败
16058=我的家
16059=长按“我的家”{0}可切换我的住宅
16060=办公室
;★★★★下面这些是接口的返回信息翻译,从18000开始★★★★
18004=指定网关已经被绑定
ZigbeeApp/Home.Ios/Resources/Phone/Guide/Arrows2.png
ZigbeeApp/Home.Ios/Resources/Phone/Guide/WorkRoomIcon.png
ZigbeeApp/Shared/Common/CommonPage.cs
@@ -62,7 +62,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string CodeIDString = "1.0.19123001";
        public static string CodeIDString = "1.0.19123101";
        /// <summary>
        /// 注册来源(0:HDL On 1:Zigbee)
        /// </summary>
ZigbeeApp/Shared/Common/Device.cs
@@ -547,6 +547,8 @@
            {
                //从房间中删除
                Room.CurrentRoom.DeleteDevice(device);
                //删除我的喜爱的设备
                Room.CurrentRoom.DeleteLoveDevice(device);
            }
            //删除缓存
ZigbeeApp/Shared/Common/Logic.cs
@@ -47,6 +47,10 @@
        /// 推送内容
        /// </summary>
        public string LogicCustomPushText=string.Empty;
        /// <summary>
        /// 记录推送开关状态
        /// </summary>
        public int LogicIsCustomPushText = 0;
        //public Dictionary<string, string> TimeAttribute = new Dictionary<string, string>();
        public TimeAttributeObj TimeAttribute = new TimeAttributeObj();
ZigbeeApp/Shared/Common/Room.cs
@@ -943,6 +943,31 @@
            this.DeleteDevice(device);
        }
        /// <summary>
        /// 删除我的喜爱的设备
        /// </summary>
        /// <param name="device">要删除的设备对象</param>
        public void DeleteLoveDevice(CommonDevice device)
        {
            if (device == null)
            {
                return;
            }
            //我的喜爱
            var loveRoom = this.GetLoveRoom();
            if (loveRoom != null)
            {
                string deviceFile = device.FilePath;
                //移除缓存
                if (loveRoom.DeviceUIFilePathList.Contains(deviceFile) == false)
                {
                    return;
                }
                loveRoom.DeviceUIFilePathList.Remove(deviceFile);
                loveRoom.DeviceUIList.RemoveAll((obj) => obj.FileName == deviceFile);
            }
        }
        #endregion
        #region ◆ 获取设备_________________________
ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -2155,13 +2155,14 @@
            foreach (var logic in Common.Logic.LogicList)
            {
                var logicRowlayout = new RowLayout
                {
                    Height = Application.GetRealHeight(190 + 30),
                    Width = Application.GetRealWidth(1080-58),
                    LineColor = ZigbeeColor.Current.LogicBackgroundColor,
                    BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                   BackgroundColor =ZigbeeColor.Current.LogicBackgroundColor,
                };
                refresview.AddChidren(logicRowlayout);
@@ -2187,7 +2188,7 @@
                    Height = Application.GetMinRealAverage(63),
                    UnSelectedImagePath = "ZigeeLogic/logicclose.png",
                    SelectedImagePath = "ZigeeLogic/logicopen.png",
                    X = logicRowlayout.Width - Application.GetRealWidth(104 + 58 + 58),
                    X = logicRowlayout.Width - Application.GetRealWidth(104 + 58),
                    Y = Application.GetRealHeight(58 + 30 + 9 + 30),
                };
                logicRowlayout.AddChidren(logicswitchBtn);
@@ -2268,7 +2269,7 @@
                var line = new Button
                {
                    Y = Application.GetRealHeight(215),
                    Height = Application.GetRealHeight(5),
                    Height = Application.GetRealHeight(5),
                    Width = Application.GetRealWidth(1080 - 58),
                    BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                    X = Application.GetRealWidth(58),
@@ -2289,7 +2290,7 @@
            var logictimeBtn = new Button
            {
                Height = Application.GetRealHeight(58),
                Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350 + 58),
                Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350),
                Y = Application.GetRealHeight(30),
                X = Application.GetRealWidth(365),
                TextAlignment = TextAlignment.CenterRight,
ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs
old mode 100644 new mode 100755
ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs
@@ -153,9 +153,9 @@
            {
                if (clickTag == "no" || tempScene == null)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                              Language.StringByID(MyInternationalizationString.scenetip),
                                              Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                          Language.StringByID(MyInternationalizationString.scenetip),
                          Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs
@@ -103,6 +103,14 @@
            btnsave.MouseUpEventHandler += (sender, e) =>
             {
                 Common.Logic.CurrentLogic.LogicCustomPushText = textBox.Text.Trim();
                 if (string.IsNullOrEmpty(Common.Logic.CurrentLogic.LogicCustomPushText))
                 {
                     var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                           Language.StringByID(MyInternationalizationString.tiptextnull),
                           Language.StringByID(MyInternationalizationString.confrim));
                           alert.Show();
                           return;
                 }
                 if (Common.Logic.CurrentLogic.LogicId != 0)
                 {
                     ///只改推送内容;
ZigbeeApp/Shared/Phone/Device/Logic/Cycle.cs
@@ -432,10 +432,11 @@
            {
                if (!onceBackBtn.Visible && !everydayBack.Visible)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                                     Language.StringByID(MyInternationalizationString.selectweek),
                                                 Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                           Language.StringByID(MyInternationalizationString.selectweek),
                          Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -1566,9 +1566,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                    Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                   Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
@@ -280,185 +280,97 @@
            };
            lockRow.AddChidren(Btncomplete);
            #endregion
            bool @false = false;
            lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50);
            lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50);
            if (membershipIfon.UserIdMode.Count > 10)
            {
                @false = false;//
                ///元素超出10个,暂时默认显示10;
                lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * 10) - 20 - 50);
                lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * 10) + 20 + 50);
            }
            else
            {
                @false = false;
                lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50);
                lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50);
            }
            string SelectedLockStatus = "";
            ///定义两个变量记录选中状态;
            string attriButeId = "";
            string attriButeData2 = "";
            string modeName = "";
            if (!@false)
            for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
            {
                for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
                var userIdmode = membershipIfon.UserIdMode[j];
                var doorlockfra = new FrameLayout
                {
                    var userIdmode = membershipIfon.UserIdMode[j];
                    var doorlockfra = new FrameLayout
                    {
                        Height = Application.GetRealHeight(160),
                        Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * j),
                    };
                    lockcolorfra1.AddChidren(doorlockfra);
                    Height = Application.GetRealHeight(160),
                    Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * j),
                };
                lockcolorfra1.AddChidren(doorlockfra);
                    var doorlockRow = new RowLayout
                    {
                        Y = Application.GetRealHeight(30),
                        Width = Application.GetRealWidth(920),
                        Height = Application.GetRealHeight(130),
                        X = Application.GetRealWidth(80),
                        LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                    };
                    doorlockfra.AddChidren(doorlockRow);
                var doorlockRow = new RowLayout
                {
                    Y = Application.GetRealHeight(30),
                    Width = Application.GetRealWidth(920),
                    Height = Application.GetRealHeight(130),
                    X = Application.GetRealWidth(80),
                    LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                };
                doorlockfra.AddChidren(doorlockRow);
                    var doorlockBtn = new Button
                    {
                        Width = Application.GetRealWidth(600),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                        Text = userIdmode.ModeName,
                        TextSize = 14,
                    };
                    doorlockRow.AddChidren(doorlockBtn);
                var doorlockBtn = new Button
                {
                    Width = Application.GetRealWidth(600),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                    Text = userIdmode.ModeName,
                    TextSize = 14,
                };
                doorlockRow.AddChidren(doorlockBtn);
                    var doorlockSelected = new Button
                    {
                        X = Application.GetRealWidth(860),
                        Width = Application.GetMinRealAverage(60),
                        Height = Application.GetMinRealAverage(60),
                        UnSelectedImagePath = "ZigeeLogic/selected.png",
                        Visible = false,
                        Gravity = Gravity.CenterVertical,
                var doorlockSelected = new Button
                {
                    X = Application.GetRealWidth(860),
                    Width = Application.GetMinRealAverage(60),
                    Height = Application.GetMinRealAverage(60),
                    UnSelectedImagePath = "ZigeeLogic/selected.png",
                    Visible = false,
                    Gravity = Gravity.CenterVertical,
                    };
                    doorlockRow.AddChidren(doorlockSelected);
                    if ((membershipIfon.UserIdMode.Count - 1) == j)
                };
                doorlockRow.AddChidren(doorlockSelected);
                if ((membershipIfon.UserIdMode.Count - 1) == j)
                {
                    doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
                }
                EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
                {
                    SelectedLockStatus = "DoorLock";
                    selectedIcon.Visible = false;
                    selectedIcon = doorlockSelected;
                    doorlockSelected.Visible = true;
                        //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                        attriButeId = userIdmode.OpenMode.ToString();
                    attriButeData2 = userIdmode.UserId;
                    modeName = userIdmode.ModeName;
                };
                doorlockRow.MouseUpEventHandler += doorlockclick;
                doorlockBtn.MouseUpEventHandler += doorlockclick;
                doorlockSelected.MouseUpEventHandler += doorlockclick;
                doorlockfra.MouseUpEventHandler += doorlockclick;
                ///显示之前的状态
                if (conditionsIndex != -1)
                {
                    var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex];
                    if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId)
                    {
                        doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
                    }
                    EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
                    {
                        SelectedLockStatus = "DoorLock";
                        selectedIcon.Visible = false;
                        selectedIcon = doorlockSelected;
                        doorlockSelected.Visible = true;
                    //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                    attriButeId = userIdmode.OpenMode.ToString();
                        attriButeData2 = userIdmode.UserId;
                        modeName = userIdmode.ModeName;
                    };
                    doorlockRow.MouseUpEventHandler += doorlockclick;
                    doorlockBtn.MouseUpEventHandler += doorlockclick;
                    doorlockSelected.MouseUpEventHandler += doorlockclick;
                    doorlockfra.MouseUpEventHandler += doorlockclick;
                    ///显示之前的状态
                    if (conditionsIndex != -1)
                    {
                        var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex];
                        if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId)
                        {
                            selectedIcon.Visible = false;
                            selectedIcon = doorlockSelected;
                            doorlockSelected.Visible = true;
                        }
                    }
                }
            }
            else
            {
                for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
                {
                    var userIdmode = membershipIfon.UserIdMode[j];
                    var vv = new VerticalScrolViewLayout
                    {
                        Height = Application.GetRealHeight(160 * 8),
                        Y = lockRow.Bottom,
                    };
                    lockcolorfra1.AddChidren(vv);
                    var doorlockfra = new FrameLayout
                    {
                        Height = Application.GetRealHeight(160),
                        Y = Application.GetRealHeight(160 * j),
                    };
                    vv.AddChidren(doorlockfra);
                    var doorlockRow = new RowLayout
                    {
                        Y = Application.GetRealHeight(30),
                        Width = Application.GetRealWidth(920),
                        Height = Application.GetRealHeight(130),
                        X = Application.GetRealWidth(80),
                        LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                    };
                    doorlockfra.AddChidren(doorlockRow);
                    var doorlockBtn = new Button
                    {
                        Width = Application.GetRealWidth(600),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                        Text = userIdmode.ModeName,
                        TextSize = 14,
                    };
                    doorlockRow.AddChidren(doorlockBtn);
                    var doorlockSelected = new Button
                    {
                        X = Application.GetRealWidth(860),
                        Width = Application.GetMinRealAverage(60),
                        Height = Application.GetMinRealAverage(60),
                        UnSelectedImagePath = "ZigeeLogic/selected.png",
                        Visible = false,
                        Gravity = Gravity.CenterVertical,
                    };
                    doorlockRow.AddChidren(doorlockSelected);
                    if ((membershipIfon.UserIdMode.Count - 1) == j)
                    {
                        doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
                    }
                    EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
                    {
                        SelectedLockStatus = "DoorLock";
                        selectedIcon.Visible = false;
                        selectedIcon = doorlockSelected;
                        doorlockSelected.Visible = true;
                    //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                    attriButeId = userIdmode.OpenMode.ToString();
                        attriButeData2 = userIdmode.UserId;
                        modeName = userIdmode.ModeName;
                    };
                    doorlockRow.MouseUpEventHandler += doorlockclick;
                    doorlockBtn.MouseUpEventHandler += doorlockclick;
                    doorlockSelected.MouseUpEventHandler += doorlockclick;
                    doorlockfra.MouseUpEventHandler += doorlockclick;
                    ///显示之前的状态
                    if (conditionsIndex != -1)
                    {
                        var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex];
                        if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId)
                        {
                            selectedIcon.Visible = false;
                            selectedIcon = doorlockSelected;
                            doorlockSelected.Visible = true;
                        }
                    }
                }
            }
            Btncomplete.MouseUpEventHandler += (sender, e) =>
            {
@@ -544,9 +456,9 @@
                {
                    if (conditionsIndex == -1)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.usertip),
                                               Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                   Language.StringByID(MyInternationalizationString.usertip),
                   Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddDevice.cs
@@ -1067,7 +1067,7 @@
                            ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                            ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                            ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,//进度条原颜色
                            ProgressTextSize = 13,//显示百分比字体大小
                            ProgressTextSize = 12,//显示百分比字体大小
                            SeekBarViewHeight = Application.GetRealHeight(10),//进度条的高度
                        };
                        openframelayout.AddChidren(horizontalSeekBarVol);
@@ -1358,7 +1358,7 @@
                        };
                        openframelayout.AddChidren(horizontalSeekBarRow);
                        var horizontalSeekBarVol = new DiyImageSeekBar
                        {
                        {
                            Y = openrowlayout.Bottom,
                            X = Application.GetRealWidth(80),
                            Width = Application.GetRealWidth(920),
@@ -1369,7 +1369,7 @@
                            ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                            ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                            ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,//进度条原颜色
                            ProgressTextSize = 13,//显示百分比字体大小
                            ProgressTextSize = 12,//显示百分比字体大小
                            SeekBarViewHeight = Application.GetRealHeight(10),//进度条的高度
                        };
                        openframelayout.AddChidren(horizontalSeekBarVol);
@@ -2106,9 +2106,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
               Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs
@@ -151,9 +151,9 @@
            {
                if (clickTag == "no" || tempScene == null)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                              Language.StringByID(MyInternationalizationString.scenetip),
                                              Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
           Language.StringByID(MyInternationalizationString.scenetip),
           Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs
@@ -374,20 +374,18 @@
                    conditionsRowLayout.AddRightView(del);
                    del.MouseUpEventHandler += (sender, e) =>
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                                              Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim));
                        alert.ResultEventHandler += (sender1, e1) =>
                        {
                            if (e1)
                            {
                                Common.Logic.CurrentLogic.Conditions.Remove(conditions);
                                var lockLogicCommunalPage = new LockLogicCommunalPage();
                                UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
                                UserView.HomePage.Instance.PageIndex += 1;
                                lockLogicCommunalPage.Show(() => { });
                            }
                        };
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
                       Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                       Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        alert.ConfirmClickEvent += () =>
                        {
                            Common.Logic.CurrentLogic.Conditions.Remove(conditions);
                            var lockLogicCommunalPage = new LockLogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            lockLogicCommunalPage.Show(() => { });
                        };
                    };
@@ -940,20 +938,19 @@
                    del.MouseUpEventHandler += (sender, e) =>
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                                               Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim));
                        alert.ResultEventHandler += (sender1, e1) =>
                        {
                            if (e1)
                            {
                                Common.Logic.CurrentLogic.Actions.Remove(actions);
                                var lockLogicCommunalPage = new LockLogicCommunalPage();
                                UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
                                UserView.HomePage.Instance.PageIndex += 1;
                                lockLogicCommunalPage.Show(() => { });
                            }
                        };
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
           Language.StringByID(MyInternationalizationString.doyouwanttodelete),
          Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        alert.ConfirmClickEvent += () =>
                        {
                            Common.Logic.CurrentLogic.Actions.Remove(actions);
                            var lockLogicCommunalPage = new LockLogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            lockLogicCommunalPage.Show(() => { });
                        };
                    };
@@ -1072,6 +1069,7 @@
                {
                    tag = true;
                    custompushFrameLayout.Height = Application.GetRealHeight(160);
                    Common.Logic.CurrentLogic.LogicIsCustomPushText = 1;
                    if (Common.Logic.CurrentLogic.LogicId != 0)
                    {
                        Send.Data("添加/更新", "/App/HomeLogicConfig", "POST");
@@ -1082,6 +1080,7 @@
                {
                    tag = false;
                    custompushFrameLayout.Height = Application.GetRealHeight(0);
                    Common.Logic.CurrentLogic.LogicIsCustomPushText = 0;
                    if (Common.Logic.CurrentLogic.LogicId != 0)
                    {
                        Send.Data("删除", "/App/DelHomeLogicConfig", "POST");
@@ -1089,7 +1088,14 @@
                }
            };
            if (Common.Logic.CurrentLogic.LogicIsCustomPushText == 0)
            {
                btnswitch.IsSelected = false;
            }
            else
            {
                btnswitch.IsSelected = true;
            }
            var saveFrameLayout = new FrameLayout
            {
                Y = middle.Bottom,
@@ -1115,7 +1121,10 @@
                var name = logicTextBox.Text.Trim();
                if (string.IsNullOrEmpty(logicTextBox.Text.Trim()))
                {
                    new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show();
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
            Language.StringByID(MyInternationalizationString.PleaseEnterLogicName),
            Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
                //var logicname = Common.Logic.LockLogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name);
ZigbeeApp/Shared/Phone/Device/Logic/EverymonthPage.cs
@@ -202,10 +202,10 @@
                if (monselectedlist.Count == 0)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                                     Language.StringByID(MyInternationalizationString.selectweek),
                                                 Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                          Language.StringByID(MyInternationalizationString.selectweek),
                         Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs
@@ -247,9 +247,10 @@
            {
                if (!edit)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                           Language.StringByID(MyInternationalizationString.delaytip),
                                           Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                        Language.StringByID(MyInternationalizationString.delaytip),
                        Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
@@ -1040,20 +1040,19 @@
                    del.MouseUpEventHandler += (sender, e) =>
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                                              Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim));
                        alert.ResultEventHandler += (sender1, e1) =>
                        {
                            if (e1)
                            {
                                Common.Logic.CurrentLogic.Conditions.Remove(conditions);
                                var logicCommunalPage = new LogicCommunalPage();
                                UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                                UserView.HomePage.Instance.PageIndex += 1;
                                logicCommunalPage.Show(() => { });
                            }
                        };
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
                        Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                        Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        alert.ConfirmClickEvent += () =>
                        {
                            Common.Logic.CurrentLogic.Conditions.Remove(conditions);
                            var logicCommunalPage = new LogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            logicCommunalPage.Show(() => { });
                        };
                    };
@@ -1790,21 +1789,19 @@
                    del.MouseUpEventHandler += (sender, e) =>
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                                               Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim));
                        alert.ResultEventHandler += (sender1, e1) =>
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
                       Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                       Language.StringByID(MyInternationalizationString.confrim));
                       alert.Show();
                        alert.ConfirmClickEvent += () =>
                        {
                            if (e1)
                            {
                                Common.Logic.CurrentLogic.Actions.Remove(actions);
                                // devicesFrameLayout.RemoveFromParent();
                                var logicCommunalPage = new LogicCommunalPage();
                                UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                                UserView.HomePage.Instance.PageIndex += 1;
                                logicCommunalPage.Show(() => { });
                            }
                            Common.Logic.CurrentLogic.Actions.Remove(actions);
                            // devicesFrameLayout.RemoveFromParent();
                            var logicCommunalPage = new LogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            logicCommunalPage.Show(() => { });
                        };
                        alert.Show();
                    };
@@ -1994,6 +1991,7 @@
                  {
                      tag = true;
                      custompushFrameLayout.Height = Application.GetRealHeight(160);
                      Common.Logic.CurrentLogic.LogicIsCustomPushText = 1;
                      if (Common.Logic.CurrentLogic.LogicId != 0)
                      {
                          Send.Data("添加/更新", "/App/HomeLogicConfig", "POST");
@@ -2004,6 +2002,7 @@
                  {
                      tag = false;
                      custompushFrameLayout.Height = Application.GetRealHeight(0);
                      Common.Logic.CurrentLogic.LogicIsCustomPushText = 0;
                      if (Common.Logic.CurrentLogic.LogicId != 0)
                      {
                          Send.Data("删除", "/App/DelHomeLogicConfig", "POST");
@@ -2011,6 +2010,14 @@
                      
                  }
              };
            if (Common.Logic.CurrentLogic.LogicIsCustomPushText == 0)
            {
                btnswitch.IsSelected = false;
            }
            else
            {
                btnswitch.IsSelected = true;
            }
            #endregion
@@ -2020,7 +2027,10 @@
                var name = logicTextBox.Text.Trim();
                if (string.IsNullOrEmpty(logicTextBox.Text.Trim()))
                {
                    new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show();
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                      Language.StringByID(MyInternationalizationString.PleaseEnterLogicName),
                      Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
                ///先隐藏判断名字相同的功能;
ZigbeeApp/Shared/Phone/Device/Logic/LogicDevicePage.cs
@@ -1064,7 +1064,7 @@
                            ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                            ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                            ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                            ProgressTextSize = 13,//显示百分比字体大小
                            ProgressTextSize = 12,//显示百分比字体大小
                            SeekBarViewHeight = Application.GetRealHeight(10),//进度条的高度
                        };
@@ -1366,7 +1366,7 @@
                            ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                            ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                            ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,//进度条原颜色
                            ProgressTextSize = 14,//显示百分比字体大小
                            ProgressTextSize = 12,//显示百分比字体大小
                            SeekBarViewHeight = Application.GetRealHeight(10),
                        };
                        openframelayout.AddChidren(horizontalSeekBarVol);
@@ -2108,9 +2108,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                              Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
@@ -296,6 +296,13 @@
            string SelectedDeviceStatuscondition = "";
            lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * user.UserIdMode.Count) - 20 - 50);
            lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * user.UserIdMode.Count) + 20 + 50);
            if (user.UserIdMode.Count > 10)
            {
                ///元素超出10个,暂时默认显示10;
                lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * 10) - 20 - 50);
                lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * 10) + 20 + 50);
            }
            for (int i = 0; i < user.UserIdMode.Count; i++)
            {
                var userifon = user.UserIdMode[i];
@@ -443,9 +450,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.complete));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                         Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                         Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs
@@ -393,9 +393,10 @@
            {
                if (!athomedefenceSelected.Visible && !leavehomedefenceSelected.Visible && !withdrawalSelected.Visible && !urgentwithdrawalSelected.Visible)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.securitytip),
                                               Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                              Language.StringByID(MyInternationalizationString.securitytip),
                             Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
@@ -101,8 +101,8 @@
                        var Logicifon = jObjectdata["Data"];
                        logic.LogicId = int.Parse(Logicifon["LogicId"]?.ToString());
                        logic.IsEnable = int.Parse(Logicifon["IsEnable"]?.ToString());
                        logic.LogicName = Logicifon["LogicName"]?.ToString();
                        logic.LogicCustomPushText = Logicifon["LogicCustomPushText"].ToString();
                        logic.LogicName = Logicifon["LogicName"]?.ToString();
                        logic.Relationship = int.Parse(Logicifon["Relationship"]?.ToString());
                        logic.TimeAttribute = Newtonsoft.Json.JsonConvert.DeserializeObject<TimeAttributeObj>(Logicifon["TimeAttribute"].ToString());
                        logic.Conditions = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Conditions"].ToString());
@@ -510,6 +510,7 @@
                        { "Relationship",logic.Relationship} ,
                         { "LogicType",logic.LogicType} ,
                        { "LogicCustomPushText",logic.LogicCustomPushText} ,
                        { "LogicIsCustomPushText",logic.LogicIsCustomPushText} ,
                        { "TimeAttribute", timeAttribute} ,
                        { "Conditions", conditions },
                        { "Actions", actions },
@@ -576,6 +577,7 @@
                date.Add("LogicName", logic.LogicName);
                date.Add("Relationship", logic.Relationship);
                date.Add("LogicCustomPushText", logic.LogicCustomPushText);
                date.Add("LogicIsCustomPushText", logic.LogicIsCustomPushText);
                mainGateWay?.Send("Logic/ReviseAttribute", jObject.ToString());
                //await System.Threading.Tasks.Task.Run(async () =>
                //{
@@ -622,8 +624,9 @@
                        logic.IsEnable = int.Parse(Logicifon["IsEnable"].ToString());
                        logic.LogicName = Logicifon["LogicName"].ToString();
                        logic.LogicType = int.Parse(Logicifon["LogicType"].ToString());
                        logic.Relationship = int.Parse(Logicifon["Relationship"].ToString());
                        logic.LogicCustomPushText = Logicifon["LogicCustomPushText"].ToString();
                        logic.Relationship = int.Parse(Logicifon["Relationship"].ToString());
                        logic.LogicCustomPushText =Logicifon["LogicCustomPushText"].ToString();
                        logic.LogicIsCustomPushText = int.Parse(Logicifon["LogicIsCustomPushText"].ToString());
                        logic.TimeAttribute = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.TimeAttributeObj>(Logicifon["TimeAttribute"].ToString());
                        logic.Conditions = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Conditions"].ToString());
                        logic.Accounts = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Accounts"].ToString());
@@ -1011,7 +1014,7 @@
            return await WebClientAsync(2, lockifon.Url, lockifon);
        }
              //打印NameValueCollection()显示索引, 键,值
        //打印NameValueCollection()显示索引, 键,值
        public static void PrintKeysAndValues2(NameValueCollection myCol)
        {
            for (int i = 0; i < myCol.Count; i++)
@@ -1139,33 +1142,36 @@
        /// <returns></returns>
        public static async System.Threading.Tasks.Task<string>Data(string command, string url, string method, object obj = null)
        {
            var getUrl = CommonPage.RequestHttpsHost + url;//请求地址;
            var getUrl ="";
            var jObject = new JObject();
            if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1)
            {
                getUrl = CommonPage.RequestHttpsHost + url;//请求地址;
                jObject.Add("IsOtherAccountCtrl", false);
                jObject.Add("LoginAccessToken", Config.Instance.Token);
            }
            else
            {
                getUrl = Config.Instance.AdminRequestBaseUrl + url;//请求地址;
                jObject.Add("IsOtherAccountCtrl", true);
                jObject.Add("LoginAccessToken", Config.Instance.AdminRequestToken);
            }
            switch (command)
            {
                case "添加/更新":
                    {
                        jObject.Add("RequestVersion", CommonPage.RequestVersion);
                        jObject.Add("LoginAccessToken", Config.Instance.Token);
                        //jObject.Add("LoginAccessToken", Config.Instance.Token);
                        jObject.Add("HomeId", Config.Instance.HomeId);
                        jObject.Add("LogicID", Common.Logic.CurrentLogic.LogicId);
                        jObject.Add("PushUserIds", new JArray { Config.Instance.Guid });
                        jObject.Add("PushContent", Common.Logic.CurrentLogic.LogicCustomPushText);
                    }
                    break;
                case "删除":
                    {
                        jObject.Add("RequestVersion", CommonPage.RequestVersion);
                        jObject.Add("LoginAccessToken", Config.Instance.Token);
                        //jObject.Add("LoginAccessToken", Config.Instance.Token);
                        jObject.Add("HomeId", Config.Instance.HomeId);
                        jObject.Add("LogicID", Common.Logic.CurrentLogic.LogicId);
                    }
ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs
@@ -2070,9 +2070,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.complete));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                        Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                        Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs
@@ -1118,9 +1118,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                         Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                         Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
ZigbeeApp/Shared/Phone/Device/Logic/TemplateIgnore.cs
@@ -245,9 +245,10 @@
            {
                if (!edit)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                           Language.StringByID(MyInternationalizationString.delaytip),
                                           Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                      Language.StringByID(MyInternationalizationString.delaytip),
                      Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs
@@ -494,21 +494,18 @@
                    del.MouseUpEventHandler += (sender, e) =>
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                                              Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim));
                        alert.ResultEventHandler += (sender1, e1) =>
                        {
                            if (e1)
                            {
                                Common.Logic.CurrentLogic.Conditions.Remove(conditions);
                                var templatePage = new TemplatePage();
                                UserView.HomePage.Instance.AddChidren(templatePage);
                                UserView.HomePage.Instance.PageIndex += 1;
                                templatePage.Show();
                            }
                        };
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
                       Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                       Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        alert.ConfirmClickEvent += () =>
                        {
                            Common.Logic.CurrentLogic.Conditions.Remove(conditions);
                            var templatePage = new TemplatePage();
                            UserView.HomePage.Instance.AddChidren(templatePage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            templatePage.Show();
                        };
                    };
@@ -996,20 +993,19 @@
                    del.MouseUpEventHandler += (sender, e) =>
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                                               Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim));
                        alert.ResultEventHandler += (sender1, e1) =>
                        {
                            if (e1)
                            {
                                Common.Logic.CurrentLogic.Actions.Remove(actions);
                                var templatePage = new TemplatePage();
                                UserView.HomePage.Instance.AddChidren(templatePage);
                                UserView.HomePage.Instance.PageIndex += 1;
                                templatePage.Show();
                            }
                        };
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
                     Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                     Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        alert.ConfirmClickEvent += () =>
                        {
                            Common.Logic.CurrentLogic.Actions.Remove(actions);
                            var templatePage = new TemplatePage();
                            UserView.HomePage.Instance.AddChidren(templatePage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            templatePage.Show();
                        };
                    };
@@ -1203,6 +1199,7 @@
                {
                    tag = true;
                    custompushFrameLayout.Height = Application.GetRealHeight(160);
                    Common.Logic.CurrentLogic.LogicIsCustomPushText = 1;
                    if (Common.Logic.CurrentLogic.LogicId != 0)
                    {
                        Send.Data("添加/更新", "/App/HomeLogicConfig", "POST");
@@ -1213,6 +1210,7 @@
                {
                    tag = false;
                    custompushFrameLayout.Height = Application.GetRealHeight(0);
                    Common.Logic.CurrentLogic.LogicIsCustomPushText = 0;
                    if (Common.Logic.CurrentLogic.LogicId != 0)
                    {
                        Send.Data("删除", "/App/DelHomeLogicConfig", "POST");
@@ -1220,6 +1218,14 @@
                }
            };
            if (Common.Logic.CurrentLogic.LogicIsCustomPushText == 0)
            {
                btnswitch.IsSelected = false;
            }
            else
            {
                btnswitch.IsSelected = true;
            }
            var saveFrameLayout = new FrameLayout
            {
                Y = middle.Bottom,
@@ -1248,7 +1254,10 @@
                //}
                if (string.IsNullOrEmpty(logicTextBox.Text.Trim()))
                {
                    new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show();
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                      Language.StringByID(MyInternationalizationString.PleaseEnterLogicName),
                      Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
                //var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name);
ZigbeeApp/Shared/Phone/Device/Logic/TimePage.cs
@@ -367,17 +367,19 @@
                    if (btnendtime.Tag.ToString() != "0" &&  startval.ToString()==btnendtime.Tag.ToString())
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                              Language.StringByID(MyInternationalizationString.nottime),
                                              Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                        Language.StringByID(MyInternationalizationString.nottime),
                                       Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
                    if (btnendtime.Tag.ToString() != "0" && startval > int.Parse(btnendtime.Tag.ToString()))
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                              Language.StringByID(MyInternationalizationString.timesetting),
                                              Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                        Language.StringByID(MyInternationalizationString.timesetting),
                                       Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
@@ -441,17 +443,19 @@
                    if (btnstarttime.Tag.ToString() != "0" && endval.ToString() == btnstarttime.Tag.ToString())
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                              Language.StringByID(MyInternationalizationString.nottime),
                                              Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                        Language.StringByID(MyInternationalizationString.nottime),
                                       Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
                    if (btnstarttime.Tag.ToString() != "0" && endval < int.Parse(btnstarttime.Tag.ToString()))
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                              Language.StringByID(MyInternationalizationString.timesetting),
                                              Language.StringByID(MyInternationalizationString.confrim));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                        Language.StringByID(MyInternationalizationString.timesetting),
                                       Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
@@ -479,13 +483,20 @@
            ///完成点击事件
            EventHandler<MouseEventArgs>completeclick=(sender, e) =>
            {
                if (timeBucketConditionsInfo.ContainsKey("Type"))
                {
                    timeBucketConditionsInfo.Remove("Type");
                }
                if (timeBucketConditionsInfo.ContainsKey("IsValid"))
                {
                    timeBucketConditionsInfo.Remove("IsValid");
                }
                timeBucketConditionsInfo.Add("Type", "5");
                timeBucketConditionsInfo.Add("IsValid", "1");
                if (string.IsNullOrEmpty(btnstarttime.Text) || string.IsNullOrEmpty(btnendtime.Text))
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                           Language.StringByID(MyInternationalizationString.completeNext),
                                          Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
@@ -493,9 +504,9 @@
                }
                if (btnstarttime.Text == btnendtime.Text)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                          Language.StringByID(MyInternationalizationString.sametime),
                                         Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                           Language.StringByID(MyInternationalizationString.sametime),
                                          Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/Device/Logic/WeekPage.cs
@@ -282,10 +282,9 @@
                }
                if (weekvalue == 0)
                {
                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                                      Language.StringByID(MyInternationalizationString.selectweek),
                                                  Language.StringByID(MyInternationalizationString.confrim));
                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                   Language.StringByID(MyInternationalizationString.selectweek),
                                  Language.StringByID(MyInternationalizationString.confrim));
                    alert.Show();
                    return;
                }
ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs
old mode 100644 new mode 100755
@@ -264,7 +264,7 @@
                    {
                        return true;
                    }
                    return false;
                    retuun false;
                }
                catch
                {
@@ -300,7 +300,7 @@
        private async void UpdateVersion()
        {
#if iOS
            OpenUrl();
            CommonPage.Instance.OpenUrl();
#elif Android
            try
            {
@@ -351,7 +351,7 @@
        /// 获取iOS-APP版本信息
        /// </summary>
        /// <returns>The https app version async.</returns>
        public async System.Threading.Tasks.Task<Common.ResponseEntity.ResultPack> RequestHttpsiOSAppVersionAsync()
        public async System.Threading.Tasks.Task<ResponseEntity.ResultPack> RequestHttpsiOSAppVersionAsync()
        {
            try
            {
@@ -361,7 +361,7 @@
                {
                    return null;
                }
                return Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResultPack>(Encoding.UTF8.GetString(result));
                return Newtonsoft.Json.JsonConvert.DeserializeObject<ResponseEntity.ResultPack>(Encoding.UTF8.GetString(result));
            }
            catch
            {
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/InformationEditorControl.cs
@@ -59,10 +59,10 @@
        {
            var btnFinish = new BottomClickButton();
            //借用Y轴坐标(让这个区域不能点击菜单)
            var frameBack = new FrameLayout();
            frameBack.Y = btnFinish.Yaxis;
            frameBack.Height = bodyFrameLayout.Height - btnFinish.Yaxis;
            bodyFrameLayout.AddChidren(frameBack);
            //var frameBack = new FrameLayout();
            //frameBack.Y = btnFinish.Yaxis;
            //frameBack.Height = bodyFrameLayout.Height - btnFinish.Yaxis;
            //bodyFrameLayout.AddChidren(frameBack);
            if (listview.ChildrenCount > 0)
            {
@@ -71,7 +71,8 @@
                {
                    //促使被挡住的菜单能够向上滑动
                    var frameTemp = new FrameLayout();
                    frameTemp.Height = frameBack.Height + Application.GetRealHeight(115);
                    //frameTemp.Height = frameBack.Height + Application.GetRealHeight(115);
                    frameTemp.Height = bodyFrameLayout.Height - btnFinish.Yaxis + Application.GetRealHeight(115);
                    listview.AddChidren(frameTemp);
                }
            }
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/ScenePictrueControl.cs
New file
@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter
{
    /// <summary>
    /// 场景图片的控件
    /// </summary>
    public class ScenePictrueControl : FrameRowControl
    {
        #region ■ 初始化_____________________________
        /// <summary>
        /// 场景图片的控件(拥有桌布)
        /// </summary>
        public ScenePictrueControl()
        {
            this.UseClickStatu = false;
            this.Height = Application.GetRealHeight(470);
        }
        /// <summary>
        /// 初始化控件
        /// </summary>
        /// <param name="sceneUI">场景控件</param>
        public void InitControl(Common.SceneUI sceneUI)
        {
            //场景图片
            var btnPic = new ImageView();
            btnPic.X = Application.GetRealWidth(179);
            btnPic.Width = Application.GetRealWidth(844);
            btnPic.Height = Application.GetRealHeight(420);
            if (sceneUI.IconPathType == 0)
            {
                btnPic.ImagePath = sceneUI.IconPath;
            }
            else if (Common.Global.IsExistsByHomeId(sceneUI.IconPath) == true)
            {
                btnPic.ImageBytes = Common.Global.ReadFileByHomeId(sceneUI.IconPath);
            }
            btnPic.Radius = (uint)Application.GetRealHeight(17);
            this.AddChidren(btnPic, ChidrenBindMode.NotBind);
            //它的上面有一层阴影
            var frameBack = new FrameLayout();
            frameBack.Width = btnPic.Width;
            frameBack.Height = btnPic.Height;
            frameBack.X = btnPic.X;
            frameBack.BackgroundColor = 0x40000000;
            frameBack.Radius = (uint)Application.GetRealHeight(17);
            this.AddChidren(frameBack, ChidrenBindMode.BindEventOnly);
            var btnName = new NormalViewControl(251, 282, true);
            btnName.IsMoreLines = true;
            btnName.X = ControlCommonResourse.XXLeft;
            btnName.Y = Application.GetRealHeight(58);
            btnName.BackgroundColor = 0xd6333333;
            btnName.RadiusEx = 17;
            btnName.Text = sceneUI.Name;
            btnName.TextSize = 15;
            btnName.TextColor = UserCenterColor.Current.White;
            btnName.TextAlignment = TextAlignment.Center;
            this.AddChidren(btnName, ChidrenBindMode.BindEventOnly);
        }
        #endregion
    }
}
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs
@@ -210,10 +210,10 @@
        {
        }
        #endregion
        #endregion
        #region ■ 一般的方法_________________________
        /// <summary>
        /// 显示信息框
        /// </summary>
@@ -243,7 +243,7 @@
                        catch (Exception ex)
                        {
                            //出现未知错误,数据丢失
                            this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                            this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                            //Log出力
                            HdlLogLogic.Current.WriteLog(ex);
@@ -338,11 +338,9 @@
            catch (Exception ex)
            {
                //出现未知错误,数据丢失
                this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                //Log出力
                HdlLogLogic.Current.WriteLog(ex);
                return null;
            }
        }
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
@@ -544,6 +544,195 @@
        #endregion
        #region ■ 简约面板震动功能___________________
        /// <summary>
        /// 获取简约面板震动功能的信息(null表示出错)
        /// </summary>
        /// <param name="device">某一回路</param>
        /// <returns></returns>
        public VibrationInfo GetPanelVibrationData(CommonDevice device)
        {
            var returnData = new VibrationInfo();
            var gateway = device.Gateway;
            if (gateway == null)
            {
                //错误:网关对象丢失
                this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg));
                return null;
            }
            string checkTopic = HdlGatewayLogic.Current.GetGatewayId(gateway) + "/" + "ZbDataPassthrough";
            bool canBreak = false;
            Action<string, string> action = (topic, message) =>
            {
                if (topic == checkTopic)
                {
                    try
                    {
                        var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
                        string PassData = jobject["Data"]["PassData"].ToString();
                        if (PassData.Length != 18)
                        {
                            return;
                        }
                        string mytopic = PassData[4].ToString() + PassData[5].ToString() + PassData[2].ToString() + PassData[3].ToString();
                        if (mytopic != "0802")
                        {
                            return;
                        }
                        returnData.A震动使能 = PassData.Substring(10, 2) == "01" ? true : false;
                        returnData.A震动强度 = Convert.ToInt32(PassData.Substring(12, 2), 16);
                        returnData.A震动时间 = Convert.ToInt32(PassData.Substring(14, 4), 16);
                        canBreak = true;
                    }
                    catch { }
                }
            };
            gateway.Actions += action;
            try
            {
                var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", device.DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                var data = new Newtonsoft.Json.Linq.JObject { { "PassData", "050108110101" } };
                jObject.Add("Data", data);
                gateway.Send(("ClientDataPassthrough"), jObject.ToString());
            }
            catch { }
            int TimeOut = 0;
            while (canBreak == false && TimeOut < 60)
            {
                System.Threading.Thread.Sleep(100);
                TimeOut++;
            }
            gateway.Actions -= action;
            if (TimeOut >= 60)
            {
                //获取震动反馈配置信息失败
                string errorMsg = Language.StringByID(R.MyInternationalizationString.uGetVibrationFeedbackSettionFail);
                errorMsg = UserCenterLogic.CombineGatewayTimeOutMsg(errorMsg, null, "回复超时", false);
                this.ShowTipMsg(errorMsg);
                return null;
            }
            return returnData;
        }
        /// <summary>
        /// 设置简约面板震动功能的信息
        /// </summary>
        /// <param name="device">某一回路</param>
        /// <param name="datainfo">设置的信息</param>
        /// <returns></returns>
        public bool SetPanelVibrationData(CommonDevice device, VibrationInfo datainfo)
        {
            var gateway = device.Gateway;
            if (gateway == null)
            {
                //错误:网关对象丢失
                this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg));
                return false;
            }
            string checkTopic = HdlGatewayLogic.Current.GetGatewayId(gateway) + "/" + "ZbDataPassthrough";
            bool canBreak = false;
            bool success = false;
            Action<string, string> action = (topic, message) =>
            {
                if (topic == checkTopic)
                {
                    try
                    {
                        var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
                        if (jobject["DeviceAddr"].ToString() != device.DeviceAddr)
                        {
                            //不是同一个东西
                            return;
                        }
                        string PassData = jobject["Data"]["PassData"].ToString();
                        if (PassData.Length != 16)
                        {
                            return;
                        }
                        string mytopic = PassData[4].ToString() + PassData[5].ToString() + PassData[2].ToString() + PassData[3].ToString();
                        if (mytopic != "0002")
                        {
                            return;
                        }
                        int command = Convert.ToInt32(PassData[10].ToString() + PassData[11].ToString() + PassData[12].ToString() + PassData[13].ToString(), 16);
                        int status = Convert.ToInt32(PassData[14].ToString() + PassData[15].ToString(), 16);
                        if (status == 0)
                        {
                            //成功
                            success = true;
                        }
                        canBreak = true;
                    }
                    catch { }
                }
            };
            gateway.Actions += action;
            try
            {
                string passData = "0800081104";
                passData += datainfo.A震动使能 ? "01" : "00";
                passData += Convert.ToString(datainfo.A震动强度, 16).PadLeft(2, '0');
                string time = Convert.ToString(datainfo.A震动时间, 16).PadLeft(4, '0');
                //低位在前,高位在后
                passData += time.Substring(2, 2);
                passData += time.Substring(0, 2);
                var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", device.DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                var data = new Newtonsoft.Json.Linq.JObject { { "PassData", passData } };
                jObject.Add("Data", data);
                gateway.Send(("ClientDataPassthrough"), jObject.ToString());
            }
            catch { }
            int TimeOut = 0;
            while (canBreak == false && TimeOut < 60)
            {
                System.Threading.Thread.Sleep(100);
                TimeOut++;
            }
            gateway.Actions -= action;
            if (success == false)
            {
                //设置震动反馈配置信息失败
                string errorMsg = Language.StringByID(R.MyInternationalizationString.uSetVibrationFeedbackSettionFail);
                if (TimeOut >= 60)
                {
                    errorMsg = UserCenterLogic.CombineGatewayTimeOutMsg(errorMsg, null, "回复超时", false);
                }
                this.ShowTipMsg(errorMsg);
            }
            return success;
        }
        /// <summary>
        /// 简约面板震动功能信息
        /// </summary>
        public class VibrationInfo
        {
            /// <summary>
            /// 震动使能
            /// </summary>
            public bool A震动使能 = false;
            /// <summary>
            /// 震动强度(十进制)
            /// </summary>
            public int A震动强度 = 0;
            /// <summary>
            /// 震动时间(十进制)
            /// </summary>
            public int A震动时间 = 0;
        }
        #endregion
        #region ■ 缓存中的设备私有属性_______________
        /// <summary>
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs
@@ -92,6 +92,31 @@
        #endregion
        #region ■ 获取配置信息_______________________
        /// <summary>
        /// 获取PIR传感器的【lux值】,错误时返回-1
        /// </summary>
        /// <param name="iASZone"></param>
        /// <returns></returns>
        public async Task<int> GetPirSensorLux(IASZone iASZone)
        {
            var data = await iASZone.GetPirLuxAbilitySizeAsync();
            if (data == null || data.pirLux == -1)
            {
                //获取传感器亮度值失败
                string msg = Language.StringByID(R.MyInternationalizationString.uGetPirSensorLuxFail);
                //拼接上【网关回复超时】的Msg
                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, data);
                this.ShowErrorMsg(msg);
                return -1;
            }
            return data.pirLux;
        }
        #endregion
        #region ■ 设置配置信息_______________________
        /// <summary>
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlLogLogic.cs
@@ -94,7 +94,7 @@
        private string GetLogFile(int div)
        {
            //加密,因为这是收集数据,最好不让别人知道这是什么最好
            string fileName = UserCenterResourse.UserInfo.Account + DateTime.Now.ToString("yyyyMMdd");
            string fileName = UserCenterResourse.UserInfo.Account + "-" + DateTime.Now.ToString("yyyyMMdd");
            if (div == -1)
            {
                fileName += "Error";
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
@@ -831,8 +831,8 @@
                //克隆一个对象
                roomTemp = nowRoom.CloneRoomClass();
                memberShardInfo.TempRoom = roomTemp;
                //新分享的房间,如果图片是自定义的,则上传图片
                if (roomTemp.BackgroundImageType != 0)
                //新分享的房间,如果图片是自定义的,并且这个图片是存在的,则上传图片
                if (roomTemp.BackgroundImageType != 0 && Common.Global.IsExistsByHomeId(roomTemp.BackgroundImage) == true)
                {
                    //自定义的图片,它存在于本地,但是它是全路径
                    listFile.Add(roomTemp.BackgroundImage);
@@ -850,7 +850,7 @@
                        //删除自定义图片
                        listDelPic.Add(roomTemp.BackgroundImage);
                    }
                    if (nowRoom.BackgroundImageType != 0)
                    if (nowRoom.BackgroundImageType != 0 && Common.Global.IsExistsByHomeId(nowRoom.BackgroundImage) == true)
                    {
                        //自定义的图片,它存在于本地,但是它是全路径
                        listFile.Add(nowRoom.BackgroundImage);
@@ -892,7 +892,7 @@
            //场景
            foreach (var secene in listScene)
            {
                if (secene.IconPathType != 0)
                if (secene.IconPathType != 0 && Common.Global.IsExistsByHomeId(secene.IconPath) == true)
                {
                    //自定义的图片,它存在于本地
                    listFile.Add(secene.IconPath);
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs
@@ -54,7 +54,7 @@
                        Application.RunOnMainThread(() =>
                        {
                            //出现未知错误,数据丢失
                            var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                            var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                            alert.Show();
                        });
                    }
@@ -87,7 +87,7 @@
                        if (mode == ShowErrorMode.YES)
                        {
                            //出现未知错误,数据丢失
                            var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                            var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                            alert.Show();
                        }
                        //Log出力
@@ -119,7 +119,7 @@
                    if (mode == ShowErrorMode.YES)
                    {
                        //出现未知错误,数据丢失
                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                        alert.Show();
                    }
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -421,7 +421,7 @@
                                catch (Exception ex)
                                {
                                    //出现未知错误,数据丢失
                                    var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                                    var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                                    alert.Show();
                                    //Log出力
@@ -456,7 +456,7 @@
                                    catch (Exception ex)
                                    {
                                        //出现未知错误,数据丢失
                                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                                        alert.Show();
                                        //Log出力
@@ -1202,7 +1202,7 @@
            {
                HdlThreadLogic.Current.RunMain(() =>
                {
                    var form = new Guide.GuideMainForm();
                    var form = new Guide.GuideHouseForm();
                    form.ShowFrom();
                });
            }
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
@@ -710,6 +710,7 @@
                TextSize = 14,
                TextAlignment = TextAlignment.CenterLeft,
                TextID = R.MyInternationalizationString.SelectFloor,
                IsBold = true,
            };
            sidelipFrameLayout.AddChidren(btnSelectFloor);
@@ -738,7 +739,7 @@
                    Height = Application.GetRealHeight(81),
                    Y = Application.GetRealHeight(55),
                    UnSelectedImagePath = "Floor/Floor.png",
                    SelectedImagePath = "Floor/FloorSelected.png",
                    SelectedImagePath = "Floor/FloorSelected.png",
                };
                rowFrameLayout.AddChidren(btnAllMethod);
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -358,7 +358,7 @@
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                Gravity = Gravity.CenterHorizontal,
                Visible = false,
                TextSize =12,
                TextSize = 12,
            };
            blankFrameLayout.AddChidren(btnPicTip);
        }
@@ -514,7 +514,7 @@
                    };
                    #endregion
                }
                 midVerticalRefreshLayout.AdjustTableHeight(Application.GetRealHeight(23));
                midVerticalRefreshLayout.AdjustTableHeight(Application.GetRealHeight(23));
            }
            #endregion
        }
@@ -580,97 +580,66 @@
            //一键清除按键事件
            btnDel.ButtonClickEvent += async (sender, e) =>
            {
                var dialog2 = new Dialog { };
                var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip));
                doorDialog2.Show();
                doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674);
                doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115);
                doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60);
                doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167);
                doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
                var midText1 = new Button()
                {
                    Width = Application.GetRealWidth(674),
                    Height = Application.GetRealHeight(115 / 2),
                    TextSize = 14,
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextAlignment = TextAlignment.Center,
                    TextID = R.MyInternationalizationString.ClearAllTargeta1,
                };
                doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1);
                var midText2 = new Button()
                {
                    Width = Application.GetRealWidth(674),
                    Height = Application.GetRealHeight(115 / 2),
                    Y = Application.GetRealHeight(115 / 2),
                    TextSize = 14,
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextAlignment = TextAlignment.Center,
                    TextID = R.MyInternationalizationString.ClearAllTargeta2,
                };
                doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2);
                doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) =>
                {
                    dialog2.Close();
                };
                doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) =>
                {
                    bool isDelSuccess = false;
                    try
                    {
                        CommonPage.Loading.Start("");
                        var bindResult = await currentKey.ClearBindInfoAsync();
                        if (bindResult != null && bindResult.clearBindInfoResponseData != null)
                        {
                            if (bindResult.clearBindInfoResponseData.Result != 0)
                            {
                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel);
                                CommonPage.Loading.Hide();
                                return;
                            }
                            else
                            {
                                var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
                                if (temp.setWritableValueResponData?.Status != 0)
                                {
                                    var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
                                    if (temp1.setWritableValueResponData?.Status != 0)
                                    {
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                                    }
                                    else
                                    {
                                        isDelSuccess = true;
                                    }
                                }
                                else
                                {
                                    isDelSuccess = true;
                                }
                            }
                        }
                        else
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                        }
                    }
                    catch { }
                    finally
                    {
                        if (isDelSuccess)
                        {
                            currentKey.panelMode = 65535;
                            currentKey.bindList.Clear();
                            RefreshList();
                            //如果是场景,用户删除清空当前到房间列表
                            currentKey.RoomId = "";
                            currentKey.ReSave();
                        }
                        CommonPage.Loading.Hide();
                    }
                    dialog2.Close();
                };
                string msg = Language.StringByID(R.MyInternationalizationString.ClearAllTargets).Replace("{0}", "\r\n");
                var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                alert.Show();
                //使用确认型弹框时,的回调函数
                alert.ConfirmClickEvent += async () =>
                 {
                     bool isDelSuccess = false;
                     try
                     {
                         CommonPage.Loading.Start("");
                         var bindResult = await currentKey.ClearBindInfoAsync();
                         if (bindResult != null && bindResult.clearBindInfoResponseData != null)
                         {
                             if (bindResult.clearBindInfoResponseData.Result != 0)
                             {
                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel);
                                 CommonPage.Loading.Hide();
                                 return;
                             }
                             else
                             {
                                 var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
                                 if (temp.setWritableValueResponData?.Status != 0)
                                 {
                                     var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
                                     if (temp1.setWritableValueResponData?.Status != 0)
                                     {
                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                                     }
                                     else
                                     {
                                         isDelSuccess = true;
                                     }
                                 }
                                 else
                                 {
                                     isDelSuccess = true;
                                 }
                             }
                         }
                         else
                         {
                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                         }
                     }
                     catch { }
                     finally
                     {
                         if (isDelSuccess)
                         {
                             currentKey.panelMode = 65535;
                             currentKey.bindList.Clear();
                             RefreshList();
                             //如果是场景,用户删除清空当前到房间列表
                             currentKey.RoomId = "";
                             currentKey.ReSave();
                         }
                         CommonPage.Loading.Hide();
                     }
                 };
            };
        }
@@ -860,49 +829,34 @@
                            var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
                            if (bindSc != null)
                            {
                                var dialog1 = new Dialog { };
                                var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip));
                                doorDialog.Show();
                                doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
                                doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
                                doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
                                doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                                doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain);
                                doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                                doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
                                doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
                                {
                                    currentKey.currentKeySelectModeText = oldKeySelectModeText;
                                    dialog.Close();
                                    dialog1.Close();
                                };
                                doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) =>
                                {
                                    var result = await RemoveTargets(bindSc, line2);
                                    if (result == 0)
                                    {
                                        var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList);
                                        Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage);
                                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                                        addScenePage.Show();
                                string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain);
                                var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                                alert.Show();
                                //使用确认型弹框时,的回调函数
                                alert.ConfirmClickEvent += async () =>
                                 {
                                     var result = await RemoveTargets(bindSc, line2);
                                     if (result == 0)
                                     {
                                         var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList);
                                         Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage);
                                         Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                                         addScenePage.Show();
                                        Action<List<BindListResponseObj>> action = (obj) =>
                                        {
                                            currentKey.bindList = obj;
                                            RefreshList();
                                        };
                                        addScenePage.action += action;
                                        dialog.Close();
                                        dialog1.Close();
                                    }
                                    else
                                    {
                                        currentKey.currentKeySelectModeText = oldKeySelectModeText;
                                        dialog.Close();
                                        dialog1.Close();
                                    }
                                };
                                         Action<List<BindListResponseObj>> action = (obj) =>
                                         {
                                             currentKey.bindList = obj;
                                             RefreshList();
                                         };
                                         addScenePage.action += action;
                                         dialog.Close();
                                     }
                                     else
                                     {
                                         currentKey.currentKeySelectModeText = oldKeySelectModeText;
                                         dialog.Close();
                                     }
                                 };
                            }
                        }
                        else
@@ -928,48 +882,34 @@
                            var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
                            if (bindSc != null)
                            {
                                var dialog1 = new Dialog { };
                                var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip));
                                doorDialog.Show();
                                doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
                                doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
                                doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
                                doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                                doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1);
                                doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                                doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
                                doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
                                {
                                    currentKey.currentKeySelectModeText = oldKeySelectModeText;
                                    dialog.Close();
                                    dialog1.Close();
                                };
                                doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) =>
                                {
                                    var result = await RemoveTargets(bindSc, line2);
                                    if (result == 0)
                                    {
                                        var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch");
                                        Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                                        addDevicePage.Show();
                                string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1);
                                var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                                alert.Show();
                                //使用确认型弹框时,的回调函数
                                alert.ConfirmClickEvent += async () =>
                                 {
                                     var result = await RemoveTargets(bindSc, line2);
                                     if (result == 0)
                                     {
                                         var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch");
                                         Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                                         Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                                         addDevicePage.Show();
                                        Action<List<BindListResponseObj>> action = (obj) =>
                                        {
                                            currentKey.bindList = obj;
                                            RefreshList();
                                        };
                                        addDevicePage.actionAddDevicePage += action;
                                        dialog.Close();
                                        dialog1.Close();
                                    }
                                    else
                                    {
                                        currentKey.currentKeySelectModeText = oldKeySelectModeText;
                                        dialog.Close();
                                        dialog1.Close();
                                    }
                                };
                                         Action<List<BindListResponseObj>> action = (obj) =>
                                         {
                                             currentKey.bindList = obj;
                                             RefreshList();
                                         };
                                         addDevicePage.actionAddDevicePage += action;
                                         dialog.Close();
                                     }
                                     else
                                     {
                                         currentKey.currentKeySelectModeText = oldKeySelectModeText;
                                         dialog.Close();
                                     }
                                 };
                            }
                        }
                        else
ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs
@@ -99,15 +99,29 @@
                listView.Height = bodyFrameLayout.Height;
                bodyFrameLayout.AddChidren(listView);
                //添加方向行
                this.AddDirectionRow();
                //添加限位行
                this.AddLimitRow();
                //添加重置电机行
                this.AddElectricalMachineryRow();
                try
                {
                    //添加方向行
                    this.AddDirectionRow();
                    //添加限位行
                    this.AddLimitRow();
                    //添加重置电机行
                    this.AddElectricalMachineryRow();
                //限位数据接收
                this.ReceiveLimitData();
                    //限位数据接收
                    this.ReceiveLimitData();
                }
                catch (Exception ex)
                {
                    //Log出力
                    string msg = "当前激活的界面[" + UserCenterResourse.NowActionFormID + "]";
                    HdlLogLogic.Current.WriteLog(ex, msg);
                    //出现未知错误
                    this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                    this.listView.RemoveAll();
                    //设备异常补救 -> 添加重置电机行
                    this.AddElectricalMachineryRow();
                }
            });
        }
@@ -588,6 +602,10 @@
                        //每10的长度大概是2秒,多预留1次出来
                        int waitCount = ((curtainData.CurtainLength / 10) + 1) * 3;
                        if (waitCount < 12)
                        {
                            waitCount = 12;
                        }
                        int timeCount = 0;
                        while (timeCount <= waitCount)
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
@@ -271,6 +271,14 @@
                        //面板的最后一个回路是温度传感器
                        epointName += Language.StringByID(R.MyInternationalizationString.uDeviceBelongId11);
                    }
                    else if (deviceInfoType.ConcreteType == Common.DeviceConcreteType.Sensor_Pir)
                    {
                        //pir传感器,它又搞特殊东西,传感器自身用自己的名字,继电器回路的话……
                        if (device.Type == DeviceType.OnOffOutput)
                        {
                            epointName += Language.StringByID(R.MyInternationalizationString.uDeviceBelongId2300);
                        }
                    }
                    else
                    {
                        //XXXXX(N回路)
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs
@@ -42,6 +42,10 @@
        /// 设备具体类型的信息
        /// </summary>
        private DeviceEnumInfo deviceEnumInfo = null;
        /// <summary>
        /// 信息编辑控件
        /// </summary>
        private InformationEditorControl tableContr = null;
        #endregion
@@ -77,15 +81,11 @@
            this.ClearBodyFrame();
            //初始化桌布
            var tableContr = new InformationEditorControl();
            this.tableContr = new InformationEditorControl();
            this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 562, 1175);
            //初始化设备回路图标
            this.InitDeviceEpointIcon();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
            tableContr = null;
            //保存
            var btnFinish = new BottomClickButton();
@@ -210,6 +210,8 @@
            this.AddBindRow(listRelayInfo7);
            //添加背光灯行
            this.AddBackLightRow();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
        }
        #endregion
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
@@ -44,6 +44,10 @@
        /// 设备需要保存的设备功能
        /// </summary>
        private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>();
        /// <summary>
        /// 信息编辑控件
        /// </summary>
        private InformationEditorControl tableContr = null;
        #endregion
@@ -78,15 +82,11 @@
            this.ClearBodyFrame();
            //初始化桌布
            var tableContr = new InformationEditorControl();
            this.tableContr = new InformationEditorControl();
            this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1128);
            //初始化设备回路图标
            this.InitDeviceEpointIcon();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
            tableContr = null;
            //保存
            var btnFinish = new BottomClickButton();
@@ -209,6 +209,8 @@
            //添加功能类型行
            this.AddFunctionTypeRow();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
        }
        #endregion
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -396,8 +396,17 @@
            //pir传感器
            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.Sensor_Pir)
            {
                var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
                form.AddForm((IASZone)device);
                if (device is IASZone)
                {
                    var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
                    form.AddForm((IASZone)device);
                }
                else
                {
                    //pir传感器,他们又搞了个继电器在里面
                    var form = new DeviceFunctionSettionForm();
                    form.AddForm(device, true);
                }
            }
            //中央空调
            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.AirConditioner_ZbGateway)
ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs
@@ -338,11 +338,7 @@
            }
            //信息
            var btnMsg = frameTable.AddLeftCaption("", 600, 60);
            btnMsg.TextSize = 15;
            //这个坐标有点特殊
            btnMsg.Y = Application.GetRealHeight(12) + frameTable.chidrenYaxis;
            frameTable.AddChidren(btnMsg, ChidrenBindMode.NotBind);
            var btnMsg = frameTable.AddTopView("", 600);
            if (historyInfo.OpenLockMode == -1)
            {
                //其他消息
@@ -387,15 +383,20 @@
            //人物
            string perName = dicName.ContainsKey(historyInfo.CloudAccountId) == true ? dicName[historyInfo.CloudAccountId] : Language.StringByID(R.MyInternationalizationString.uOther);
            var btnpersion = frameTable.AddLeftCaption(perName, 600, 50, true);
            //这个坐标有点特殊
            btnpersion.Y = Application.GetRealHeight(72) + frameTable.chidrenYaxis;
            btnpersion.TextSize = 12;
            btnpersion.TextColor = UserCenterColor.Current.TextGrayColor1;
            frameTable.AddChidren(btnpersion, ChidrenBindMode.NotBind);
            var btnpersion = frameTable.AddBottomView(perName, 600);
            //时间
            frameTable.AddMostRightView(Convert.ToDateTime(historyInfo.UnlockTime).ToString("HH:mm:ss"), 400);
            if (this.dateFromControl.dateValue == this.dateToControl.dateValue)
            {
                //如果日期范围一样,则不显示年月日
                frameTable.AddMostRightView(Convert.ToDateTime(historyInfo.UnlockTime).ToString("HH:mm:ss"), 400);
            }
            else
            {
                //如果日期范围不一样,则显示年月日
                frameTable.AddMostRightView(Convert.ToDateTime(historyInfo.UnlockTime).ToString("yyyy/MM/dd HH:mm:ss"), 700);
            }
            if (addLine == true)
            {
                //底线
@@ -476,6 +477,8 @@
            {
                //去获取其他信息
                var pra2 = new MessageInfoPra();
                pra2.BeginTime = pra.UnlockTimeBegin;
                pra2.EndTime = pra.UnlockTimeEnd;
                pra2.Topic = "/Alarms/SendAlarmInform";
                pra2.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                var result = await UserCenterLogic.GetResponseDataByRequestHttps("MessageCenter/GetMessageCenterPagger", true, pra2);
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs
@@ -36,6 +36,18 @@
        /// 设备需要保存的设备名字
        /// </summary>
        private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
        /// <summary>
        /// 简约面板的震动数据
        /// </summary>
        private HdlDevicePanelLogic.VibrationInfo vibrationInfo = null;
        /// <summary>
        /// 是否已经读取了震动数据
        /// </summary>
        private bool hadReadVibrationInfo = false;
        /// <summary>
        /// 信息编辑控件
        /// </summary>
        private InformationEditorControl tableContr = null;
        #endregion
@@ -68,15 +80,11 @@
            this.ClearBodyFrame();
            //初始化桌布
            var tableContr = new InformationEditorControl();
            this.tableContr = new InformationEditorControl();
            this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1028);
            //初始化设备回路图标
            this.InitDeviceEpointIcon();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
            tableContr = null;
            //保存
            var btnFinish = new BottomClickButton();
@@ -173,6 +181,11 @@
            this.AddBindRow();
            //添加背光灯行
            this.AddBackLightRow();
            //添加震动反馈行
            this.AddVibrationFeedbackRow();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
        }
        #endregion
@@ -293,6 +306,91 @@
        #endregion
        #region ■ 震动反馈___________________________
        /// <summary>
        /// 添加震动反馈行
        /// </summary>
        private void AddVibrationFeedbackRow()
        {
            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(nowSelectDevice.DeviceAddr, false);
            var myType = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
            //只有简约面板才会有这个菜单
            if (myType.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleTwo
                || myType.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleThree
                || myType.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleFour)
            {
                //震动反馈
                var rowContr = new FrameRowControl(listview.rowSpace / 2);
                rowContr.UseClickStatu = false;
                listview.AddChidren(rowContr);
                rowContr.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uVibrationFeedback), 600);
                //底线
                rowContr.AddBottomLine();
                //右箭头
                var btnSwitch = rowContr.AddMostRightSwitchIcon();
                if (vibrationInfo != null)
                {
                    btnSwitch.IsSelected = vibrationInfo.A震动使能;
                }
                btnSwitch.ButtonClickEvent += (sender, e) =>
                {
                    if (vibrationInfo == null)
                    {
                        //获取数据失败时,给他玩,但是没效果
                        btnSwitch.IsSelected = !btnSwitch.IsSelected;
                        return;
                    }
                    //点击一次之后,不能再次点击
                    btnSwitch.CanClick = false;
                    bool statu = !btnSwitch.IsSelected;
                    HdlThreadLogic.Current.RunThread(() =>
                    {
                        vibrationInfo.A震动使能 = statu;
                        //设置简约面板震动功能的信息
                        var result = HdlDevicePanelLogic.Current.SetPanelVibrationData(nowSelectDevice, vibrationInfo);
                        if (result == true)
                        {
                            HdlThreadLogic.Current.RunMain(() =>
                            {
                                btnSwitch.IsSelected = statu;
                            });
                        }
                        else
                        {
                            //失败时,数据还原
                            vibrationInfo.A震动使能 = !vibrationInfo.A震动使能;
                        }
                        //允许下一次点击
                        btnSwitch.CanClick = true;
                    });
                };
                if (hadReadVibrationInfo == true)
                {
                    //不再读取
                    return;
                }
                this.hadReadVibrationInfo = true;
                HdlThreadLogic.Current.RunThread(() =>
                {
                    //获取简约面板震动功能的信息(null表示出错)
                    vibrationInfo = HdlDevicePanelLogic.Current.GetPanelVibrationData(nowSelectDevice);
                    if (vibrationInfo != null)
                    {
                        HdlThreadLogic.Current.RunMain(() =>
                        {
                            btnSwitch.IsSelected = vibrationInfo.A震动使能;
                        });
                    }
                });
            }
        }
        #endregion
        #region ■ 初始化设备回路图标_________________
        /// <summary>
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs
@@ -40,6 +40,10 @@
        /// 设备需要保存的设备功能
        /// </summary>
        private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>();
        /// <summary>
        /// 信息编辑控件
        /// </summary>
        private InformationEditorControl tableContr = null;
        #endregion
@@ -72,15 +76,11 @@
            this.ClearBodyFrame();
            //初始化桌布
            var tableContr = new InformationEditorControl();
            this.tableContr = new InformationEditorControl();
            this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1028);
            //初始化设备回路图标
            this.InitDeviceEpointIcon();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
            tableContr = null;
            //保存
            var btnFinish = new BottomClickButton();
@@ -203,6 +203,8 @@
            //添加功能类型行
            this.AddFunctionTypeRow();
            //初始化桌布完成
            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
        }
        #endregion
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs
@@ -30,13 +30,17 @@
        /// </summary>
        private int lightLevelCount = -1;
        /// <summary>
        /// 灯光的配置
        /// PIR传感器的Lux值
        /// </summary>
        private IASZone.ConfigureParamates Lightconfigure = null;
        private int pirLuxValue = -1;
        /// <summary>
        /// 旧数据
        /// pir的配置信息
        /// </summary>
        private List<int> listOldData = new List<int>();
        private IASZone.ConfigureParamates pirConfigure = null;
        /// <summary>
        /// 数据是否改变
        /// </summary>
        private bool isDataChanged = false;
        #endregion
@@ -89,89 +93,193 @@
            //清空bodyFrame
            this.ClearBodyFrame();
            var listView = new VerticalListControl(23);
            listView.Height = bodyFrameLayout.Height;
            //当前亮度值
            var frameNowLinght = new FrameRowControl();
            frameNowLinght.UseClickStatu = false;
            frameNowLinght.BackgroundColor = UserCenterColor.Current.White;
            bodyFrameLayout.AddChidren(frameNowLinght);
            frameNowLinght.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNowBrightnessValue) + ":" + pirLuxValue + "lux", 900);
            var listView = new VerticalListControl(0);
            listView.Y = Application.GetRealHeight(150);
            listView.Height = Application.GetRealHeight(585);
            listView.BackgroundColor = UserCenterColor.Current.White;
            bodyFrameLayout.AddChidren(listView);
            //照明等级Frame(因展开折叠,优先声明)
            var frameLight = new FrameLayout();
            frameLight.Height = Application.GetRealHeight(363);
            frameLight.Height = 0;
            //如果满足-----------------------------------------------------------
            //如果满足低亮度环境
            var frameIfRow = new FrameRowControl(listView.rowSpace / 2);
            frameIfRow.UseClickStatu = false;
            listView.AddChidren(frameIfRow);
            frameIfRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uIfSatisfied), 600);
            //右箭头
            var btnIfRinght = frameIfRow.AddMostRightEmptyIcon(58, 58);
            frameIfRow.ChangedChidrenBindMode(btnIfRinght, ChidrenBindMode.NotBind);
            btnIfRinght.UseClickStatu = false;
            btnIfRinght.UnSelectedImagePath = "Item/RightNext.png";
            btnIfRinght.SelectedImagePath = "Item/Down.png";
            btnIfRinght.IsSelected = true;
            btnIfRinght.ButtonClickEvent += (sender, e) =>
            frameIfRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uIfTheLowBrightnessEnvironmentIsSatisfied), 700);
            //开关按钮
            var btnSwitch = frameIfRow.AddMostRightSwitchIcon();
            btnSwitch.IsSelected = this.pirConfigure.levelEnable;
            btnSwitch.ButtonClickEvent += (sender, e) =>
            {
                btnIfRinght.IsSelected = !btnIfRinght.IsSelected;
                this.isDataChanged = true;
                this.pirConfigure.levelEnable = !btnSwitch.IsSelected;
                btnSwitch.IsSelected = this.pirConfigure.levelEnable;
                //展开折叠
                frameLight.Height = frameLight.Height > 10 ? 0 : Application.GetRealHeight(363);
                if (frameLight.Height > 10)
                {
                    frameLight.Height = 0;
                    listView.Height -= Application.GetRealHeight(558);
                }
                else
                {
                    frameLight.Height = Application.GetRealHeight(558);
                    listView.Height += Application.GetRealHeight(558);
                }
            };
            //底线
            frameIfRow.AddBottomLine();
            if (btnSwitch.IsSelected == true)
            {
                frameLight.Height = Application.GetRealHeight(558);
                listView.Height += Application.GetRealHeight(558);
            }
            listView.AddChidren(frameLight);
            //照明等级
            var btnLight = new NormalViewControl(500, 50, true);
            btnLight.TextID = R.MyInternationalizationString.uLightLevel;
            btnLight.TextSize = 12;
            btnLight.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnLight.X = Application.GetRealWidth(138);
            btnLight.Y = Application.GetRealHeight(58);
            frameLight.AddChidren(btnLight);
            //照度值
            var btnLightView = new NormalViewControl(500, 50, true);
            btnLightView.TextID = R.MyInternationalizationString.uIlluminationValue;
            btnLightView.TextSize = 12;
            btnLightView.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnLightView.X = ControlCommonResourse.XXLeft;
            btnLightView.Y = Application.GetRealHeight(71);
            frameLight.AddChidren(btnLightView);
            var btnLightValue = new NormalViewControl(200, 50, true);
            btnLightValue.Y = btnLightView.Y;
            btnLightValue.X = Application.GetRealWidth(196);
            btnLightValue.TextSize = 12;
            btnLightValue.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            frameLight.AddChidren(btnLightValue);
            //进度条
            var seekBar = new SeekBarControl(900);
            var seekBar = new SeekBarControl(940);
            seekBar.Gravity = Gravity.Frame;
            seekBar.X = Application.GetRealWidth(125);
            seekBar.Y = Application.GetRealHeight(142);
            seekBar.MaxValue = lightLevelCount - 1;
            seekBar.X = Application.GetRealWidth(80);
            seekBar.Y = Application.GetRealHeight(159);
            seekBar.MaxValue = lightLevelCount;
            seekBar.ProgressBarColor = 0xfffdb500;
            frameLight.AddChidren(seekBar);
            seekBar.ProgressChangedEvent += (div, value) =>
            {
                //因为它的等级刻度从左往右是从大到小的
                this.Lightconfigure.levelSize = lightLevelCount - value;
                this.isDataChanged = true;
                this.pirConfigure.levelSize = value;
                btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            };
            seekBar.Progress = lightLevelCount - Lightconfigure.levelSize;
            seekBar.Progress = pirConfigure.levelSize;
            //低
            var btnDown = new NormalViewControl(300, 50, true);
            btnDown.TextID = R.MyInternationalizationString.uLow;
            btnDown.TextSize = 12;
            btnDown.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnDown.X = Application.GetRealWidth(138);
            btnDown.Y = btnLight.Bottom + Application.GetRealHeight(115);
            frameLight.AddChidren(btnDown);
            //高
            var btnUp = new NormalViewControl(300, 50, true);
            btnUp.TextID = R.MyInternationalizationString.uHigh;
            btnUp.TextSize = 12;
            btnUp.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnUp.TextAlignment = TextAlignment.CenterRight;
            btnUp.X = frameLight.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(300);
            btnUp.Y = btnDown.Y;
            frameLight.AddChidren(btnUp);
            //减号
            var btnMinus = new IconViewControl(104);
            btnMinus.UseClickStatu = true;
            btnMinus.X = Application.GetRealWidth(847);
            btnMinus.Y = Application.GetRealHeight(45);
            btnMinus.UnSelectedImagePath = "Item/MinusSign2.png";
            btnMinus.SelectedImagePath = "Item/MinusSign2Selected.png";
            frameLight.AddChidren(btnMinus);
            btnMinus.ButtonClickEvent += (sender, e) =>
            {
                if (seekBar.Progress <= 0)
                {
                    return;
                }
                this.isDataChanged = true;
                seekBar.Progress -= 1;
                this.pirConfigure.levelSize = seekBar.Progress;
                btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            };
            //加号
            var btnPlus = new IconViewControl(104);
            btnPlus.UseClickStatu = true;
            btnPlus.X = btnMinus.Right;
            btnPlus.Y = btnMinus.Y;
            btnPlus.UnSelectedImagePath = "Item/PlusSign2.png";
            btnPlus.SelectedImagePath = "Item/PlusSign2Selected.png";
            frameLight.AddChidren(btnPlus);
            btnPlus.ButtonClickEvent += (sender, e) =>
            {
                if (seekBar.Progress >= 100)
                {
                    return;
                }
                this.isDataChanged = true;
                seekBar.Progress += 1;
                this.pirConfigure.levelSize = seekBar.Progress;
                btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            };
            //暗
            var btnDark = new NormalViewControl(120, 50, true);
            btnDark.TextID = R.MyInternationalizationString.uDark;
            btnDark.TextSize = 12;
            btnDark.TextAlignment = TextAlignment.Center;
            btnDark.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnDark.X = Application.GetRealWidth(70);
            btnDark.Y = seekBar.Bottom;
            frameLight.AddChidren(btnDark);
            var btnZero = new NormalViewControl(120, 50, true);
            btnZero.X = btnDark.X;
            btnZero.Y = btnDark.Bottom;
            btnZero.TextSize = 12;
            btnZero.TextAlignment = TextAlignment.Center;
            btnZero.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnZero.Text = "0lux";
            frameLight.AddChidren(btnZero);
            //亮
            var btnBright = new NormalViewControl(120, 50, true);
            btnBright.TextID = R.MyInternationalizationString.uBright;
            btnBright.TextSize = 12;
            btnBright.TextAlignment = TextAlignment.Center;
            btnBright.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnBright.X = frameLight.Width - Application.GetRealWidth(120 + 50);
            btnBright.Y = btnDark.Y;
            frameLight.AddChidren(btnBright);
            var btnPersent = new NormalViewControl(120, 50, true);
            btnPersent.X = btnBright.X;
            btnPersent.Y = btnBright.Bottom;
            btnPersent.TextSize = 12;
            btnPersent.TextAlignment = TextAlignment.Center;
            btnPersent.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnPersent.Text = "100lux";
            frameLight.AddChidren(btnPersent);
            var btnIcon = new IconViewControl(58);
            btnIcon.X = Application.GetRealWidth(109);
            btnIcon.Y = Application.GetRealHeight(431);
            btnIcon.UnSelectedImagePath = "Item/Tips.png";
            frameLight.AddChidren(btnIcon);
            //在室内条件下,黄昏照度值约为10lux,阴天照度值约为5~50lux,请根据实际需要进行调节
            var btnTipView = new NormalViewControl(790, 100, true);
            btnTipView.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnTipView.TextSize = 12;
            btnTipView.IsMoreLines = true;
            btnTipView.TextAlignment = TextAlignment.Center;
            btnTipView.TextID = R.MyInternationalizationString.uPirBrightnessTipMsg;
            btnTipView.X = btnIcon.Right + Application.GetRealWidth(23);
            btnTipView.Y = btnIcon.Y;
            frameLight.AddChidren(btnTipView);
            //底线
            var btnIfLine = new NormalViewControl(seekBar.Width, ControlCommonResourse.BottomLineHeight, false);
            btnIfLine.X = btnDown.X;
            btnIfLine.Y = btnDown.Bottom + Application.GetRealHeight(69);
            var btnIfLine = new NormalViewControl(frameLight.Width, ControlCommonResourse.BottomLineHeight, false);
            btnIfLine.Y = frameLight.Height - ControlCommonResourse.BottomLineHeight;
            btnIfLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
            frameLight.AddChidren(btnIfLine);
            //执行对象的Frame(因展开折叠,优先声明)
            var frameResult = new FrameListControl(23);
            var frameResult = new FrameListControl(29);
            frameResult.Height = Application.GetRealHeight(310);
            //就会--------------------------------------------------
            listView.rowSpace = Application.GetRealHeight(20);//切换间距
            var frameDo = new FrameRowControl(listView.rowSpace / 2);
            frameDo.UseClickStatu = false;
            listView.AddChidren(frameDo);
@@ -187,7 +295,16 @@
            {
                btnResultRight.IsSelected = !btnResultRight.IsSelected;
                //展开折叠
                frameResult.Height = frameResult.Height > 10 ? 0 : Application.GetRealHeight(310);
                if (frameResult.Height > 10)
                {
                    frameResult.Height = 0;
                    listView.Height -= Application.GetRealHeight(310);
                }
                else
                {
                    frameResult.Height = Application.GetRealHeight(310);
                    listView.Height += Application.GetRealHeight(310);
                }
            };
            //底线
            frameDo.AddBottomLine();
@@ -199,6 +316,7 @@
            frameResult.AddChidren(rowTarget);
            rowTarget.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTriggerTarget), 600);
            rowTarget.AddRightArrow();
            rowTarget.AddBottomLine();
            var btnTargetView = rowTarget.AddMostRightView("", 700);
            rowTarget.ButtonClickEvent += (sender, e) =>
            {
@@ -218,6 +336,7 @@
                    {
                        btnTargetView.Text = string.Empty;
                    }
                    this.isDataChanged = true;
                };
            };
@@ -233,8 +352,8 @@
            }
            //延时
            string strMinute = Lightconfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute);
            string strSecond = Lightconfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond);
            string strMinute = pirConfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute);
            string strSecond = pirConfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond);
            var rowDelay = new FrameRowControl(listView.rowSpace / 2);
            rowDelay.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft;
            frameResult.AddChidren(rowDelay);
@@ -272,7 +391,6 @@
        {
            //打开进度条
            this.ShowProgressBar();
            this.listOldData.Clear();
            //获取绑定目标设备
            List<CommonDevice> listDevice = await HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone);
@@ -282,6 +400,7 @@
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            this.listEsixtDevice.Clear();
            foreach (var device in listDevice)
            {
                this.listEsixtDevice.Add(Common.LocalDevice.Current.GetDeviceMainKeys(device));
@@ -294,17 +413,28 @@
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            //获取灯光的配置信息
            this.Lightconfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone);
            if (Lightconfigure == null)
            if (lightLevelCount > 100)
            {
                lightLevelCount = 100;
            }
            //获取pir的配置信息
            this.pirConfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone);
            if (pirConfigure == null)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            //记录旧数据
            this.listOldData.Add(Lightconfigure.levelSize);
            this.listOldData.Add(Lightconfigure.transitionTime);
            //获取PIR传感器的【lux值】
            this.pirLuxValue = await HdlDevicePirSensorLogic.Current.GetPirSensorLux(deviceIASZone);
            if (pirLuxValue == -1)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            //关闭进度条
            this.CloseProgressBar();
@@ -346,13 +476,13 @@
            var listTemp2 = new List<string>() { "00" + strSecond };
            listSecond.Add(listTemp2);
            string value = (this.Lightconfigure.transitionTime / 60).ToString().PadLeft(2, '0') + strMinute;
            string value = (this.pirConfigure.transitionTime / 60).ToString().PadLeft(2, '0') + strMinute;
            int index1 = listfirst.IndexOf(value);
            if (index1 == -1)
            {
                index1 = 0;
            }
            value = (this.Lightconfigure.transitionTime % 60).ToString().PadLeft(2, '0') + strSecond;
            value = (this.pirConfigure.transitionTime % 60).ToString().PadLeft(2, '0') + strSecond;
            int index2 = listSecond[index1].IndexOf(value);
            if (index2 == -1)
            {
@@ -366,7 +496,8 @@
                 int second = Convert.ToInt32(listSecond[value1][value2].Substring(0, 2));
                 int delaySecond = minute * 60 + second;
                 //更改数值
                 this.Lightconfigure.transitionTime = delaySecond;
                 this.pirConfigure.transitionTime = delaySecond;
                 this.isDataChanged = true;
             },
             index1, index2,
             Language.StringByID(R.MyInternationalizationString.uDelayed),
@@ -383,8 +514,7 @@
        /// </summary>
        private async void SavePirSensorData()
        {
            if (listOldData[0] == Lightconfigure.levelSize && listOldData[1] == Lightconfigure.transitionTime
                && listSaveDevice == null)
            if (this.isDataChanged == false)
            {
                HdlThreadLogic.Current.RunMain(() =>
                {
@@ -437,16 +567,13 @@
                    }
                }
            }
            if (listOldData[0] != Lightconfigure.levelSize || listOldData[1] != Lightconfigure.transitionTime)
            //保存pir配置信息
            var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.pirConfigure);
            if (result == false)
            {
                //保存灯光配置
                var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.Lightconfigure);
                if (result == false)
                {
                    //关闭进度条
                    this.CloseProgressBar();
                    return;
                }
                //关闭进度条
                this.CloseProgressBar();
                return;
            }
            //关闭进度条
            this.CloseProgressBar();
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorDimmingModeForm.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DevicePirSensor
{
@@ -11,6 +12,11 @@
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 传感器的配置信息
        /// </summary>
        private IASZone.ConfigureParamates pirConfigure = null;
        #endregion
        #region ■ 初始化_____________________________
@@ -18,8 +24,11 @@
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        public void ShowForm()
        /// <param name="i_pirConfigure">传感器的配置信息</param>
        public void ShowForm(IASZone.ConfigureParamates i_pirConfigure)
        {
            this.pirConfigure = i_pirConfigure;
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDimmingMode));
@@ -64,6 +73,7 @@
            bodyFrameLayout.AddChidren(btnSave);
            btnSave.ButtonClickEvent += (sender, e) =>
            {
                this.CloseForm();
            };
        }
@@ -82,6 +92,9 @@
            {
                listSelect.Add(i + "%");
            }
            //让它处于10的整倍数
            this.pirConfigure.dimmerLevel = (this.pirConfigure.dimmerLevel / 10) * 10;
            int index = listSelect.IndexOf(this.pirConfigure.dimmerLevel + "%");
            //开灯亮度
            var row1 = new FrameRowControl(listView.rowSpace / 2);
@@ -89,15 +102,16 @@
            var btnCaption1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTurnOnBrightness), 400);
            btnCaption1.TextSize = 15;
            row1.AddRightArrow();
            var btnStatu = row1.AddMostRightView("", 400);
            var btnStatu = row1.AddMostRightView(pirConfigure.dimmerLevel + "%", 400);
            row1.AddBottomLine();
            row1.ButtonClickEvent += (sender, e) =>
            {
                PickerView.Show(listSelect, (value) =>
                {
                    btnStatu.Text = listSelect[value];
                    pirConfigure.dimmerLevel = Convert.ToInt32(listSelect[value].Replace("%", string.Empty));
                }, 0, Language.StringByID(R.MyInternationalizationString.uBrightness),
                }, index == -1 ? 0 : index, Language.StringByID(R.MyInternationalizationString.uBrightness),
                Language.StringByID(R.MyInternationalizationString.uFinish),
                Language.StringByID(R.MyInternationalizationString.uCancel));
            };
@@ -119,6 +133,7 @@
            {
                listTime.Add(i + miao);
            }
            int index = listTime.IndexOf(this.pirConfigure.dimmerOnTime + miao);
            //慢启动
            var row2 = new FrameRowControl(listView.rowSpace / 2);
@@ -126,15 +141,16 @@
            var btnCaption2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowStartup), 400);
            btnCaption2.TextSize = 15;
            row2.AddRightArrow();
            var btnStatu2 = row2.AddMostRightView("", 400);
            var btnStatu2 = row2.AddMostRightView(pirConfigure.dimmerOnTime + miao, 400);
            row2.AddBottomLine();
            row2.ButtonClickEvent += (sender, e) =>
            {
                PickerView.Show(listTime, (value) =>
                {
                    btnStatu2.Text = listTime[value];
                    pirConfigure.dimmerOnTime = Convert.ToInt32(listTime[value].Replace(miao, string.Empty));
                }, 0, btnCaption2.Text,
                }, index == -1 ? 0 : index, btnCaption2.Text,
                Language.StringByID(R.MyInternationalizationString.uFinish),
                Language.StringByID(R.MyInternationalizationString.uCancel));
            };
@@ -156,20 +172,23 @@
            {
                listTime.Add(i + miao);
            }
            int index = listTime.IndexOf(this.pirConfigure.dimmerOffTime + miao);
            //慢关闭
            var row3 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row3);
            var btnCaption3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowClose), 400);
            btnCaption3.TextSize = 15;
            row3.AddRightArrow();
            var btnStatu3 = row3.AddMostRightView("", 400);
            var btnStatu3 = row3.AddMostRightView(pirConfigure.dimmerOffTime + miao, 400);
            row3.ButtonClickEvent += (sender, e) =>
            {
                PickerView.Show(listTime, (value) =>
                {
                    btnStatu3.Text = listTime[value];
                    pirConfigure.dimmerOffTime = Convert.ToInt32(listTime[value].Replace(miao, string.Empty));
                }, 0, btnCaption3.Text,
                }, index == -1 ? 0 : index, btnCaption3.Text,
                Language.StringByID(R.MyInternationalizationString.uFinish),
                Language.StringByID(R.MyInternationalizationString.uCancel));
            };
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs
@@ -205,6 +205,7 @@
            }
            //让它处于5的整倍数
            this.pirConfigure.iasReportPeriod = (this.pirConfigure.iasReportPeriod / 5) * 5;
            int index = listTime.IndexOf(this.pirConfigure.iasReportPeriod + miao);
            //上报间隔
            var row3 = new FrameRowControl(listView.rowSpace / 2);
@@ -222,7 +223,7 @@
                    btnStatu3.Text = listTime[value];
                    this.pirConfigure.iasReportPeriod = Convert.ToInt32(listTime[value].Replace(miao, string.Empty));
                }, 0, btnCaption3.Text,
                }, index == -1 ? 0 : index, btnCaption3.Text,
                Language.StringByID(R.MyInternationalizationString.uFinish),
                Language.StringByID(R.MyInternationalizationString.uCancel));
            };
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
@@ -16,7 +16,7 @@
        public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1921 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
        #region ◆ 底部有圆角布局__________________________
        public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 };
        public FrameLayout bottomRadiusFrameLayout = new FrameLayout()
        {
            Height = Application.GetRealHeight(906),
@@ -175,7 +175,7 @@
        /// </summary>
        /// <param name="frameLayout"></param>
        public void BottomRadiusFrameLayout(FrameLayout frameLayout)
        {
        {
            this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout);
            this.bottomRadiusFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            this.bottomRadiusFrameLayout.AddChidren(btnCancel);
@@ -281,46 +281,15 @@
                        }
                        if (!UserCenterResourse.Option.DoorUnLockByRemote)
                        {
                            var dialog2 = new Dialog { };
                            var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip));
                            doorDialog2.Show();
                            doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674);
                            doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115);
                            doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60);
                            doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167);
                            doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting);
                            var midText1 = new Button()
                            {
                                Width = Application.GetRealWidth(674),
                                Height = Application.GetRealHeight(115 / 2),
                                TextSize = 14,
                                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                                TextAlignment = TextAlignment.Center,
                                TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip1,
                            };
                            doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1);
                            var midText2 = new Button()
                            {
                                Width = Application.GetRealWidth(674),
                                Height = Application.GetRealHeight(115 / 2),
                                Y = Application.GetRealHeight(115 / 2),
                                TextSize = 14,
                                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                                TextAlignment = TextAlignment.Center,
                                TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip2,
                            };
                            doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2);
                            doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) =>
                            {
                                dialog2.Close();
                            };
                            doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) =>
                            string msg = Language.StringByID(R.MyInternationalizationString.RemoteUnlockBindSucessTip).Replace("{0}", "\r\n");
                            var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
                            alert.Show();
                            //使用确认型弹框时,的回调函数
                            alert.ConfirmClickEvent += () =>
                            {
                                var form = new UserCenter.UserMain.SecondAuthenticationForm();
                                form.AddForm();
                                dialog2.Close();
                            };
                                form.AddForm();
                            };
                        }
                        doorLock.ReSave();
                    }
@@ -357,46 +326,15 @@
        /// <param name="action">二次验证的结果成功后的通知</param> 
        public static void SecurityRequest(ZigBee.Device.DoorLock doorLock, Action action)
        {
            var dialog2 = new Dialog { };
            var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip));
            doorDialog2.Show();
            doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674);
            doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115);
            doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60);
            doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167);
            doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting);
            var midText1 = new Button()
            {
                Width = Application.GetRealWidth(674),
                Height = Application.GetRealHeight(115 / 2),
                TextSize = 14,
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                TextAlignment = TextAlignment.Center,
                TextID = R.MyInternationalizationString.GoPersonalCenter,
            };
            doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1);
            var midText2 = new Button()
            {
                Width = Application.GetRealWidth(674),
                Height = Application.GetRealHeight(115 / 2),
                Y = Application.GetRealHeight(115 / 2),
                TextSize = 14,
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                TextAlignment = TextAlignment.Center,
                TextID = R.MyInternationalizationString.OpenRemoteVerification,
            };
            doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2);
            doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) =>
            {
                dialog2.Close();
            };
            doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) =>
            string msg = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n");
            var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
            alert.Show();
            //使用确认型弹框时,的回调函数
            alert.ConfirmClickEvent += () =>
            {
                var form = new UserCenter.UserMain.SecondAuthenticationForm();
                form.AddForm();
                dialog2.Close();
            };
            };
        }
        /// <summary>
@@ -410,21 +348,11 @@
        {
            if (doorLock.RemoteUnlockPassword == "")
            {
                var dialog = new Dialog { };
                var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip));
                doorDialog.Show();
                doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
                doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
                doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
                doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock);
                doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting);
                doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
                {
                    dialog.Close();
                };
                doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
                string msgRemoteUnlockRequest = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock);
                var alertRemoteUnlockRequest = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting));
                alertRemoteUnlockRequest.Show();
                //使用确认型弹框时,的回调函数
                alertRemoteUnlockRequest.ConfirmClickEvent += () =>
                {
                    if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                    {
@@ -442,7 +370,6 @@
                                }
                            }
                        };
                        dialog.Close();
                    }
                    else
                    {
@@ -463,7 +390,6 @@
                                }
                            }
                        };
                        dialog.Close();
                    }
                };
                return;
@@ -471,65 +397,23 @@
            if (!UserCenterResourse.Option.DoorUnLockByRemote)
            {
                var dialog2 = new Dialog { };
                var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip));
                doorDialog2.Show();
                doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674);
                doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115);
                doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60);
                doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167);
                doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting);
                var midText1 = new Button()
                {
                    Width = Application.GetRealWidth(674),
                    Height = Application.GetRealHeight(115 / 2),
                    TextSize = 14,
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextAlignment = TextAlignment.Center,
                    TextID = R.MyInternationalizationString.GoPersonalCenter,
                };
                doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1);
                var midText2 = new Button()
                {
                    Width = Application.GetRealWidth(674),
                    Height = Application.GetRealHeight(115 / 2),
                    Y = Application.GetRealHeight(115 / 2),
                    TextSize = 14,
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextAlignment = TextAlignment.Center,
                    TextID = R.MyInternationalizationString.OpenRemoteVerification,
                };
                doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2);
                doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) =>
                {
                    dialog2.Close();
                };
                doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) =>
                string msgDoorUnLockByRemote = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n");
                var alertDoorUnLockByRemote = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting));
                alertDoorUnLockByRemote.Show();
                //使用确认型弹框时,的回调函数
                alertDoorUnLockByRemote.ConfirmClickEvent += () =>
                {
                    var form = new UserCenter.UserMain.SecondAuthenticationForm();
                    form.AddForm();
                    dialog2.Close();
                };
                };
                return;
            }
            var dialog3 = new Dialog { };
            var doorDialog3 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog3, Language.StringByID(R.MyInternationalizationString.UnlockRequest));
            doorDialog3.Show();
            doorDialog3.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
            doorDialog3.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
            doorDialog3.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
            doorDialog3.dialogMidFraFrameLayout.AddChidren(doorDialog3.dialogMidText);
            doorDialog3.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock);
            doorDialog3.dialogMidText.TextAlignment = TextAlignment.Center;
            doorDialog3.dialogMidFraFrameLayout.AddChidren(doorDialog3.dialogMidText);
            doorDialog3.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
            doorDialog3.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
            {
                dialog3.Close();
            };
            doorDialog3.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
            string msg = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock);
            var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
            alert.Show();
            //使用确认型弹框时,的回调函数
            alert.ConfirmClickEvent += () =>
            {
                action = () =>
                {
@@ -575,7 +459,7 @@
                                        if (btnStatus != null)
                                        {
                                            btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
                                        }
                                    });
                                    System.Threading.Thread.Sleep(5000);
@@ -596,7 +480,7 @@
                                        {
                                            btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
                                        }
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
                                    });
                                }
                            }
@@ -619,7 +503,7 @@
                                        {
                                            btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
                                        }
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
                                    });
                                }
                                else
@@ -638,10 +522,9 @@
                                        {
                                            btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
                                        }
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
                                        CommonPage.Loading.Hide();
                                        doorLock.RemoteUnlockPassword = "";
                                        dialog3.Close();
                                        if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                                        {
                                            var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
@@ -698,7 +581,7 @@
                                    {
                                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
                                    }
                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
                                });
                            }
                        }
@@ -717,8 +600,7 @@
                    });
                };
                HdlCheckLogic.Current.CheckSecondarySecurity(action);
                dialog3.Close();
            };
            };
        }
        // 获取到到名称更改回调通知
        public Action<string> devicNameSecAction;
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
@@ -219,28 +219,25 @@
                        unLockMethod.Show();
                    }
                    else if (currentIndex == 1)
                    {
                        btnRight.IsSelected = !btnRight.IsSelected;
                        if (btnRight.IsSelected)
                    {
                        if (!btnRight.IsSelected)
                        {
                            FreezeUser(true);
                            FreezeUser(true);
                        }
                        else
                        {
                            FreezeUser(false);
                            FreezeUser(false);
                        }
                    }
                    else if (currentIndex == 2)
                    {
                        btnRight.IsSelected = !btnRight.IsSelected;
                        if (btnRight.IsSelected)
                    {
                        if (!btnRight.IsSelected)
                        {
                            HasRemoteUnlockAccessMethod(true);
                            HasRemoteUnlockAccessMethod(true);
                        }
                        else
                        {
                            HasRemoteUnlockAccessMethod(false);
                            HasRemoteUnlockAccessMethod(false);
                        }
                    }
                };
@@ -277,21 +274,12 @@
            {
                textFreeze = Language.StringByID(R.MyInternationalizationString.SureToUnFreeze);
            }
            var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip));
            doorDialog.Show();
            doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
            doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
            doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
            doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
            doorDialog.dialogMidText.Text = textFreeze;
            doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
            doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
            doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
            {
                MidRefresh();
                dialog.Close();
            };
            doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
            string msg = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter);
            var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, textFreeze, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
            alert.Show();
            //使用确认型弹框时,的回调函数
            alert.ConfirmClickEvent += () =>
            {
                System.Threading.Tasks.Task.Run(async () =>
                {
@@ -312,8 +300,7 @@
                            {
                                // 账户中没有门锁用户
                                if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "")
                                {
                                    //
                                {
                                }
                                else
                                {
@@ -338,6 +325,17 @@
                            }
                            //冻结/解冻用户
                            int count1 = tempGroupId.Count;
                            if (tempGroupId.Count==1)
                            {
                                foreach (var a in tempGroupId)
                                {
                                    if(a.Count ==0)
                                    {
                                        count1 = 0;
                                        break;
                                    }
                                }
                            }
                            int count2 = 0;
                            int tempCount = 0;
@@ -346,7 +344,7 @@
                                var tempUserIdList1 = tempGroupId[i];
                                if (tempUserIdList1.Count == 0)
                                {
                                    return;
                                    break;
                                }
                                var passData = doorLock.FreezeAccountData(tempUserIdList1, accessType);
                                var resultData = await doorLock.DefaultControlAsync(passData);
@@ -359,11 +357,8 @@
                                    else if (resultData.defaultControlResponseData.status == 33)
                                    {
                                        count2++;
                                    }
                                    //if (tempCount == tempGroupId.Count - 1)
                                    //{
                                    System.Threading.Thread.Sleep(1000);
                                    //}
                                    }
                                    System.Threading.Thread.Sleep(1000);
                                }
                                else
                                {
@@ -375,7 +370,7 @@
                                }
                                tempCount++;
                            }
                            // 批量冻结门锁中的账户后,准备冻结云端账户
                            if (count2 == count1)
                            {
@@ -570,29 +565,17 @@
                        });
                    }
                });
                dialog.Close();
            };
            };
        }
        //是否给子账户拥有远程开锁的条件
        void HasRemoteUnlockAccessMethod(bool hasAccess)
        {
            var dialog = new Dialog { };
            var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip));
            doorDialog.Show();
            doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
            doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
            doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
            doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
            doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount);
            doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
            doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
            doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
            {
                MidRefresh();
                dialog.Close();
            };
            doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
            string msg = Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount);
            var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
            alert.Show();
            //使用确认型弹框时,的回调函数
            alert.ConfirmClickEvent += () =>
            {
                System.Threading.Tasks.Task.Run(async () =>
                {
@@ -778,8 +761,7 @@
                        });
                    }
                });
                dialog.Close();
            };
            };
        }
        #region ◆ 接口实现__________________________
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -108,35 +108,21 @@
                    Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
                    TextSize = 14,
                    IsBold =true,
                    IsBold = true,
                };
                delBackgroundFrameLayout.AddChidren(btnDelText);
                EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) =>
                {
                    var dialog1 = new Dialog { };
                    var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip));
                    doorDialog.Show();
                    doorDialog.dialogMidFraFrameLayout.Width = Application.GetRealWidth(415);
                    doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
                    doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(190);
                    doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
                    doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                    doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword);
                    doorDialog.dialogMidText.TextSize = 14;
                    doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                    doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.Confrim);
                    doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
                    {
                        dialog.Close();
                        dialog1.Close();
                    };
                    doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
                    {
                        dialog.Close();
                        dialog1.Close();
                        ClearEventHandler(btnDelText, dialog1);
                    };
                    dialog.Close();
                    string msg = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword);
                    var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                    alert.Show();
                    //使用确认型弹框时,的回调函数
                    alert.ConfirmClickEvent += () =>
                    {
                        ClearEventHandler(btnDelText);
                    };
                };
                delBackgroundFrameLayout.MouseDownEventHandler += eHandler2;
                btnDelIcon2.MouseDownEventHandler += eHandler2;
@@ -343,7 +329,7 @@
            };
            this.midFrameLayout.AddChidren(bottomFrameLayout);
            bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            var informationEdit = new Button()
            {
                Height = Application.GetRealHeight(60),
@@ -510,7 +496,7 @@
                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
                TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                TextSize = 16,
                IsBold =true,
                IsBold = true,
                Enable = false,
            };
            bottomFrameLayout.AddChidren(btnFinifh);
@@ -682,7 +668,7 @@
        }
        //清除事件处理
        async void ClearEventHandler(Button btnDelText = null, Dialog dialog = null)
        async void ClearEventHandler(Button btnDelText = null)
        {
            if (btnDelText == null)
            {
@@ -756,10 +742,7 @@
            {
                Application.RunOnMainThread(() =>
                {
                    if (dialog != null)
                    {
                        dialog.Close();
                    }
                    MidFrameLayoutContent();
                    CommonPage.Loading.Hide();
                });
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
@@ -163,7 +163,7 @@
                    X = Application.GetRealWidth(58),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = 14,
                    TextSize = 12,
                };
                rowLayout.AddChidren(btnDateTime);
@@ -210,7 +210,7 @@
                    {
                        TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                        TextAlignment = TextAlignment.CenterRight,
                        TextSize = 14,
                        TextSize = 12,
                        Text = "_" + Language.StringByID(R.MyInternationalizationString.Year) + "_" + Language.StringByID(R.MyInternationalizationString.Month) + "_" + Language.StringByID(R.MyInternationalizationString.Day),
                    };
                    textDisplayDateFrameLayout.AddChidren(textDisplayDate);
@@ -241,7 +241,7 @@
                    {
                        TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                        TextAlignment = TextAlignment.CenterRight,
                        TextSize = 14,
                        TextSize = 12,
                        Text = "00:00",
                    };
                    textDisplayDateFrameLayout.AddChidren(textDisplayTime);
@@ -290,65 +290,6 @@
                    };
                    this.bottomRadiusFrameLayout.AddChidren(mUIPickerView);
                    var btnTextM = new Button()
                    {
                        Width = Application.GetRealWidth(0),
                        Height = Application.GetRealHeight(58),
                        Y = Application.GetRealHeight(372),
                        Text= "月",
                        TextSize=14,
                        TextColor=ZigbeeColor.Current.XMBlack,
                    };
                    this.bottomRadiusFrameLayout.AddChidren(btnTextM);
                    var btnTextD = new Button()
                    {
                        Width = Application.GetRealWidth(0),
                        Height = Application.GetRealHeight(58),
                        Y = Application.GetRealHeight(372),
                        Text = "日",
                        TextColor = ZigbeeColor.Current.XMBlack,
                        TextSize = 14,
                     };
                    this.bottomRadiusFrameLayout.AddChidren(btnTextD);
                    var btnLine1 = new FrameLayout()
                    {
                        Width = Application.GetRealWidth(0),
                        Height = 2,
                        Y = Application.GetRealHeight(161 + 177),
                        BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
                    };
                    this.bottomRadiusFrameLayout.AddChidren(btnLine1);
                    var btnLine2 = new FrameLayout()
                    {
                        Width = Application.GetRealWidth(0),
                        Height = btnLine1.Height,
                        X = Application.GetRealWidth(246+588),
                        Y = btnLine1.Y,
                        BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
                    };
                    this.bottomRadiusFrameLayout.AddChidren(btnLine2);
                    var btnLine3 = new FrameLayout()
                    {
                        Width = Application.GetRealWidth(0),
                        Height = 2,
                        Y = Application.GetRealHeight(161 + 269),
                        BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
                    };
                    this.bottomRadiusFrameLayout.AddChidren(btnLine3);
                    var btnLine4 = new FrameLayout()
                    {
                        Width = Application.GetRealWidth(0),
                        Height = btnLine3.Height,
                        X = btnLine2.X,
                        Y = btnLine3.Y,
                        BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
                    };
                    this.bottomRadiusFrameLayout.AddChidren(btnLine4);
                    if (curIndex == 0)
                    {
                        //日期
@@ -376,57 +317,30 @@
                        }
                        for (int m = 1; m < 13; m++)
                        {
                            mList2.Add(m.ToString());
                            if (Language.CurrentLanguage == "Chinese")
                            if(Language .CurrentLanguage == "Chinese")
                            {
                                btnTextM.Width = Application.GetRealWidth(100);
                                if (setTimeType != "DoorLockTime")
                                {
                                    btnTextM.X = Application.GetRealWidth(418);
                                }
                                else
                                {
                                    btnTextM.X = Application.GetRealWidth(566);
                                }
                                mList2.Add(m.ToString()+"月");
                            }
                            else
                            {
                                btnTextM.Width = Application.GetRealWidth(0);
                            }
                                mList2.Add(m.ToString());
                            }
                        }
                        for (int d = 1; d < days + 1; d++)
                        {
                            mList3.Add(d.ToString());
                            if (Language.CurrentLanguage == "Chinese")
                            {
                                btnTextD.Width = Application.GetRealWidth(100);
                                if (setTimeType != "DoorLockTime")
                                {
                                    btnTextD.X = Application.GetRealWidth(710);
                                }
                                else
                                {
                                    btnTextD.X = Application.GetRealWidth(922);
                                }
                            {
                                mList3.Add(d.ToString() + "日");
                            }
                            else
                            {
                                btnTextD.Width = Application.GetRealWidth(0);
                            }
                                mList3.Add(d.ToString());
                            }
                        }
                        if (setTimeType != "DoorLockTime")
                        {
                            mUIPickerView.setNPicker(mList2, mList3, null);
                            mUIPickerView.Width = Application.GetRealWidth(588);
                            mUIPickerView.X = Application.GetRealWidth(246);
                            btnLine1.Width=btnLine2.Width= btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250);
                            btnLine1.Y = Application.GetRealHeight(161 + 177+15);
                            btnLine2.Y = Application.GetRealHeight(161 + 177 + 15);
                            btnLine3.Y = Application.GetRealHeight(161 + 269+15);
                            btnLine4.Y = Application.GetRealHeight(161 + 269 + 15);
                            mUIPickerView.setCurrentItems(dtNow.Month - 1, dtNow.Day - 1, 0);
                            curMonth = dtNow.Month;
                            curDay = dtNow.Day;
@@ -473,16 +387,12 @@
                                    timeSetAction();
                                }
                                this.shadowRadiusFrameLayout.RemoveFromParent();
                                this.bottomRadiusFrameLayout.RemoveFromParent();
                                MidFrameLayoutContent();
                            };
                        }
                        else
                        {
                            mUIPickerView.setNPicker(mList1, mList2, mList3);
                            mUIPickerView.Width = Application.GetRealWidth(1080);
                            mUIPickerView.X = Application.GetRealWidth(0);
                            btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(0);
                            mUIPickerView.setCurrentItems(dtNow.Year, dtNow.Month - 1, dtNow.Day - 1);
                            curYear = dtNow.Year;
                            curMonth = dtNow.Month;
@@ -498,7 +408,7 @@
                                curHour = dtNow.Hour;
                                curMin = dtNow.Minute;
                                curSec = dtNow.Second;
                            }
                            }
                        }
                        Action dAction = () =>
@@ -511,38 +421,24 @@
                                for (int d = 1; d < days + 1; d++)
                                {
                                    mList3.Add(d.ToString());
                                    if (Language.CurrentLanguage == "Chinese")
                                    {
                                        btnTextD.Width = Application.GetRealWidth(100);
                                        if (setTimeType != "DoorLockTime")
                                        {
                                            btnTextD.X = Application.GetRealWidth(710);
                                        }
                                        else
                                        {
                                            btnTextD.X = Application.GetRealWidth(922);
                                        }
                                        mList3.Add(d.ToString() + "日");
                                    }
                                    else
                                    {
                                        btnTextD.Width = Application.GetRealWidth(0);
                                        mList3.Add(d.ToString());
                                    }
                                }
                                if (setTimeType != "DoorLockTime")
                                {
                                    mUIPickerView.setNPicker(mList2, mList3, null);
                                    mUIPickerView.Width = Application.GetRealWidth(588);
                                    mUIPickerView.X = Application.GetRealWidth(246);
                                    btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250);
                                    mUIPickerView.setCurrentItems(curMonth - 1, curDay - 1, 0);
                                }
                                else
                                {
                                    mUIPickerView.setNPicker(mList1, mList2, mList3);
                                    mUIPickerView.Width = Application.GetRealWidth(1080);
                                    mUIPickerView.X = Application.GetRealWidth(0);
                                    btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(0);
                                    mUIPickerView.setCurrentItems(curYear, curMonth - 1, curDay - 1);
                                }
                            }
@@ -602,9 +498,6 @@
                            }
                        }
                        mUIPickerView.setNPicker(mList1, mList2, null);
                        mUIPickerView.Width = Application.GetRealWidth(588);
                        mUIPickerView.X = Application.GetRealWidth(246);
                        btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250);
                        mUIPickerView.setCurrentItems(dtNow.Hour, dtNow.Minute, 0);
                        if (CurentDoorLockTime != null)
                        {
@@ -673,7 +566,6 @@
                                    timeSetAction();
                                }
                                this.shadowRadiusFrameLayout.RemoveFromParent();
                                this.bottomRadiusFrameLayout.RemoveFromParent();
                                MidFrameLayoutContent();
                            };
                        }
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
@@ -46,7 +46,7 @@
        #region ◆ 变量申明__________________________
        ZigBee.Device.DoorLock doorLock;//当前门锁
        VerticalListRefreshControl  bodyView;//刷新View
        VerticalListRefreshControl bodyView;//刷新View
        Button currentMethod;// 当前选择的方式
        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;//当前账户
        Button entryStatusPic;
@@ -178,7 +178,7 @@
                TextAlignment = TextAlignment.CenterRight,
                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                TextSize = 12,
                IsBold =true,
                IsBold = true,
            };
            midTopFrameLayout.AddChidren(btnAllMethod);
            // 类型区分 
@@ -230,7 +230,7 @@
            bodyView = new VerticalListRefreshControl(29)
            {
                Y = btnLine.Bottom,
                Height = Application.GetRealHeight(1921 - 184 - 116),
                Height = Application.GetRealHeight(1921 - 184 - 116),
            };
            this.midFrameLayout.AddChidren(bodyView);
            bodyView.BeginHeaderRefreshingAction += () =>
@@ -238,7 +238,7 @@
                bodyView.BeginHeaderRefreshing();
                ReadDoorLockUserInfo();
            };
            BlankPicUI();
            BlankPicUI();
        }
        /// <summary>
@@ -276,13 +276,13 @@
            btnPicTip1 = new Button
            {
                X = Application.GetRealWidth(397),
                Y = Application.GetRealHeight(844+49),
                X = Application.GetRealWidth(397),
                Y = Application.GetRealHeight(844 + 49),
                Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation1),
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                Gravity = Gravity.CenterHorizontal,
                Visible = true,
                TextSize =12,
                Visible = true,
                TextSize = 12,
            };
            blankFrameLayout.AddChidren(btnPicTip1);
        }
@@ -334,7 +334,7 @@
                entryStatusPic.Width = Application.GetRealHeight(0);
                btnPicTip.Height = Application.GetRealHeight(0);
                btnPicTip1.Height = Application.GetRealHeight(0);
                blankFrameLayout.Height = Application.GetRealHeight(0);
                blankFrameLayout.Height = Application.GetRealHeight(0);
                int i = 0;
                foreach (var curUserId in curAccountDoorLockUserList.Keys)
@@ -372,8 +372,7 @@
                    rowFrameLayout.frameTable.UseClickStatu = false;
                    var btnicon = rowFrameLayout.frameTable.AddLeftIcon();
                    btnicon.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png";
                    //上面门锁用户名称一行
                    //rowFrameLayout.frameTable.AddTopView("", 800);
                    //上面门锁用户名称一行
                    var memberText = "";
                    if (curAccountObj.UserName == "" || curAccountObj.UserName == null)
                    {
@@ -401,141 +400,130 @@
                    var btndelete = rowFrameLayout.AddDeleteControl();
                    btndelete.ButtonClickEvent += (sender, e) =>
                    {
                        var dialog = new Dialog { };
                        var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip));
                        doorDialog.Show();
                        doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
                        doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
                        doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
                        doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                        doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod);
                        doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                        doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
                        doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
                        {
                            dialog.Close();
                        };
                        doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) =>
                        {
                            try
                            {
                                CommonPage.Loading.Start("");
                                var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser);
                                var resultData = await doorLock.DefaultControlAsync(passData);
                                if (resultData != null && resultData.defaultControlResponseData != null)
                                {
                                    if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
                                    {
                                        var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
                                        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                                        {
                                            deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                            deleteDoorLockData.IsOtherAccountCtrl = true;
                                        }
                                        if (doorLock.DeviceAddr != null)
                                        {
                                            deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                                        }
                                        deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
                                        deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
                                        deleteDoorLockData.DelDoorLockDelType = 2;
                                        var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
                                        if (result != null)
                                        {
                                            if (result.StateCode == "Success")
                                            {
                                                isSecondDel = false;
                                                if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
                                                {
                                                    doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount);
                                                    var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                                                    localDoorLockObj.UserID = curDoorLockUser.UserID;
                                                    doorLock.localDoorLockUserList.Remove(curUserId);
                                                    doorLock.ReSave();
                                                    TypeRefresh();
                                                }
                                            }
                                            else
                                            {
                        string msg = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod);
                        var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                        alert.Show();
                        //使用确认型弹框时,的回调函数
                        alert.ConfirmClickEvent += async () =>
                         {
                             try
                             {
                                 CommonPage.Loading.Start("");
                                 var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser);
                                 var resultData = await doorLock.DefaultControlAsync(passData);
                                 if (resultData != null && resultData.defaultControlResponseData != null)
                                 {
                                     if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
                                     {
                                         var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
                                         if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                                         {
                                             deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                             deleteDoorLockData.IsOtherAccountCtrl = true;
                                         }
                                         if (doorLock.DeviceAddr != null)
                                         {
                                             deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                                         }
                                         deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
                                         deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
                                         deleteDoorLockData.DelDoorLockDelType = 2;
                                         var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
                                         if (result != null)
                                         {
                                             if (result.StateCode == "Success")
                                             {
                                                 isSecondDel = false;
                                                 if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
                                                 {
                                                     doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount);
                                                     var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                                                     localDoorLockObj.UserID = curDoorLockUser.UserID;
                                                     doorLock.localDoorLockUserList.Remove(curUserId);
                                                     doorLock.ReSave();
                                                     TypeRefresh();
                                                 }
                                             }
                                             else
                                             {
                                                //开关图标
                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                            }
                                        }
                                        else
                                        {
                                            isSecondDel = true;
                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                        }
                                    }
                                    else
                                    {
                                        if (isSecondDel)
                                        {
                                            var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
                                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                                            {
                                                deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                                deleteDoorLockData.IsOtherAccountCtrl = true;
                                            }
                                            if (doorLock.DeviceAddr != null)
                                            {
                                                deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                                            }
                                            deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
                                            deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
                                            deleteDoorLockData.DelDoorLockDelType = 2;
                                            var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
                                            if (result != null)
                                            {
                                                if (result.StateCode == "Success")
                                                {
                                                    isSecondDel = false;
                                                    if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
                                                    {
                                                        doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
                                                        var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                                                        localDoorLockObj.UserID = curDoorLockUser.UserID;
                                                        doorLock.localDoorLockUserList.Remove(curUserId);
                                                        TypeRefresh();
                                                    }
                                                }
                                                else
                                                {
                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                                }
                                            }
                                            else
                                            {
                                                isSecondDel = true;
                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                            }
                                        }
                                        else
                                        {
                                            if (curDoorLockUser.UserID < 10)
                                            {
                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                            }
                                            else
                                            {
                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
                                }
                                dialog.Close();
                            }
                            catch { }
                            finally
                            {
                                CommonPage.Loading.Hide();
                            }
                        };
                    };
                                             }
                                         }
                                         else
                                         {
                                             isSecondDel = true;
                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                         }
                                     }
                                     else
                                     {
                                         if (isSecondDel)
                                         {
                                             var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
                                             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                                             {
                                                 deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                                 deleteDoorLockData.IsOtherAccountCtrl = true;
                                             }
                                             if (doorLock.DeviceAddr != null)
                                             {
                                                 deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                                             }
                                             deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
                                             deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
                                             deleteDoorLockData.DelDoorLockDelType = 2;
                                             var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
                                             if (result != null)
                                             {
                                                 if (result.StateCode == "Success")
                                                 {
                                                     isSecondDel = false;
                                                     if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
                                                     {
                                                         doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
                                                         var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                                                         localDoorLockObj.UserID = curDoorLockUser.UserID;
                                                         doorLock.localDoorLockUserList.Remove(curUserId);
                                                         TypeRefresh();
                                                     }
                                                 }
                                                 else
                                                 {
                                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                                 }
                                             }
                                             else
                                             {
                                                 isSecondDel = true;
                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                             }
                                         }
                                         else
                                         {
                                             if (curDoorLockUser.UserID < 10)
                                             {
                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                             }
                                             else
                                             {
                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                             }
                                         }
                                     }
                                 }
                                 else
                                 {
                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
                                 }
                             }
                             catch { }
                             finally
                             {
                                 CommonPage.Loading.Hide();
                             }
                         };
                    };
                    #endregion
                    #region 数据处理
@@ -624,149 +612,10 @@
                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                         }
                     };
                    btnDoorlockUser.EditorEnterAction += action;
                    //btnDel.MouseUpEventHandler += (sender, e) =>
                    //{
                    //var dialog = new Dialog { };
                    //var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip));
                    //doorDialog.Show();
                    //doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
                    //doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
                    //doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
                    //doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                    //doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod);
                    //doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
                    //doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
                    //doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
                    //{
                    //    dialog.Close();
                    //};
                    //doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) =>
                    //{
                    //    try
                    //    {
                    //        CommonPage.Loading.Start("");
                    //        var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser);
                    //        var resultData = await doorLock.DefaultControlAsync(passData);
                    //        if (resultData != null && resultData.defaultControlResponseData != null)
                    //        {
                    //            if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
                    //            {
                    //                var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
                    //                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                    //                {
                    //                    deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                    //                    deleteDoorLockData.IsOtherAccountCtrl = true;
                    //                }
                    //                if (doorLock.DeviceAddr != null)
                    //                {
                    //                    deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                    //                }
                    //                deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
                    //                deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
                    //                deleteDoorLockData.DelDoorLockDelType = 2;
                    //                var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
                    //                if (result != null)
                    //                {
                    //                    if (result.StateCode == "Success")
                    //                    {
                    //                        isSecondDel = false;
                    //                        if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
                    //                        {
                    //                            doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount);
                    //                            var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                    //                            localDoorLockObj.UserID = curDoorLockUser.UserID;
                    //                            doorLock.localDoorLockUserList.Remove(curUserId);
                    //                            doorLock.ReSave();
                    //                            TypeRefresh();
                    //                        }
                    //                    }
                    //                    else
                    //                    {
                    //                        //开关图标
                    //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                    //                    }
                    //                }
                    //                else
                    //                {
                    //                    isSecondDel = true;
                    //                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                    //                }
                    //            }
                    //            else
                    //            {
                    //                if (isSecondDel)
                    //                {
                    //                    var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
                    //                    if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                    //                    {
                    //                        deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                    //                        deleteDoorLockData.IsOtherAccountCtrl = true;
                    //                    }
                    //                    if (doorLock.DeviceAddr != null)
                    //                    {
                    //                        deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                    //                    }
                    //                    deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
                    //                    deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
                    //                    deleteDoorLockData.DelDoorLockDelType = 2;
                    //                    var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
                    //                    if (result != null)
                    //                    {
                    //                        if (result.StateCode == "Success")
                    //                        {
                    //                            isSecondDel = false;
                    //                            if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
                    //                            {
                    //                                doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
                    //                                var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                    //                                localDoorLockObj.UserID = curDoorLockUser.UserID;
                    //                                doorLock.localDoorLockUserList.Remove(curUserId);
                    //                                TypeRefresh();
                    //                            }
                    //                        }
                    //                        else
                    //                        {
                    //                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                    //                        }
                    //                    }
                    //                    else
                    //                    {
                    //                        isSecondDel = true;
                    //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                    //                    }
                    //                }
                    //                else
                    //                {
                    //                    if (curDoorLockUser.UserID < 10)
                    //                    {
                    //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                    //                    }
                    //                    else
                    //                    {
                    //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                    //                    }
                    //                }
                    //            }
                    //        }
                    //        else
                    //        {
                    //            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                    //        }
                    //        dialog.Close();
                    //    }
                    //    catch { }
                    //    finally
                    //    {
                    //        CommonPage.Loading.Hide();
                    //    }
                    //};
                    //};
                    btnDoorlockUser.EditorEnterAction += action;
                    #endregion
                    i++;
                }
                //bodyView.AdjustRealHeight(Application.GetRealHeight(23));
                }
            }
        }
ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideCommonForm.cs
@@ -23,6 +23,10 @@
        /// 功能
        /// </summary>
        public NormalViewControl btnFunction = null;
        /// <summary>
        /// 住宅名称
        /// </summary>
        public NormalViewControl btnHouse = null;
        #endregion
@@ -33,6 +37,8 @@
        /// </summary>
        public virtual void ShowFrom()
        {
            Phone.Device.Room.RoomManagement.Instance.CanClick = false;
            UserView.UserPage.Instance.AddChidren(this);
            this.BackgroundColor = Common.ZigbeeColor.Current.GXCGrayBackgroundColor;
@@ -49,7 +55,7 @@
            btnMsg.UnSelectedImagePath = "Item/Message.png";
            this.AddChidren(btnMsg);
            //住宅名字
            var btnHouse = new NormalViewControl(300, 95, true);
            this.btnHouse = new NormalViewControl(300, 95, true);
            btnHouse.TextSize = 24;
            btnHouse.X = ControlCommonResourse.XXLeft;
            btnHouse.Y = Application.GetRealHeight(161);
@@ -88,6 +94,8 @@
            roomPageView.AddChidren(roomView3);
            roomView3.Init(room3);
            roomPageView.PageIndex = 1;
            //场景和功能的控件
            this.contrSwitch = new FrameLayout();
            contrSwitch.Y = roomPageView.Bottom + Application.GetRealHeight(52);
ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideHouseForm.cs
New file
@@ -0,0 +1,125 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter.Guide
{
    /// <summary>
    /// 住宅的引导界面
    /// </summary>
    public class GuideHouseForm : GuideCommonForm
    {
        #region ■ 变量声明___________________________
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 显示界面
        /// </summary>
        public override void ShowFrom()
        {
            base.ShowFrom();
            base.btnHouse.Text = string.Empty;
            //蒙上阴影
            var frameback = new FrameLayout();
            frameback.BackgroundColor = 0xad000000;
            this.AddChidren(frameback);
            //我的家
            var btnHome = new NormalViewControl(100, 100, true);
            btnHome.TextSize = 24;
            btnHome.TextID = R.MyInternationalizationString.uMyHome;
            btnHome.IsBold = true;
            btnHome.Width = btnHome.GetRealWidthByText() + Application.GetRealWidth(20);
            btnHome.BackgroundColor = UserCenterColor.Current.White;
            btnHome.Radius = (uint)Application.GetRealHeight(100) / 2;
            btnHome.TextAlignment = TextAlignment.Center;
            btnHome.Y = Application.GetRealHeight(155);
            btnHome.X = Application.GetRealWidth(35);
            frameback.AddChidren(btnHome);
            //箭头
            var btnArrows = new PicViewControl(153, 102);
            btnArrows.UnSelectedImagePath = "Guide/Arrows2.png";
            btnArrows.X = Application.GetRealWidth(500);
            btnArrows.Y = Application.GetRealHeight(155);
            frameback.AddChidren(btnArrows);
            //长按“我的家”{0}可切换我的住宅
            var btnMsg = new NormalViewControl(387, 150, true);
            btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uLongClickMyHomeCanChangedHome).Replace("{0}", "\r\n");
            btnMsg.TextAlignment = TextAlignment.Center;
            btnMsg.TextColor = UserCenterColor.Current.White;
            btnMsg.TextSize = 18;
            btnMsg.IsBold = true;
            btnMsg.IsMoreLines = true;
            btnMsg.X = Application.GetRealWidth(576);
            btnMsg.Y = Application.GetRealHeight(317);
            frameback.AddChidren(btnMsg);
            var frameHomeBack = new FrameLayout();
            frameHomeBack.Width = Application.GetRealWidth(449);
            frameHomeBack.Height = Application.GetRealHeight(475);
            frameHomeBack.X = Application.GetRealWidth(35);
            frameHomeBack.Y = Application.GetRealHeight(255);
            frameHomeBack.BackgroundImagePath = "Item/SelectHouse.png";
            frameback.AddChidren(frameHomeBack);
            //选择住宅
            var rowSelect = new FrameRowControl();
            rowSelect.Y = Application.GetRealHeight(23);
            rowSelect.Height = Application.GetRealHeight(150);
            rowSelect.UseClickStatu = false;
            frameHomeBack.AddChidren(rowSelect);
            var btnSelect = rowSelect.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.ChangeHome), 350);
            btnSelect.IsBold = true;
            btnSelect.X = Application.GetRealWidth(81);
            btnSelect.Y = Application.GetRealHeight(12);
            //我的家
            var rowFrame1 = new FrameRowControl();
            rowFrame1.UseClickStatu = false;
            rowFrame1.Y = rowSelect.Bottom;
            rowFrame1.Height = Application.GetRealHeight(150);
            frameHomeBack.AddChidren(rowFrame1);
            //图标
            var btnIcon1 = rowFrame1.AddLeftIcon(81);
            btnIcon1.UnSelectedImagePath = "Item/HouseSelected.png";
            //显示文字
            var btnText1 = rowFrame1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uMyHome), 300);
            btnText1.IsBold = true;
            btnText1.X = Application.GetRealWidth(173);
            //底线
            var btnLine1 = rowFrame1.AddBottomLine();
            btnLine1.X = Application.GetRealWidth(81);
            //办公室
            var rowFrame2 = new FrameRowControl();
            rowFrame2.UseClickStatu = false;
            rowFrame2.Y = rowFrame1.Bottom;
            rowFrame2.Height = Application.GetRealHeight(150);
            frameHomeBack.AddChidren(rowFrame2);
            //图标
            var btnIcon2 = rowFrame2.AddLeftIcon(81);
            btnIcon2.UnSelectedImagePath = "Guide/WorkRoomIcon.png";
            //显示文字
            var btnText2 = rowFrame2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uWorkRoom), 300);
            btnText2.X = Application.GetRealWidth(173);
            btnText2.TextColor = UserCenterColor.Current.TextGrayColor1;
            //我知道了
            var btnKnwon = this.AddIKnwonButton();
            btnKnwon.ButtonClickEvent += (sender, e) =>
            {
                this.RemoveFromParent();
                var form = new GuideRoomForm();
                form.ShowFrom();
            };
        }
        #endregion
    }
}
ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideRoomForm.cs
File was renamed from ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideMainForm.cs
@@ -5,9 +5,9 @@
namespace Shared.Phone.UserCenter.Guide
{
    /// <summary>
    /// 引导界面的主界面
    /// 房间引导界面
    /// </summary>
    public class GuideMainForm : GuideCommonForm
    public class GuideRoomForm : GuideCommonForm
    {
        #region ■ 变量声明___________________________
@@ -21,8 +21,6 @@
        public override void ShowFrom()
        {
            base.ShowFrom();
            Phone.Device.Room.RoomManagement.Instance.CanClick = false;
            var frameTop = new FrameLayout();
            frameTop.Height = Application.GetRealHeight(279);
ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs
@@ -149,7 +149,7 @@
            if (resultValue == null)
            {
                //出现未知错误,数据丢失
                string msg = Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost);
                string msg = Language.StringByID(R.MyInternationalizationString.uUnKnownError);
                this.ShowMassage(ShowMsgType.Tip, msg);
                return;
            }
@@ -166,7 +166,7 @@
            if (memberInfoRes == null)
            {
                //出现未知错误,数据丢失
                string msg = Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost);
                string msg = Language.StringByID(R.MyInternationalizationString.uUnKnownError);
                this.ShowMassage(ShowMsgType.Tip, msg);
                return;
            }
ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs
@@ -67,7 +67,12 @@
            btnPic.Radius = (uint)Application.GetRealHeight(17);
            btnPic.ImagePath = "RoomIcon/0.JPG";
            framePic.AddChidren(btnPic);
            btnPic.MouseUpEventHandler += (sender, e) =>
            //在上面放一层阴影
            var btnPicBack = new FrameLayout();
            btnPicBack.Radius = (uint)Application.GetRealHeight(17);
            btnPicBack.BackgroundColor = 0x26000000;
            framePic.AddChidren(btnPicBack);
            btnPicBack.MouseUpEventHandler += (sender, e) =>
            {
                //房间图片选择
                this.RoomPictrueSelect(btnPic);
ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
@@ -79,7 +79,12 @@
            {
                btnPic.ImageBytes = Common.Global.ReadFileByHomeId(this.editorRoom.BackgroundImage);
            }
            btnPic.MouseUpEventHandler += (sender, e) =>
            //在上面放一层阴影
            var btnPicBack = new FrameLayout();
            btnPicBack.Radius = (uint)Application.GetRealHeight(17);
            btnPicBack.BackgroundColor = 0x26000000;
            framePic.AddChidren(btnPicBack);
            btnPicBack.MouseUpEventHandler += (sender, e) =>
            {
                //房间图片选择
                this.RoomPictrueSelect(btnPic);
ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs
@@ -107,31 +107,10 @@
                foreach (var data in lookRoom.SceneUIList)
                {
                    var frameContr = new FrameLayout();
                    frameContr.Height = Application.GetRealHeight(470);
                    frameContr.Gravity = Gravity.CenterHorizontal;
                    //场景控件
                    var frameContr = new ScenePictrueControl();
                    listView.AddChidrenFrame(frameContr);
                    //场景图片
                    var btnPic = new ImageView();
                    btnPic.X = Application.GetRealWidth(179);
                    btnPic.Width = Application.GetRealWidth(844);
                    btnPic.Height = Application.GetRealHeight(420);
                    btnPic.ImagePath = data.IconPath;
                    btnPic.Radius = (uint)Application.GetRealHeight(17);
                    frameContr.AddChidren(btnPic);
                    var btnName = new NormalViewControl(251, 282, true);
                    btnName.IsMoreLines = true;
                    btnName.X = ControlCommonResourse.XXLeft;
                    btnName.Y = Application.GetRealHeight(58);
                    btnName.BackgroundColor = 0xff333333;
                    btnName.RadiusEx = 17;
                    btnName.Text = data.Name;
                    btnName.TextSize = 15;
                    btnName.TextColor = UserCenterColor.Current.White;
                    btnName.TextAlignment = TextAlignment.Center;
                    frameContr.AddChidren(btnName);
                    frameContr.InitControl(data);
                }
            });
        }
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs
@@ -196,31 +196,9 @@
                foreach (var data in listScene)
                {
                    //场景图片
                    var frameContr = new FrameLayoutControl();
                    frameContr.UseClickStatu = false;
                    frameContr.Height = Application.GetRealHeight(470);
                    var frameContr = new ScenePictrueControl();
                    listView.AddChidrenFrame(frameContr);
                    //场景图片
                    var btnPic = new ImageView();
                    btnPic.X = Application.GetRealWidth(179);
                    btnPic.Width = Application.GetRealWidth(844);
                    btnPic.Height = Application.GetRealHeight(420);
                    btnPic.ImagePath = data.IconPath;
                    btnPic.Radius = (uint)Application.GetRealHeight(17);
                    frameContr.AddChidren(btnPic, ChidrenBindMode.BindEventOnly);
                    var btnName = new NormalViewControl(251, 282, true);
                    btnName.IsMoreLines = true;
                    btnName.X = ControlCommonResourse.XXLeft;
                    btnName.Y = Application.GetRealHeight(58);
                    btnName.BackgroundColor = 0xff333333;
                    btnName.RadiusEx = 17;
                    btnName.Text = data.Name;
                    btnName.TextSize = 15;
                    btnName.TextColor = UserCenterColor.Current.White;
                    btnName.TextAlignment = TextAlignment.Center;
                    frameContr.AddChidren(btnName);
                    frameContr.InitControl(data);
                    var btnSelect = new IconViewControl(58);
                    btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
@@ -178,32 +178,10 @@
                foreach (var data in listScene)
                {
                    //场景图片
                    var frameContr = new FrameLayoutControl();
                    frameContr.UseClickStatu = false;
                    frameContr.Height = Application.GetRealHeight(470);
                    //场景控件
                    var frameContr = new ScenePictrueControl();
                    listView.AddChidrenFrame(frameContr);
                    //场景图片
                    var btnPic = new ImageView();
                    btnPic.X = Application.GetRealWidth(179);
                    btnPic.Width = Application.GetRealWidth(844);
                    btnPic.Height = Application.GetRealHeight(420);
                    btnPic.ImagePath = data.IconPath;
                    btnPic.Radius = (uint)Application.GetRealHeight(17);
                    frameContr.AddChidren(btnPic);
                    var btnName = new NormalViewControl(251, 282, true);
                    btnName.IsMoreLines = true;
                    btnName.X = ControlCommonResourse.XXLeft;
                    btnName.Y = Application.GetRealHeight(58);
                    btnName.BackgroundColor = 0xff333333;
                    btnName.RadiusEx = 17;
                    btnName.Text = data.Name;
                    btnName.TextSize = 15;
                    btnName.TextColor = UserCenterColor.Current.White;
                    btnName.TextAlignment = TextAlignment.Center;
                    frameContr.AddChidren(btnName);
                    frameContr.InitControl(data);
                    var btnSelect = new IconViewControl(58);
                    btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
old mode 100644 new mode 100755
@@ -323,7 +323,7 @@
                                                    //此属性表明当前亮度程度
                                                    dimmableLight.Level = attriButeList[0].AttriButeData;
                                                    dimmableLight.LastDateTime = DateTime.Now;
                                                    //rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
                                                    //(rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
                                                    (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                                    break;
                                            }
ZigbeeApp/Shared/R.cs
@@ -264,7 +264,7 @@
        public readonly static int AfterFiftySeconds = 178;
        //门锁验证密码失败
        public readonly static int OperrateFailed = 179;
        public readonly static int RemoteUnlockBindSucessTip1 = 180;
        public readonly static int RemoteUnlockBindSucessTip = 180;
        public readonly static int RemoteUnlockBindSucessTip2 = 181;
        public readonly static int CLose = 182;
        public readonly static int Opening = 183;
@@ -310,7 +310,7 @@
        public readonly static int SureClearKeyModeAndTargets = 223;
        public readonly static int BindDeviceTargetIsEmpty = 224;
        public readonly static int PanelBindTargets = 225;
        public readonly static int ClearAllTargeta1 = 226;
        public readonly static int ClearAllTargets = 226;
        public readonly static int ClearAllTargeta2 = 227;
        public readonly static int DoorlockConfirm = 228;
        public readonly static int DistributeSuccess = 229;
@@ -379,7 +379,7 @@
        public readonly static int Sunrisesunset = 5134;
        public readonly static int cycle = 5135;
        public readonly static int completeNext = 5136;
        public readonly static int Selectedtimetype= 5137;
        public readonly static int Selectedtimetype = 5137;
        public readonly static int Timecondition = 5138;
        public readonly static int condition = 5139;
        public readonly static int pushset = 5140;
@@ -590,6 +590,7 @@
        public readonly static int addlighting = 5375;
        public readonly static int application = 5376;
        public readonly static int automationaddtext = 5377;
        public readonly static int tiptextnull = 5378;
        #region 登录注册
        /// <summary>
@@ -3400,10 +3401,6 @@
        /// 确定移除选中的设备?
        /// </summary>
        public const int uConfirmRemoveSelectDeviceMsg = 15578;
        /// <summary>
        /// 出现未知错误,数据丢失
        /// </summary>
        public const int uUnknownErrorAndDataLost = 15579;
        /// <summary>
        /// 共享数据同步中
        /// </summary>
@@ -4321,9 +4318,9 @@
        /// </summary>
        public const int uCommitCurtainDownLimitMsg = 15819;
        /// <summary>
        /// 如果满足
        /// 如果满足低亮度环境
        /// </summary>
        public const int uIfSatisfied = 15820;
        public const int uIfTheLowBrightnessEnvironmentIsSatisfied = 15820;
        /// <summary>
        /// 就会
        /// </summary>
@@ -4345,9 +4342,9 @@
        /// </summary>
        public const int uSecond = 15825;
        /// <summary>
        /// 照明等级
        /// 照度值
        /// </summary>
        public const int uLightLevel = 15826;
        public const int uIlluminationValue = 15826;
        /// <summary>
        /// 低
        /// </summary>
@@ -5232,6 +5229,51 @@
        /// 亮度
        /// </summary>
        public const int uBrightness = 16049;
        /// <summary>
        /// 获取传感器亮度值失败
        /// </summary>
        public const int uGetPirSensorLuxFail = 16050;
        /// <summary>
        /// 当前亮度值
        /// </summary>
        public const int uNowBrightnessValue = 16051;
        /// <summary>
        /// 暗
        /// </summary>
        public const int uDark = 16052;
        /// <summary>
        /// 亮
        /// </summary>
        public const int uBright = 16053;
        /// <summary>
        /// 在室内条件下,黄昏照度值约为10lux,阴天照度值约为5~50lux,请根据实际需要进行调节
        /// </summary>
        public const int uPirBrightnessTipMsg = 16054;
        /// <summary>
        /// 震动反馈
        /// </summary>
        public const int uVibrationFeedback = 16055;
        /// <summary>
        /// 获取震动反馈配置信息失败
        /// </summary>
        public const int uGetVibrationFeedbackSettionFail = 16056;
        /// <summary>
        /// 设置震动反馈配置信息失败
        /// </summary>
        public const int uSetVibrationFeedbackSettionFail = 16057;
        /// <summary>
        /// 我的家
        /// </summary>
        public const int uMyHome = 16058;
        /// <summary>
        /// 长按“我的家”{0}可切换我的住宅
        /// </summary>
        public const int uLongClickMyHomeCanChangedHome = 16059;
        /// <summary>
        /// 办公室
        /// </summary>
        public const int uWorkRoom = 16060;
        //★★★★下面这些是接口的返回信息翻译,从18000开始★★★★
        /// <summary>
ZigbeeApp/Shared/Shared.projitems
@@ -136,6 +136,7 @@
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\ListViewLayoutControls\VerticalListRefreshControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\LoadingControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\MessageManagementControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\SceneControls\ScenePictrueControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\BottomMenuSelectForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\NumberPswInputDialogForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\PswGestureSecirityForm.cs" />
@@ -215,7 +216,8 @@
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideCommonForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideForm1.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideForm2.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideMainForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideHouseForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideRoomForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlAutoBackupForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlBackupListForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HideOption\HideOptionGatewayListForm.cs" />