| | |
| | | <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.5c86e4357d63" /> |
| | | <MonoDevelop.Ide.ItemProperties.GateWay.Ios PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.a8099274022ed2dc56ddf73bdd3a308ad9575ec5" /> |
| | | <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.5c86e4357d63" /> |
| | | <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs"> |
| | | <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs"> |
| | | <Files> |
| | | <File FileName="Shared/Phone/ZigBee/Device/BindObj.cs" Line="316" Column="9" /> |
| | | <File FileName="Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs" Line="597" Column="63" /> |
| | | <File FileName="Shared/Phone/UserCenter/Device/Bind/BindInfo.cs" Line="92" Column="64" /> |
| | | <File FileName="Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs" Line="119" Column="63" /> |
| | | <File FileName="Shared/Phone/ZigBee/Device/DoorLock.cs" Line="1" Column="1" /> |
| | | <File FileName="Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs" Line="1" Column="1" /> |
| | | <File FileName="Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs" Line="1" Column="1" /> |
| | | <File FileName="GateWay.Droid/Assets/Language.ini" Line="75" Column="8" /> |
| | | <File FileName="Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs" Line="1" Column="1" /> |
| | | </Files> |
| | | <Pads> |
| | | <Pad Id="ProjectPad"> |
| | | <State name="__root__"> |
| | | <Node name="GateWay" expanded="True"> |
| | | <Node name="GateWay.Droid" expanded="True" /> |
| | | <Node name="GateWay.Droid" expanded="True"> |
| | | <Node name="Assets" expanded="True" /> |
| | | </Node> |
| | | <Node name="Shared" expanded="True"> |
| | | <Node name="Phone" expanded="True"> |
| | | <Node name="UserCenter" expanded="True"> |
| | | <Node name="CommonBase" expanded="True" /> |
| | | <Node name="Device" expanded="True"> |
| | | <Node name="Bind" expanded="True"> |
| | | <Node name="BindTargetsPage.cs" selected="True" /> |
| | | </Node> |
| | | <Node name="CommonBase" expanded="True"> |
| | | <Node name="Common" expanded="True" /> |
| | | <Node name="Logic" expanded="True" /> |
| | | </Node> |
| | | <Node name="DoorLock" expanded="True" /> |
| | | <Node name="Device" expanded="True"> |
| | | <Node name="Bind" expanded="True" /> |
| | | </Node> |
| | | <Node name="DoorLock" expanded="True"> |
| | | <Node name="EntryStatusPage.cs" selected="True" /> |
| | | </Node> |
| | | </Node> |
| | | <Node name="ZigBee" expanded="True"> |
| | | <Node name="Device" expanded="True" /> |
| | |
| | | </Node> |
| | | </State> |
| | | </Pad> |
| | | <Pad Id="MonoDevelop.Debugger.WatchPad"> |
| | | <State> |
| | | <Value>curAccountObj.SubAccountDistributedMark</Value> |
| | | <Value>curDoorLockUser.ConnectedAccount</Value> |
| | | </State> |
| | | </Pad> |
| | | </Pads> |
| | | </MonoDevelop.Ide.Workbench> |
| | | <MonoDevelop.Ide.DebuggingService.PinnedWatches /> |
| | |
| | | 17=请选择模式 |
| | | 18=未命名 |
| | | 19=模式类型 |
| | | 20=绑定设备
|
| | | 21=绑定场景
|
| | | 22=保存
|
| | | 23=移除成功
|
| | | 24=移除失败
|
| | | 25=模式配置失败
|
| | | 26=请先配置按键模式
|
| | | 28=删除
|
| | | 29=模式设置失败
|
| | | 30=失败,节点设备或场景不存在
|
| | | 31=绑定已经存在
|
| | | 32=绑定失败
|
| | | 33=失败,控制设备的绑定列表已满
|
| | | 20=绑定设备 |
| | | 21=绑定场景 |
| | | 22=保存 |
| | | 23=移除成功 |
| | | 24=移除失败 |
| | | 25=模式配置失败 |
| | | 26=请先配置按键模式 |
| | | 28=删除 |
| | | 29=模式设置失败 |
| | | 30=失败,节点设备或场景不存在 |
| | | 31=绑定已经存在 |
| | | 32=绑定失败 |
| | | 33=失败,控制设备的绑定列表已满 |
| | | 34=获取数据失败,请检查设备是否在线 |
| | | 35=当前已经存在场景,确定要替换吗?
|
| | | 36=切换场景失败,请检查设备是否在线
|
| | | 37=该按键已经存在场景,请删除当前场景后再重新绑定
|
| | | 38=按键中已存在设备,请删除当前被绑定的设备后才能添加场景。 (点确定按钮前往场景编辑,将当前的绑定设备添加到场景中)
|
| | | 35=当前已经存在场景,确定要替换吗? |
| | | 36=切换场景失败,请检查设备是否在线 |
| | | 37=该按键已经存在场景,请删除当前场景后再重新绑定 |
| | | 38=按键中已存在设备,请删除当前被绑定的设备后才能添加场景。 (点确定按钮前往场景编辑,将当前的绑定设备添加到场景中) |
| | | 39=该绑定已经存在 |
| | | 40=当前按键没有支持的模式 |
| | | 41=场景触发 |
| | |
| | | 66=请将IC卡放在感应区域上 |
| | | 67=录入状态 |
| | | 68=密码录入成功 |
| | | 69=密码备注: |
| | | 69=密码备注: |
| | | 70=配对客户 |
| | | 71=无 |
| | | 72=成员管理 |
| | |
| | | 609=开锁: |
| | | 610=报警: |
| | | 611=开锁通知 |
| | | 612=信息更改
|
| | | 612=信息更改 |
| | | 614=可选场景 |
| | | 615=场景中没有目标,控制失败 |
| | | 616=目标配置中 |
| | |
| | | 15224=编辑备份 |
| | | 15225=备注 |
| | | 15226=请输入备注名称 |
| | | 15227=恢复文件成功
|
| | | 15227=恢复文件成功 |
| | | 15246=报警目标设置 |
| | | 15247=当该防区报警时,以下目标将会响应 |
| | | 15248=推送通知 |
| | |
| | | 15976=确认删除全部消息? |
| | | 15977=确认标记全部消息为已读? |
| | | |
| | | ;★★★★下面这些是接口的返回信息翻译,从18000开始★★★★
|
| | | 18004=指定网关已经被绑定
|
| | | 18005=用户不存在于此住宅
|
| | | 18006=账号已经存在于此住宅
|
| | | 18009=操作权限不足
|
| | | 18010=被绑定的子账号不存在,请注册后再试
|
| | | 18011=操作的子账号不存在
|
| | | 18012=解除绑定的子账号不存在
|
| | | 18013=验证码发送失败
|
| | | 18015=账号已经存在
|
| | | 18016=验证码错误
|
| | | 18017=未发送验证码到此账号
|
| | | 18018=绑定的账号不存在
|
| | | 18019=指定账号已存在
|
| | | 18022=验证码发送失败
|
| | | 18024=指定账号不存在
|
| | | 18025=原密码和新密码相同
|
| | | 18026=原密码错误
|
| | | 18034=账号未注册
|
| | | 18035=请求参数错误
|
| | | 18036=无效的登录密匙
|
| | | 18039=当前编辑的住宅名称已经存在
|
| | | 18040=当前添加的住宅名称已经存在
|
| | | 18041=指定的住宅不存在
|
| | | 18042=当前备份不属于您当前的住宅
|
| | | 18043=备注名称已经存在,请更换后重试!
|
| | | 18044=指定的网关ID并不存在
|
| | | 18045=当前住宅下并没有绑定指定的网关
|
| | | 18046=当前住宅还存在着未解除绑定的网关
|
| | | 18047=共享数据不存在
|
| | | 18048=分享的目标账号不存在
|
| | | 18049=分享数据操作失败
|
| | | 18050=不能把自己添加为成员
|
| | | 18051=不能把主账号添加为成员
|
| | |
|
| | |
|
| | | ;★★★★下面这些是设备的入网步骤,从21000开始★★★★
|
| | | ;智能门锁入网操作指示
|
| | | 21000=唤醒门锁,输入“*”、“#”、“管理员密码”{0}按语音提示,输入“4”选择功能菜单{0}输入“1”,确认设备入网
|
| | | ;3路继电器入网操作指示
|
| | | 21001=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯熄灭则配网成功
|
| | | ;1路调光器小模块入网操作指示
|
| | | 21002=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯熄灭则配网成功
|
| | | ;二按键面板入网操作指示
|
| | | 21003=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯快闪3秒则配网成功
|
| | | ;三按键面板入网操作指示
|
| | | 21004=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯快闪3秒则配网成功
|
| | | ;四按键面板入网操作指示
|
| | | 21005=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯快闪3秒则配网成功
|
| | | ;Zigbee智能开合帘电机入网操作指示
|
| | | 21006=长按图示按键5秒以上,指示灯{0}变绿闪烁,则进入配网状态{0}绿灯熄灭则配网成功
|
| | | ;Zigbee智能管状电机入网操作指示
|
| | | 21007=长按图示按键5秒以上,指示灯{0}变绿闪烁,则进入配网状态{0}绿灯熄灭则配网成功
|
| | | ;红外传感器入网操作指示
|
| | | 21008=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功
|
| | | ;门窗传感器入网操作指示
|
| | | 21009=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功
|
| | | ;燃气传感器入网操作指示
|
| | | 21010=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功
|
| | | ;烟雾传感器入网操作指示
|
| | | 21011=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功
|
| | | ;水浸传感器入网操作指示
|
| | | 21012=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功
|
| | | ;空气开关入网操作指示
|
| | | 21013=按键从工作模式拨到配对模式,5秒后红灯{0}慢闪烁时拨回工作模式,{0}进入配网模式,红灯常亮则配网成功
|
| | | ;中继器入网操作指示
|
| | | 21014=长按图示按键5秒以上,指示灯变绿闪烁{0}进入配网状态,绿灯熄灭则入网成功
|
| | | ;空调入网操作指示
|
| | | 21015=长按图示按键5秒以上,指示灯{0}变绿闪烁,进入配网状态{0}绿灯每5秒闪烁一次则入网成功
|
| | |
|
| | |
|
| | | ;★★★★下面这些是模块ID的翻译名字,从30000开始★★★★
|
| | | 30000=紧急按钮
|
| | | 30001=燃气传感器
|
| | | ;★★★★下面这些是接口的返回信息翻译,从18000开始★★★★ |
| | | 18004=指定网关已经被绑定 |
| | | 18005=用户不存在于此住宅 |
| | | 18006=账号已经存在于此住宅 |
| | | 18009=操作权限不足 |
| | | 18010=被绑定的子账号不存在,请注册后再试 |
| | | 18011=操作的子账号不存在 |
| | | 18012=解除绑定的子账号不存在 |
| | | 18013=验证码发送失败 |
| | | 18015=账号已经存在 |
| | | 18016=验证码错误 |
| | | 18017=未发送验证码到此账号 |
| | | 18018=绑定的账号不存在 |
| | | 18019=指定账号已存在 |
| | | 18022=验证码发送失败 |
| | | 18024=指定账号不存在 |
| | | 18025=原密码和新密码相同 |
| | | 18026=原密码错误 |
| | | 18034=账号未注册 |
| | | 18035=请求参数错误 |
| | | 18036=无效的登录密匙 |
| | | 18039=当前编辑的住宅名称已经存在 |
| | | 18040=当前添加的住宅名称已经存在 |
| | | 18041=指定的住宅不存在 |
| | | 18042=当前备份不属于您当前的住宅 |
| | | 18043=备注名称已经存在,请更换后重试! |
| | | 18044=指定的网关ID并不存在 |
| | | 18045=当前住宅下并没有绑定指定的网关 |
| | | 18046=当前住宅还存在着未解除绑定的网关 |
| | | 18047=共享数据不存在 |
| | | 18048=分享的目标账号不存在 |
| | | 18049=分享数据操作失败 |
| | | 18050=不能把自己添加为成员 |
| | | 18051=不能把主账号添加为成员 |
| | | |
| | | |
| | | ;★★★★下面这些是设备的入网步骤,从21000开始★★★★ |
| | | ;智能门锁入网操作指示 |
| | | 21000=唤醒门锁,输入“*”、“#”、“管理员密码”{0}按语音提示,输入“4”选择功能菜单{0}输入“1”,确认设备入网 |
| | | ;3路继电器入网操作指示 |
| | | 21001=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯熄灭则配网成功 |
| | | ;1路调光器小模块入网操作指示 |
| | | 21002=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯熄灭则配网成功 |
| | | ;二按键面板入网操作指示 |
| | | 21003=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯快闪3秒则配网成功 |
| | | ;三按键面板入网操作指示 |
| | | 21004=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯快闪3秒则配网成功 |
| | | ;四按键面板入网操作指示 |
| | | 21005=长按图示按键5秒以上,指示灯变绿、闪烁{0}进入配网状态。绿灯快闪3秒则配网成功 |
| | | ;Zigbee智能开合帘电机入网操作指示 |
| | | 21006=长按图示按键5秒以上,指示灯{0}变绿闪烁,则进入配网状态{0}绿灯熄灭则配网成功 |
| | | ;Zigbee智能管状电机入网操作指示 |
| | | 21007=长按图示按键5秒以上,指示灯{0}变绿闪烁,则进入配网状态{0}绿灯熄灭则配网成功 |
| | | ;红外传感器入网操作指示 |
| | | 21008=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功 |
| | | ;门窗传感器入网操作指示 |
| | | 21009=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功 |
| | | ;燃气传感器入网操作指示 |
| | | 21010=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功 |
| | | ;烟雾传感器入网操作指示 |
| | | 21011=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功 |
| | | ;水浸传感器入网操作指示 |
| | | 21012=长按图示按键5秒以上,绿色快闪{0}进入配网状态,绿灯常亮则入网成功 |
| | | ;空气开关入网操作指示 |
| | | 21013=按键从工作模式拨到配对模式,5秒后红灯{0}慢闪烁时拨回工作模式,{0}进入配网模式,红灯常亮则配网成功 |
| | | ;中继器入网操作指示 |
| | | 21014=长按图示按键5秒以上,指示灯变绿闪烁{0}进入配网状态,绿灯熄灭则入网成功 |
| | | ;空调入网操作指示 |
| | | 21015=长按图示按键5秒以上,指示灯{0}变绿闪烁,进入配网状态{0}绿灯每5秒闪烁一次则入网成功 |
| | | |
| | | |
| | | ;★★★★下面这些是模块ID的翻译名字,从30000开始★★★★ |
| | | 30000=紧急按钮 |
| | | 30001=燃气传感器 |
| | | 30002=烟雾传感器 |
| | | 30003=水侵传感器 |
| | | 30004=钥匙扣 |
| | |
| | | CommonPage.Loading.Start(""); |
| | | var delResult = new DelDeviceBindResponseAllData(); |
| | | delResult = await currentKey.DelDeviceBindAsync(delDevice); |
| | | if (delResult != null) |
| | | { |
| | | if (delResult.removeBindResultResponseData != null) |
| | | { |
| | | if (delResult.removeBindResultResponseData.Result == 0) |
| | | { |
| | | currentKey.bindList.Remove(bindDevice); |
| | | RefreshList(); |
| | | return 0; |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); |
| | | } |
| | | } |
| | | else if (delResult.delDeviceBindResponseData != null) |
| | | { |
| | | foreach (var remTarget in delResult.delDeviceBindResponseData.RemoveBindList) |
| | | { |
| | | if (remTarget.Result == 0) |
| | | { |
| | | currentKey.bindList.Remove(bindDevice); |
| | | RefreshList(); |
| | | //如果是场景,用户删除清空当前到房间列表 |
| | | currentKey.RoomId = ""; |
| | | currentKey.ReSave(); |
| | | return 0; |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); |
| | | } |
| | | |
| | | //if (delResult.delDeviceBindResponseData?.RemoveBindList != null) |
| | | //if (delResult != null) |
| | | //{ |
| | | // foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList) |
| | | // if (delResult.removeBindResultResponseData != null) |
| | | // { |
| | | // switch (re.Result) |
| | | // if (delResult.removeBindResultResponseData.Result == 0) |
| | | // { |
| | | // case 0: |
| | | // currentKey.bindList.Remove(bindDevice); |
| | | // RefreshList(); |
| | | // return 0; |
| | | // } |
| | | // else |
| | | // { |
| | | // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); |
| | | // } |
| | | // } |
| | | // else if (delResult.delDeviceBindResponseData != null) |
| | | // { |
| | | // foreach (var remTarget in delResult.delDeviceBindResponseData.RemoveBindList) |
| | | // { |
| | | // if (remTarget.Result == 0) |
| | | // { |
| | | // currentKey.bindList.Remove(bindDevice); |
| | | // RefreshList(); |
| | | // //如果是场景,用户删除清空当前到房间列表 |
| | | // currentKey.RoomId = ""; |
| | | // currentKey.ReSave(); |
| | | // return 0; |
| | | // break; |
| | | // case 1: |
| | | // currentKey.bindList.Clear(); |
| | | // try |
| | | // { |
| | | // CommonPage.Loading.Start(""); |
| | | |
| | | // var getBindList = await currentKey.GetDeviceBindAsync(); |
| | | // var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; |
| | | // var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; |
| | | // if (getBindList != null) |
| | | // { |
| | | // if (getBindList.getAllBindResponseData != null) |
| | | // { |
| | | // foreach (var b in getBindList.getAllBindResponseData.BindList) |
| | | // { |
| | | // if (b.BindCluster == currentClusterID) |
| | | // { |
| | | // if (b.BindCluster == 6) |
| | | // { |
| | | |
| | | // if (b.BindType == 2) |
| | | // { |
| | | // bindSceneListTemp.Add(b); |
| | | // } |
| | | // else |
| | | // { |
| | | // bindDeviceListTemp.Add(b); |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // currentKey.bindList.Add(b); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // if (currentKey.panelMode == 1) |
| | | // { |
| | | // currentKey.bindList = bindSceneListTemp; |
| | | // } |
| | | // else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) |
| | | // { |
| | | // currentKey.bindList = bindDeviceListTemp; |
| | | // } |
| | | // } |
| | | // catch { } |
| | | // finally |
| | | // { |
| | | // RefreshList(); |
| | | // CommonPage.Loading.Hide(); |
| | | // } |
| | | // break; |
| | | // case 4: |
| | | // if (delResult.removeBindResultResponseData != null) |
| | | // { |
| | | // if (delResult.removeBindResultResponseData.Result == 0) |
| | | // { |
| | | // currentKey.bindList.Remove(bindDevice); |
| | | // RefreshList(); |
| | | // return 0; |
| | | // } |
| | | // else |
| | | // { |
| | | // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); |
| | | // } |
| | | // } |
| | | // break; |
| | | // default: |
| | | // break; |
| | | // } |
| | | // else |
| | | // { |
| | | // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); |
| | | // } |
| | | // } |
| | | // } |
| | | //} |
| | | //else |
| | | //{ |
| | | // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); |
| | | // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); |
| | | //} |
| | | |
| | | if (delResult != null && delResult.removeBindResultResponseData != null) |
| | | { |
| | | if (delResult.delDeviceBindResponseData?.RemoveBindList != null) |
| | | { |
| | | foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList) |
| | | { |
| | | switch (re.Result) |
| | | { |
| | | case 0: |
| | | currentKey.bindList.Remove(bindDevice); |
| | | RefreshList(); |
| | | //如果是场景,用户删除清空当前到房间列表 |
| | | currentKey.RoomId = ""; |
| | | currentKey.ReSave(); |
| | | return 0; |
| | | break; |
| | | case 1: |
| | | currentKey.bindList.Clear(); |
| | | try |
| | | { |
| | | CommonPage.Loading.Start(""); |
| | | |
| | | var getBindList = await currentKey.GetDeviceBindAsync(); |
| | | var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; |
| | | var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; |
| | | if (getBindList != null) |
| | | { |
| | | if (getBindList.getAllBindResponseData != null) |
| | | { |
| | | foreach (var b in getBindList.getAllBindResponseData.BindList) |
| | | { |
| | | if (b.BindCluster == currentClusterID) |
| | | { |
| | | if (b.BindCluster == 6) |
| | | { |
| | | |
| | | if (b.BindType == 2) |
| | | { |
| | | bindSceneListTemp.Add(b); |
| | | } |
| | | else |
| | | { |
| | | bindDeviceListTemp.Add(b); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | currentKey.bindList.Add(b); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (currentKey.panelMode == 1) |
| | | { |
| | | currentKey.bindList = bindSceneListTemp; |
| | | } |
| | | else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) |
| | | { |
| | | currentKey.bindList = bindDeviceListTemp; |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | RefreshList(); |
| | | CommonPage.Loading.Hide(); |
| | | } |
| | | break; |
| | | case 2: |
| | | if (delResult.removeBindResultResponseData != null) |
| | | { |
| | | if (delResult.removeBindResultResponseData.Result == 0) |
| | | { |
| | | currentKey.bindList.Remove(bindDevice); |
| | | RefreshList(); |
| | | return 0; |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); |
| | | } |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | |
| | | Height = Application.GetRealHeight(58), |
| | | Width = Application.GetRealWidth(101), |
| | | Text = Language.StringByID(R.MyInternationalizationString.Complete), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMOrange, |
| | | TextSize = 14, |
| | | }; |
| | | #endregion |
| | |
| | | var dialog = new Dialog { }; |
| | | var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, 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.X = Application.GetRealWidth(0); |
| | | doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); |
| | | doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); |
| | | doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock); |
| | |
| | | var dialog3 = new Dialog { }; |
| | | var doorDialog3 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog3, Language.StringByID(R.MyInternationalizationString.UnlockRequest)); |
| | | doorDialog3.Show(); |
| | | doorDialog3.dialogMidFraFrameLayout.Width = Application.GetRealWidth(415); |
| | | doorDialog3.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); |
| | | doorDialog3.dialogMidFraFrameLayout.X = Application.GetRealWidth(228); |
| | | 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.Confrim); |
| | | doorDialog3.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => |
| | |
| | | /// </summary> |
| | | public FrameLayout dialogMidFraFrameLayout = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(415), |
| | | Height = Application.GetRealHeight(58), |
| | | X = Application.GetRealWidth(190), |
| | | Y = Application.GetRealHeight(202), |
| | |
| | | public Button dialogMidText = new Button |
| | | { |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextSize = 14, |
| | | TextAlignment = TextAlignment.Center, |
| | | }; |
| | | |
| | | /// <summary> |
old mode 100755
new mode 100644
| | |
| | | var btnLine = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(965), |
| | | Height = Application.GetRealHeight(5), |
| | | Height = 1, |
| | | X = Application.GetRealWidth(58), |
| | | Y = Application.GetRealHeight(81 + 127), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | |
| | | Width = Application.GetRealWidth(222), |
| | | Height = Application.GetRealHeight(58), |
| | | Y = Application.GetRealHeight(35), |
| | | Text = Language.StringByID(R.MyInternationalizationString.MatchPerson), |
| | | Text = Language.StringByID(R.MyInternationalizationString.MatchPerson) + ":", |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 14, |
| | |
| | | }; |
| | | personRemarkRemarkFrameLayout.AddChidren(btnMatchPersonContent); |
| | | |
| | | var btnLine1 = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(965), |
| | | Height = 1, |
| | | X = Application.GetRealWidth(58), |
| | | Y = Application.GetRealHeight(81 + 127 + 12 + 127), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | }; |
| | | bottomFrameLayout.AddChidren(btnLine1); |
| | | |
| | | var completeBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(86), |
| | |
| | | if (i == 0) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(220); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm); |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233); |
| | | btnNext.Text = doorLock.DeviceName; |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm) + ":"; |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58 - 20); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233 + 20); |
| | | var btnDeviceNameEditText = new EditText() |
| | | { |
| | | X = Application.GetRealWidth(46), |
| | |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(481); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongModel) + ":"; |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233); |
| | | |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58 - 20); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(253); |
| | | btnNext.TextAlignment = TextAlignment.CenterLeft; |
| | | btnNext.Height = Application.GetRealHeight(58); |
| | | btnNext.Text = doorLock.DeviceName; |
| | |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime); |
| | | btnNextFrameLayout.Y = btnName.Y; |
| | | btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; |
| | | btnLine.Visible = false; |
| | | btnLine.Visible = true; |
| | | btnLine.Y = Application.GetRealHeight(992); |
| | | } |
| | | int currentIndex = i; |
old mode 100755
new mode 100644
| | |
| | | if (i == 0) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(220); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm); |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233); |
| | | btnNext.Text = doorLock.DeviceName; |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm) + ":"; |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58 - 20); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233 + 20); |
| | | var btnDeviceNameEditText = new EditText() |
| | | { |
| | | X = Application.GetRealWidth(46), |
| | |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(481); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongModel) + ":"; |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233); |
| | | |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58 - 20); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(253); |
| | | btnNext.TextAlignment = TextAlignment.CenterLeft; |
| | | btnNext.Height = Application.GetRealHeight(58); |
| | | btnNext.Text = doorLock.DeviceName; |
| | |
| | | } |
| | | } |
| | | }; |
| | | btnRightFrameLayout.MouseUpEventHandler += eHandler; |
| | | btnRight.MouseUpEventHandler += eHandler; |
| | | RowView.MouseUpEventHandler += eHandler; |
| | | btnText.MouseUpEventHandler += eHandler; |
| | | if (i == 0) |
| | | { |
| | | btnRightFrameLayout.MouseUpEventHandler += eHandler; |
| | | btnRight.MouseUpEventHandler += eHandler; |
| | | RowView.MouseUpEventHandler += eHandler; |
| | | btnText.MouseUpEventHandler += eHandler; |
| | | } |
| | | else if (i == 1) |
| | | { |
| | | btnRightFrameLayout.MouseUpEventHandler += eHandler; |
| | | btnRight.MouseUpEventHandler += eHandler; |
| | | } |
| | | else if (i == 2) |
| | | { |
| | | btnRightFrameLayout.MouseUpEventHandler += eHandler; |
| | | btnRight.MouseUpEventHandler += eHandler; |
| | | } |
| | | } |
| | | } |
| | | |
old mode 100755
new mode 100644
| | |
| | | Height = Application.GetRealHeight(58), |
| | | Width = Application.GetRealWidth(101), |
| | | Text = Language.StringByID(R.MyInternationalizationString.Complete), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMOrange, |
| | | TextSize = 14, |
| | | }; |
| | | this.bottomRadiusFrameLayout.AddChidren(btnOk); |
| | |
| | | Height = Application.GetRealHeight(58), |
| | | Width = Application.GetRealWidth(101), |
| | | Text = Language.StringByID(R.MyInternationalizationString.Complete), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMOrange, |
| | | TextSize = 14, |
| | | }; |
| | | this.bottomRadiusFrameLayout.AddChidren(btnOk); |
| | |
| | | } |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | | ZigBee.Device.DoorLock doorLock; |
| | | VerticalRefreshLayout bodyView; |
| | | ZigBee.Device.DoorLock doorLock;//当前门锁 |
| | | VerticalRefreshLayout bodyView;//刷新View |
| | | Button currentMethod;// 当前选择的方式 |
| | | Shared.Phone.UserCenter.MemberInfoRes curAccountObj; |
| | | Shared.Phone.UserCenter.MemberInfoRes curAccountObj;//当前账户 |
| | | Button entryStatusPic; |
| | | Button btnPicTip; |
| | | Button btnPicTip1; |
| | | bool isSecondDel; |
| | | FrameLayout blankFrameLayout; |
| | | bool isSecondDel;//是否二次删除 |
| | | FrameLayout blankFrameLayout;//空数据显示布局 |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 读取门锁存储的最新数据 |
| | | /// </summary> |
| | | void ReadDoorLockUserInfo() |
| | | { |
| | | System.Threading.Tasks.Task.Run(async () => |
| | |
| | | BlankPicUI(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空数据UI显示 |
| | | /// </summary> |
| | | void BlankPicUI() |
| | | { |
| | | blankFrameLayout = new FrameLayout |
| | |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | }; |
| | | bodyView.AddChidren(frameLayoutRow); |
| | | |
| | | int i = 0; |
| | | foreach (var curUserId in curAccountDoorLockUserList.Keys) |
| | | { |
| | |
| | | #endregion |
| | | i++; |
| | | } |
| | | |
| | | //遮挡RowLayout多余的线条 |
| | | for (int j = 0; j < curAccountDoorLockUserList.Keys.Count; j++) |
| | | { |
| | | var frameLayoutRowLineHide = new FrameLayout() |
| | | { |
| | | Height = 10, |
| | | Width = Application.GetRealWidth(173), |
| | | X = Application.GetRealWidth(58), |
| | | Y = (j + 1) * Application.GetRealHeight(145), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | }; |
| | | frameLayoutRow.AddChidren(frameLayoutRowLineHide); |
| | | } |
| | | frameLayoutRow.Height = i * Application.GetRealHeight(150); |
| | | } |
| | | } |
| | |
| | | var rowFrameLayout = new RowLayout() |
| | | { |
| | | Height = Application.GetRealHeight(150), |
| | | LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | X = Application.GetRealWidth(81), |
| | | }; |
| | | sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout); |
| | | |
| | |
| | | { |
| | | Width = Application.GetRealWidth(81), |
| | | Height = Application.GetRealHeight(81), |
| | | X = Application.GetRealWidth(81), |
| | | Y = Application.GetRealHeight(55), |
| | | }; |
| | | rowFrameLayout.AddChidren(btnAllMethod); |
| | |
| | | { |
| | | Width = Application.GetRealWidth(311), |
| | | Height = Application.GetRealHeight(58), |
| | | X = Application.GetRealWidth(173), |
| | | X = Application.GetRealWidth(92), |
| | | Y = Application.GetRealHeight(69), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextSize = 14, |
old mode 100755
new mode 100644
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Android.Views; |
| | | using Shared.Common; |
| | | using ZigBee.Device; |
| | | namespace Shared.Phone.UserCenter.DoorLock |
| | |
| | | var line2 = new Button() |
| | | { |
| | | Y = rowFrameLayout.Height - 1, |
| | | X = Application.GetRealWidth(58), |
| | | X = Application.GetRealWidth(176), |
| | | Width = Application.GetRealWidth(965), |
| | | Height = 1, |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | |
| | | |
| | | var btnMatchUser = new Button |
| | | { |
| | | X = Application.GetRealWidth(446), |
| | | X = Application.GetRealWidth(159), |
| | | Y = Application.GetRealHeight(35), |
| | | Height = Application.GetRealHeight(63), |
| | | Width = Application.GetRealWidth(284), |
| | | Width = Application.GetRealWidth(762), |
| | | Text = Language.StringByID(R.MyInternationalizationString.MatchPerson), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, |
| | | TextSize = 16, |
| | | TextAlignment = TextAlignment.Center, |
| | | }; |
| | | matchUsersFrameLayout.AddChidren(btnMatchUser); |
| | | |
| | | var btnFinish = new Button |
| | | { |
| | | X = Application.GetRealWidth(919), |
| | | X = Application.GetRealWidth(921), |
| | | Y = Application.GetRealHeight(40), |
| | | Height = Application.GetRealHeight(58), |
| | | Width = Application.GetRealWidth(101), |
| | | Width = Application.GetRealWidth(101 + 81), |
| | | Text = Language.StringByID(R.MyInternationalizationString.Complete), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMOrange, |
| | | TextSize = 14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | matchUsersFrameLayout.AddChidren(btnFinish); |
| | | |
| | | var btnTopLine = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(5), |
| | | Height = 1, |
| | | Y = Application.GetRealHeight(138), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | }; |
| | | bottomFrameLayout2.AddChidren(btnTopLine); |
| | | |
| | |
| | | var rowFrameLayout = new RowLayout() |
| | | { |
| | | Height = Application.GetRealHeight(150), |
| | | LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | X = Application.GetRealWidth(81), |
| | | }; |
| | | sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout); |
| | | |
| | |
| | | { |
| | | Width = Application.GetRealWidth(81), |
| | | Height = Application.GetRealHeight(81), |
| | | X = Application.GetRealWidth(81), |
| | | Y = Application.GetRealHeight(55), |
| | | }; |
| | | rowFrameLayout.AddChidren(btnAllMethod); |
| | |
| | | { |
| | | Width = Application.GetRealWidth(311), |
| | | Height = Application.GetRealHeight(58), |
| | | X = Application.GetRealWidth(173), |
| | | X = Application.GetRealWidth(92), |
| | | Y = Application.GetRealHeight(69), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextSize = 14, |
old mode 100755
new mode 100644
| | |
| | | Height = Application.GetRealHeight(1238), |
| | | Width = Application.GetRealWidth(965), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | Radius = 6, |
| | | }; |
| | | this.midFrameLayout.AddChidren(midTopFrameLayout); |
| | | |
| | |
| | | }; |
| | | closeFrameLayout.AddChidren(btnDoorClosePic); |
| | | |
| | | var btnCurrentTopFrameLayout = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | Width = Application.GetRealWidth(965), |
| | | BackgroundColor = ZigbeeColor.Current.XMBlack, |
| | | Y = Application.GetRealHeight(1100), |
| | | }; |
| | | midTopFrameLayout.AddChidren(btnCurrentTopFrameLayout); |
| | | |
| | | var btnCurrentFrameLayout = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(965), |
| | | Height = Application.GetRealHeight(138), |
| | | Y = Application.GetRealHeight(1100), |
| | | BackgroundColor = ZigbeeColor.Current.XMBlack, |
| | | Radius = 6, |
| | | }; |
| | | midTopFrameLayout.AddChidren(btnCurrentFrameLayout); |
| | | |
| | |
| | | #endregion |
| | | |
| | | EventHandler<MouseEventArgs> hander1 = async (sender, e) => |
| | | { |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result == false) |
| | | { |
| | | var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result1 == true) |
| | | { |
| | | RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); |
| | | devicNameSecAction += (deviceRename) => |
| | | { |
| | | openFrameLayout.Enable = false; |
| | | btnDoorOpenPic.Enable = false; |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result == false) |
| | | { |
| | | var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result1 == true) |
| | | { |
| | | RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); |
| | | devicNameSecAction += (deviceRename) => |
| | | { |
| | | if (!string.IsNullOrEmpty(deviceRename)) |
| | | { |
| | |
| | | deviceUI.CommonDevice.ReSave(); |
| | | } |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); |
| | | devicNameSecAction += (deviceRename) => |
| | | openFrameLayout.Enable = true; |
| | | btnDoorOpenPic.Enable = true; |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance); |
| | | openFrameLayout.Enable = true; |
| | | btnDoorOpenPic.Enable = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance); |
| | | openFrameLayout.Enable = true; |
| | | btnDoorOpenPic.Enable = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); |
| | | devicNameSecAction += (deviceRename) => |
| | | { |
| | | if (!string.IsNullOrEmpty(deviceRename)) |
| | | { |
| | |
| | | deviceUI.CommonDevice.ReSave(); |
| | | } |
| | | }; |
| | | } |
| | | }; |
| | | openFrameLayout.Enable = true; |
| | | btnDoorOpenPic.Enable = true; |
| | | } |
| | | }; |
| | | openFrameLayout.MouseUpEventHandler += hander1; |
| | | btnDoorOpenPic.MouseUpEventHandler += hander1; |
| | | EventHandler<MouseEventArgs> hander2 = (sender, e) => |
| | |
| | | /// <summary> |
| | | /// 解除绑定 |
| | | /// </summary> |
| | | public async System.Threading.Tasks.Task<DelDeviceBindResponseAllData> DelDeviceBindAsync(DelDeviceBindData delDeviceBindData) |
| | | { |
| | | return await System.Threading.Tasks.Task.Run(async () => |
| | | { |
| | | DelDeviceBindResponseAllData responseData = null; |
| | | var mainGateway = ZbGateway.MainGateWay; |
| | | if (mainGateway == null) |
| | | { |
| | | responseData = new DelDeviceBindResponseAllData { errorMessageBase = "当前没有主网关" }; |
| | | } |
| | | |
| | | Action<string, string> action = (topic, message) => |
| | | { |
| | | var gatewayID = topic.Split('/')[0]; |
| | | var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); |
| | | |
| | | if (topic == gatewayID + "/" + "Error_Respon") |
| | | { |
| | | var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; |
| | | var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); |
| | | |
| | | if (temp == null) |
| | | { |
| | | responseData = new DelDeviceBindResponseAllData { errorMessageBase = "网关错误回复,且数据是空" }; |
| | | } |
| | | else |
| | | { |
| | | responseData = new DelDeviceBindResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) }; |
| | | } |
| | | } |
| | | //场景移除 |
| | | if (topic == gatewayID + "/" + "Bind/RemoveBind_Respon") |
| | | { |
| | | var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<DelDeviceBindResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (tempData == null) |
| | | { |
| | | responseData = new DelDeviceBindResponseAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | responseData = new DelDeviceBindResponseAllData { delDeviceBindResponseData = tempData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | } |
| | | } |
| | | //设备移除 |
| | | if (topic == gatewayID + "/" + "Bind/RemoveBindResult") |
| | | { |
| | | var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; |
| | | var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveBindResultResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (tempData != null) |
| | | { |
| | | responseData = new DelDeviceBindResponseAllData { removeBindResultResponseData = tempData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | } |
| | | } |
| | | }; |
| | | mainGateway.Actions += action; |
| | | System.Console.WriteLine("DeviceBind/DelBind_Actions 启动" + "_" + System.DateTime.Now.ToString()); |
| | | try |
| | | { |
| | | if (delDeviceBindData != null) |
| | | { |
| | | var jObject = new JObject { { "DeviceAddr", delDeviceBindData.DeviceAddr }, { "Epoint", delDeviceBindData.Epoint }, { "Cluster_ID", 0 }, { "Command", 5003 } }; |
| | | var removeBindList = new JArray { }; |
| | | foreach (var removeBindInfo in delDeviceBindData.RemoveBindList) |
| | | { |
| | | if (removeBindInfo.BindType == 0) |
| | | { |
| | | var dInfo = new JObject{ |
| | | { "BindMacAddr",removeBindInfo.BindMacAddr}, |
| | | { "BindEpoint", removeBindInfo.BindEpoint} , |
| | | { "BindCluster", removeBindInfo.BindCluster} , |
| | | { "BindType",removeBindInfo.BindType} |
| | | }; |
| | | removeBindList.Add(dInfo); |
| | | } |
| | | else if (removeBindInfo.BindType == 1) |
| | | { |
| | | var dInfo = new JObject{ |
| | | { "BindCluster", removeBindInfo.BindCluster} , |
| | | { "BindType",removeBindInfo.BindType}, |
| | | { "BindScenesId", removeBindInfo.BindScenesId} |
| | | }; |
| | | removeBindList.Add(dInfo); |
| | | } |
| | | } |
| | | var data = new JObject { |
| | | {"RemoveBindList",removeBindList} |
| | | }; |
| | | jObject.Add("Data", data); |
| | | mainGateway.Send("Bind/RemoveBind", jObject.ToString()); |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | var dateTime = DateTime.Now; |
| | | while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) |
| | | { |
| | | await System.Threading.Tasks.Task.Delay(10); |
| | | if (responseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) |
| | | { |
| | | responseData = new DelDeviceBindResponseAllData { errorMessageBase = " 回复超时,请重新操作" }; |
| | | } |
| | | mainGateway.Actions -= action; |
| | | System.Console.WriteLine("DeviceBind/DelBind_Actions 退出" + System.DateTime.Now.ToString()); |
| | | return responseData; |
| | | }); |
| | | } |
| | | |
| | | //之前2种方式反馈结果 |
| | | //public async System.Threading.Tasks.Task<DelDeviceBindResponseAllData> DelDeviceBindAsync(DelDeviceBindData delDeviceBindData) |
| | | //{ |
| | | // return await System.Threading.Tasks.Task.Run(async () => |
| | | // { |
| | | // var responseData = new DelDeviceBindResponseAllData(); |
| | | // DelDeviceBindResponseAllData responseData = null; |
| | | // var mainGateway = ZbGateway.MainGateWay; |
| | | // if (mainGateway == null) |
| | | // { |
| | | // responseData.errorMessageBase = "当前没有主网关"; |
| | | // return responseData; |
| | | // responseData = new DelDeviceBindResponseAllData { errorMessageBase = "当前没有主网关" }; |
| | | // } |
| | | |
| | | // Action<string, string> action = (topic, message) => |
| | |
| | | |
| | | // if (temp == null) |
| | | // { |
| | | // responseData.errorMessageBase = "网关错误回复,且数据是空"; |
| | | // responseData = new DelDeviceBindResponseAllData { errorMessageBase = "网关错误回复,且数据是空" }; |
| | | // } |
| | | // else |
| | | // { |
| | | // responseData.errorResponData = temp; |
| | | // responseData.errorMessageBase = ErrorMess(temp.Error); |
| | | // responseData = new DelDeviceBindResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) }; |
| | | // } |
| | | // } |
| | | |
| | | // //场景移除 |
| | | // if (topic == gatewayID + "/" + "Bind/RemoveBind_Respon") |
| | | // { |
| | | // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | |
| | | |
| | | // if (tempData == null) |
| | | // { |
| | | // responseData.errorMessageBase = "网关返回的数据为空"; |
| | | |
| | | // responseData = new DelDeviceBindResponseAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | // } |
| | | // else |
| | | // { |
| | | // responseData.delDeviceBindResponseData = tempData; |
| | | // responseData = new DelDeviceBindResponseAllData { delDeviceBindResponseData = tempData }; |
| | | // System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | // } |
| | | // } |
| | | |
| | | // //设备移除 |
| | | // if (topic == gatewayID + "/" + "Bind/RemoveBindResult") |
| | | // { |
| | | // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; |
| | |
| | | |
| | | // if (tempData != null) |
| | | // { |
| | | // responseData.removeBindResultResponseData = tempData; |
| | | // responseData = new DelDeviceBindResponseAllData { removeBindResultResponseData = tempData }; |
| | | // System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | // } |
| | | // } |
| | |
| | | // {"RemoveBindList",removeBindList} |
| | | // }; |
| | | // jObject.Add("Data", data); |
| | | // //ZbGateway.MainGateWay.CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo?.gwID; |
| | | // mainGateway.Send("Bind/RemoveBind", jObject.ToString()); |
| | | // } |
| | | // } |
| | |
| | | // var dateTime = DateTime.Now; |
| | | // while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) |
| | | // { |
| | | // await System.Threading.Tasks.Task.Delay(100); |
| | | // if (responseData == null || responseData.delDeviceBindResponseData == null) |
| | | // { |
| | | // continue; |
| | | // } |
| | | // if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 1).Count) |
| | | // { |
| | | // if (responseData.removeBindResultResponseData != null) |
| | | // { |
| | | // break; |
| | | // } |
| | | // } |
| | | // else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 3).Count) |
| | | // { |
| | | // if (responseData.removeBindResultResponseData != null) |
| | | // { |
| | | // break; |
| | | // } |
| | | // } |
| | | // else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 4).Count) |
| | | // { |
| | | // if (responseData.removeBindResultResponseData != null) |
| | | // { |
| | | // break; |
| | | // } |
| | | // } |
| | | // else |
| | | // await System.Threading.Tasks.Task.Delay(10); |
| | | // if (responseData != null) |
| | | // { |
| | | // break; |
| | | // } |
| | | // } |
| | | // if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) |
| | | // { |
| | | // responseData.errorMessageBase = "回复超时,请重新操作"; |
| | | // responseData = new DelDeviceBindResponseAllData { errorMessageBase = " 回复超时,请重新操作" }; |
| | | // } |
| | | // mainGateway.Actions -= action; |
| | | // System.Console.WriteLine("DeviceBind/DelBind_Actions 退出" + System.DateTime.Now.ToString()); |
| | | // return responseData; |
| | | // }); |
| | | //} |
| | | |
| | | //之前2种方式反馈结果 |
| | | public async System.Threading.Tasks.Task<DelDeviceBindResponseAllData> DelDeviceBindAsync(DelDeviceBindData delDeviceBindData) |
| | | { |
| | | return await System.Threading.Tasks.Task.Run(async () => |
| | | { |
| | | var responseData = new DelDeviceBindResponseAllData(); |
| | | var mainGateway = ZbGateway.MainGateWay; |
| | | if (mainGateway == null) |
| | | { |
| | | responseData.errorMessageBase = "当前没有主网关"; |
| | | return responseData; |
| | | } |
| | | |
| | | Action<string, string> action = (topic, message) => |
| | | { |
| | | var gatewayID = topic.Split('/')[0]; |
| | | var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); |
| | | |
| | | if (topic == gatewayID + "/" + "Error_Respon") |
| | | { |
| | | var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; |
| | | var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); |
| | | |
| | | if (temp == null) |
| | | { |
| | | responseData.errorMessageBase = "网关错误回复,且数据是空"; |
| | | } |
| | | else |
| | | { |
| | | responseData.errorResponData = temp; |
| | | responseData.errorMessageBase = ErrorMess(temp.Error); |
| | | } |
| | | } |
| | | |
| | | if (topic == gatewayID + "/" + "Bind/RemoveBind_Respon") |
| | | { |
| | | var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<DelDeviceBindResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (tempData == null) |
| | | { |
| | | responseData.errorMessageBase = "网关返回的数据为空"; |
| | | |
| | | } |
| | | else |
| | | { |
| | | responseData.delDeviceBindResponseData = tempData; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | } |
| | | } |
| | | |
| | | if (topic == gatewayID + "/" + "Bind/RemoveBindResult") |
| | | { |
| | | var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; |
| | | var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveBindResultResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (tempData != null) |
| | | { |
| | | responseData.removeBindResultResponseData = tempData; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | } |
| | | } |
| | | }; |
| | | mainGateway.Actions += action; |
| | | System.Console.WriteLine("DeviceBind/DelBind_Actions 启动" + "_" + System.DateTime.Now.ToString()); |
| | | try |
| | | { |
| | | if (delDeviceBindData != null) |
| | | { |
| | | var jObject = new JObject { { "DeviceAddr", delDeviceBindData.DeviceAddr }, { "Epoint", delDeviceBindData.Epoint }, { "Cluster_ID", 0 }, { "Command", 5003 } }; |
| | | var removeBindList = new JArray { }; |
| | | foreach (var removeBindInfo in delDeviceBindData.RemoveBindList) |
| | | { |
| | | if (removeBindInfo.BindType == 0) |
| | | { |
| | | var dInfo = new JObject{ |
| | | { "BindMacAddr",removeBindInfo.BindMacAddr}, |
| | | { "BindEpoint", removeBindInfo.BindEpoint} , |
| | | { "BindCluster", removeBindInfo.BindCluster} , |
| | | { "BindType",removeBindInfo.BindType} |
| | | }; |
| | | removeBindList.Add(dInfo); |
| | | } |
| | | else if (removeBindInfo.BindType == 1) |
| | | { |
| | | var dInfo = new JObject{ |
| | | { "BindCluster", removeBindInfo.BindCluster} , |
| | | { "BindType",removeBindInfo.BindType}, |
| | | { "BindScenesId", removeBindInfo.BindScenesId} |
| | | }; |
| | | removeBindList.Add(dInfo); |
| | | } |
| | | } |
| | | var data = new JObject { |
| | | {"RemoveBindList",removeBindList} |
| | | }; |
| | | jObject.Add("Data", data); |
| | | //ZbGateway.MainGateWay.CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo?.gwID; |
| | | mainGateway.Send("Bind/RemoveBind", jObject.ToString()); |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | var dateTime = DateTime.Now; |
| | | while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) |
| | | { |
| | | await System.Threading.Tasks.Task.Delay(100); |
| | | if (responseData == null || responseData.delDeviceBindResponseData == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 1).Count) |
| | | { |
| | | if (responseData.removeBindResultResponseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 3).Count) |
| | | { |
| | | if (responseData.removeBindResultResponseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 2).Count) |
| | | { |
| | | if (responseData.removeBindResultResponseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) |
| | | { |
| | | responseData.errorMessageBase = "回复超时,请重新操作"; |
| | | } |
| | | mainGateway.Actions -= action; |
| | | System.Console.WriteLine("DeviceBind/DelBind_Actions 退出" + System.DateTime.Now.ToString()); |
| | | return responseData; |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | ///解除绑定数据,网关反馈信息 |
| | |
| | | break; |
| | | } |
| | | } |
| | | if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) |
| | | //一键清除目标,会因为目标数量多而加长时间,目前暂定10秒 |
| | | if ((DateTime.Now - dateTime).TotalMilliseconds > 10 * 1000) |
| | | { |
| | | d = new ClearBindInfoResponseAllData { errorMessageBase = " 回复超时,请重新操作" }; |
| | | } |