| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | |
| | |
| | | 599=请输入组名称 |
| | | 600=添加组合调光 |
| | | 601=请选择两个以上的设备 |
| | | 602=我的家庭 |
| | | 603= 为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读 |
| | | 604= 《On Pro人脸信息采集协议》 |
| | | 605= 若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。 |
| | | 606=账户绑定成功,您可以继续完成设备关联操作 |
| | | 607=上一页 |
| | | 608=下一页 |
| | | 609=*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录 |
| | | 610=无法绑定该设备,请从河东渠道购买该类型产品 |
| | | 611=加载更多 |
| | | 612=人脸信息采集协议 |
| | | 613=撤回授权 |
| | | 614=关于账号绑定的声明 |
| | | 615=撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效 |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | 2532=Visitor Invitation Record |
| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | |
| | | |
| | | 2532=Visitor Invitation Record |
| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | |
| | | 1000=Влажност в стаята |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.6.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202303221"> |
| | | <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.7" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202304071"> |
| | | <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" /> |
| | | <!--友盟--> |
| | | <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>--> |
| | |
| | | public void OpenScan(Action<string> action) |
| | | { |
| | | resultAction = action; |
| | | //string cancel = "取消"; |
| | | //string flashText = ""; |
| | | //string titleText = "二维码扫描"; |
| | | //if (Language.CurrentLanguage != "Chinese") |
| | | //{ |
| | | // cancel = "Cancel"; |
| | | // flashText = ""; |
| | | // titleText = "Scan"; |
| | | //} |
| | | |
| | | ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => |
| | | { |
| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | |
| | |
| | | 8511=User Education |
| | | 8512=Serial number |
| | | 8513=Model |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 599=请输入组名称 |
| | | 600=添加组合调光 |
| | | 601=请选择两个以上的设备 |
| | | 602=我的家庭 |
| | | 603= 为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读 |
| | | 604= 《On Pro人脸信息采集协议》 |
| | | 605= 若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。 |
| | | 606=账户绑定成功,您可以继续完成设备关联操作 |
| | | 607=上一页 |
| | | 608=下一页 |
| | | 609=*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录 |
| | | 610=无法绑定该设备,请从河东渠道购买该类型产品 |
| | | 611=加载更多 |
| | | 612=人脸信息采集协议 |
| | | 613=撤回授权 |
| | | 614=关于账号绑定的声明 |
| | | 615=撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效 |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 8511=用户人员 |
| | | 8512=序列号 |
| | | 8513=型号 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | 2532=Visitor Invitation Record |
| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | |
| | | |
| | | 2532=Visitor Invitation Record |
| | |
| | | 599=Please input name |
| | | 600=Add combined dimming |
| | | 601=Please select two or more devices |
| | | 602=My Home |
| | | 603= In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully |
| | | 604= 'On Pro Face Information Collection Protocol' |
| | | 605= If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement. |
| | | 606=Account binding is successful.You can continue to complete the device association operation |
| | | 607=Previous page |
| | | 608=Next page |
| | | 609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record |
| | | 610=Unable to bind this device. Please purchase this type of product from HDL |
| | | 611=Load more |
| | | 612=Facial Information Collection Protocol |
| | | 613=Revoke Authorization |
| | | 614=Statement on account binding |
| | | 615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid |
| | | |
| | | |
| | | |
| | | 1000=Влажност в стаята |
| | |
| | | public static class StringId |
| | | { |
| | | /// <summary> |
| | | /// 撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效 |
| | | /// </summary> |
| | | public const int RevokeAuthorizationTip = 615; |
| | | /// <summary> |
| | | /// 关于账号绑定的声明 |
| | | /// </summary> |
| | | public const int AboutBindAcountTip = 614; |
| | | /// <summary> |
| | | /// 确定撤回授权 |
| | | /// </summary> |
| | | public const int ConfirmRevocationOfAuthorization = 613; |
| | | /// <summary> |
| | | /// 人脸采集协议 |
| | | /// </summary> |
| | | public const int GetFaceProtocol = 612; |
| | | /// <summary> |
| | | /// 加载更多 |
| | | /// </summary> |
| | | public const int LoadMore = 611; |
| | | /// <summary> |
| | | /// 无法绑定该设备,请从河东渠道购买该类型产品 |
| | | /// </summary> |
| | | public const int UnableToBindThisDeviceTip = 610; |
| | | /// <summary> |
| | | /// "*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录 |
| | | /// </summary> |
| | | public const int SmartDoorstepMachineAlarmPrompt = 609; |
| | | /// <summary> |
| | | /// 上一页 |
| | | /// </summary> |
| | | public const int NextPage = 608; |
| | | /// <summary> |
| | | /// 上一页 |
| | | /// </summary> |
| | | public const int PreviousPage = 607; |
| | | /// <summary> |
| | | /// 账户绑定成功,您可以继续完成设备关联操作 |
| | | /// </summary> |
| | | public const int BindIotAccountTip = 606; |
| | | /// <summary> |
| | | /// 若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。 |
| | | /// </summary> |
| | | public const int FaceProTipText3 = 605; |
| | | /// <summary> |
| | | /// 《On Pro人脸信息采集协议》 |
| | | /// </summary> |
| | | public const int FaceProTipText2 = 604; |
| | | /// <summary> |
| | | /// 为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读 |
| | | /// </summary> |
| | | public const int FaceProTipText1 = 603; |
| | | /// <summary> |
| | | /// 我的家庭 |
| | | /// </summary> |
| | | public const int MyHome = 602; |
| | | /// <summary> |
| | | /// 请选择2个以上的设备 |
| | | /// </summary> |
| | | public const int PlsSelectMoreData = 601; |
| | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 本地控制群控主题 |
| | | /// </summary> |
| | | public string ControlGroupControlTopic |
| | | { |
| | | get |
| | | { |
| | | return $"/user/{Control.Ins.GatewayId}/custom/device/group/control/down"; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 本地控制红外设备功能主题 |
| | | /// </summary> |
| | | public string ControlIrFunctionTopic |
| | |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | //d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | d.Add("infos", groupControls); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddGroupControl, requestJson); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UpdateGroupControl, requestJson); |
| | | return pack; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 第一次申请定位权限,用户拒绝之后,不能再次申请(Android) |
| | | /// </summary> |
| | | public bool CheckGPS_IsFirst = true; |
| | | |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// 版本号 |
| | | /// </summary> |
| | | public static string VersionString = "1.6.6"; |
| | | public static string VersionString = "1.7"; |
| | | ///// <summary> |
| | | ///// 客户端类型 |
| | | ///// </summary> |
| | |
| | | //跳转到功能信息设置页面 |
| | | switch (function.spk) |
| | | { |
| | | case SPK.GroupControl: |
| | | var dialog = new GroupControlPage(FunctionList.List.groupControls.Find((obj) => obj.sid == function.sid)); |
| | | dialog.ShowDialog(); |
| | | break; |
| | | case SPK.AirSwitch: |
| | | var airSwitchPage = new AirSwitchPage(function); |
| | | MainPage.BasePageView.AddChidren(airSwitchPage); |
| | |
| | | try |
| | | { |
| | | int index = 0; |
| | | var list = FunctionList.List.GetDeviceFunctionList(); |
| | | var list = new List<Function>(); |
| | | list.AddRange(FunctionList.List.GetDeviceFunctionList()); |
| | | list.AddRange(FunctionList.List.groupControls);//加入群控 |
| | | foreach (var function in list) |
| | | { |
| | |
| | | btnState.Text = function.lastState; |
| | | } |
| | | } |
| | | |
| | | else |
| | | { |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | |
| | | SelectedImagePath = "Public/SwitchOn.png", |
| | | }; |
| | | view.AddChidren(btnSwitch); |
| | | |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; |
| | | if (function.spk == SPK.GroupControl) |
| | | { |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_blue.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_white.png"; |
| | | } |
| | | else |
| | | { |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; |
| | | } |
| | | LoadEvent_SwitchFunction(function, btnSwitch); |
| | | } |
| | | //取消收藏事件 |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = "加载更多", |
| | | TextID = StringId.LoadMore, |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnAppend.Text = "Load more"; |
| | | } |
| | | functionListView.AddChidren(btnAppend); |
| | | btnAppend.MouseUpEventHandler = (sender, e) => |
| | | { |
| | |
| | | var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg); |
| | | if (bindResult != null) |
| | | { |
| | | string tipTitle = Language.StringByID(StringId.Tip); |
| | | if (bindResult.Code == "147021") { |
| | | string tipTitle = "提示"; |
| | | string tipMsg = "无法绑定该设备,请从河东渠道购买该类型产品"; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | tipTitle = "Tip"; |
| | | tipMsg = "Unable to bind this device. Please purchase this type of product from HDL"; |
| | | } |
| | | string tipMsg = Language.StringByID(StringId.UnableToBindThisDeviceTip); |
| | | new PublicAssmebly().TipMsg(tipTitle, tipMsg); |
| | | } |
| | | else |
| | | { |
| | | string tipTitle = "提示"; |
| | | string tipMsg = $"{bindResult.message}({bindResult.Code})"; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | tipTitle = "Tip"; |
| | | } |
| | | new PublicAssmebly().TipMsg(tipTitle, tipMsg); |
| | | } |
| | | } |
| | |
| | | var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg); |
| | | if (bindResult != null) |
| | | { |
| | | string tipTitle = Language.StringByID(StringId.Tip); |
| | | if (bindResult.Code == "147021") |
| | | { |
| | | string tipTitle = "提示"; |
| | | string tipMsg = "无法绑定该设备,请从河东渠道购买该类型产品"; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | tipTitle = "Tip"; |
| | | tipMsg = "Unable to bind this device. Please purchase this type of product from HDL"; |
| | | } |
| | | string tipMsg = Language.StringByID(StringId.UnableToBindThisDeviceTip); |
| | | new PublicAssmebly().TipMsg(tipTitle, tipMsg); |
| | | } |
| | | else |
| | | { |
| | | string tipTitle = "提示"; |
| | | string tipMsg = $"{bindResult.message}({bindResult.Code})"; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | tipTitle = "Tip"; |
| | | } |
| | | new PublicAssmebly().TipMsg(tipTitle, tipMsg); |
| | | } |
| | | } |
| | |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | Padding = new Padding(0, Application.GetRealWidth(16), 0, Application.GetRealWidth(16)), |
| | | Text = "账户绑定成功,您可以继续完成设备关联操作", |
| | | TextID = StringId.BindIotAccountTip, |
| | | IsMoreLines = true, |
| | | }; |
| | | contentView.AddChidren(btnMsg); |
| | | if(Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnMsg.Text = "Account binding is successful.You can continue to complete the device association operation"; |
| | | } |
| | | |
| | | Button btnLine = new Button() |
| | | { |
| | |
| | | TextSize = 21, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | IsBold = true, |
| | | Text = "关于账号绑定的声明" |
| | | TextID = StringId.AboutBindAcountTip, |
| | | }; |
| | | contentView.AddChidren(btnTipTitle); |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnTipTitle.Text = "Statement on account binding"; |
| | | } |
| | | |
| | | var btnTipText = new Button() |
| | | { |
| | |
| | | BackgroundColor= CSS_Color.MainColor, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | Text = "同意授权", |
| | | TextID = StringId.Agree, |
| | | Radius = (uint)Application.GetRealHeight(22) |
| | | }; |
| | | optionView.AddChidren(btnComfirm); |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnComfirm.Text = "Consent authorization"; |
| | | } |
| | | |
| | | |
| | | if (!brand_Iot.hasAuthorization) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | btnComfirm.Text = "解除授权"; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnComfirm.Text = "Cancel authorization"; |
| | | } |
| | | btnComfirm.TextID = StringId.Cancel; |
| | | btnComfirm.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | Dialog dialog = new Dialog() |
| | |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | Padding = new Padding(0,Application.GetRealWidth(16),0,Application.GetRealWidth(16)), |
| | | Text = "撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效", |
| | | TextID = StringId.RevokeAuthorizationTip, |
| | | IsMoreLines = true, |
| | | }; |
| | | contentView2.AddChidren(btnMsg); |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnMsg.Text = "After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid"; |
| | | } |
| | | |
| | | Button btnLine = new Button() |
| | | { |
| | |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | SelectedTextColor = CSS_Color.MainBackgroundColor, |
| | | SelectedBackgroundColor = CSS_Color.MainColor, |
| | | Text = "确定撤回授权", |
| | | TextID = StringId.ConfirmRevocationOfAuthorization, |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnConfirm.Text = "Confirm to withdraw authorization"; |
| | | } |
| | | btnConfirm.SetCornerWithSameRadius(Application.GetMinRealAverage(10), HDLUtils.RectCornerBottomLeft); |
| | | btnConfirm.SetCornerWithSameRadius(Application.GetMinRealAverage(10), HDLUtils.RectCornerBottomRight); |
| | | contentView2.AddChidren(btnConfirm); |
| | |
| | | } |
| | | else |
| | | { |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | new Alert("", "Operation failed", "").Show(); |
| | | } |
| | | else |
| | | { |
| | | new Alert("", "操作失败", "").Show(); |
| | | } |
| | | new Alert("", Language.StringByID(StringId.OperationFailed), "").Show(); |
| | | } |
| | | } |
| | | catch { } |
| | |
| | | this.RemoveFromParent(); |
| | | return; |
| | | } |
| | | groupControl.sids.Clear(); |
| | | foreach (var light in groupControlLightList) |
| | | { |
| | | try |
| | | { |
| | | var gc = new GroupControlFunction(); |
| | | gc.sid = light.sid; |
| | | gc.spk = light.spk; |
| | | groupControl.sids.Add(gc); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"新增群控转换数据异常:{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | var pack = Common.ApiUtlis.Ins.HttpRequest.EditGroupControl(new List<GroupControl>() { groupControl }); |
| | | if (pack != null) |
| | | { |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = "加载更多", |
| | | TextID = StringId.LoadMore, |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnAppend.Text = "Load more"; |
| | | } |
| | | functionListView.AddChidren(btnAppend); |
| | | btnAppend.MouseUpEventHandler = (sender, e) => |
| | | { |
| | |
| | | using System.Collections.Generic; |
| | | using HDL_ON.Common; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.DriverLayer; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.Entity |
| | |
| | | { |
| | | try |
| | | { |
| | | var controlValues = new Dictionary<string, object>(); |
| | | foreach(var p in pairs) |
| | | |
| | | if (DriverLayer.Control.Ins.GatewayOnline_Local) |
| | | { |
| | | controlValues.Add("key", p.Key); |
| | | controlValues.Add("value", p.Value); |
| | | } |
| | | var pack = ApiUtlis.Ins.HttpRequest.ControlGroupControl(userDeviceGroupControlId, controlValues); |
| | | if (pack != null) |
| | | { |
| | | if (pack.Code == StateCode.SUCCESS) |
| | | var controlValues = new Dictionary<string, string>(); |
| | | foreach (var p in pairs) |
| | | { |
| | | //DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl. |
| | | controlValues.Add("key", p.Key); |
| | | controlValues.Add("value", p.Value.ToString()); |
| | | } |
| | | else |
| | | var functionControlDataObj = GetGatewayAlinkControlData(controlValues); |
| | | var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj); |
| | | var sendBytes = DriverLayer.Control.Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson); |
| | | new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, 3); |
| | | MainPage.Log($"本地通讯 发送HDL-Link数据:{functionControlDataJson}"); |
| | | } |
| | | else |
| | | { |
| | | |
| | | var controlValues = new Dictionary<string, object>(); |
| | | foreach (var p in pairs) |
| | | { |
| | | MainPage.Log($"群控控制失败,Code: {pack.Code}"); |
| | | controlValues.Add("key", p.Key); |
| | | controlValues.Add("value", p.Value); |
| | | } |
| | | var pack = ApiUtlis.Ins.HttpRequest.ControlGroupControl(userDeviceGroupControlId, controlValues); |
| | | if (pack != null) |
| | | { |
| | | if (pack.Code == StateCode.SUCCESS) |
| | | { |
| | | //DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl. |
| | | } |
| | | else |
| | | { |
| | | MainPage.Log($"群控控制失败,Code: {pack.Code}"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.TextualColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = " 为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读", |
| | | TextID =StringId.FaceProTipText1, |
| | | IsMoreLines = true, |
| | | }; |
| | | if(Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnMsg.Text = " In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully"; |
| | | } |
| | | contentView.AddChidren(btnMsg); |
| | | |
| | | Button btnMsg1 = new Button() |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.MainColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = " 《On Pro人脸信息采集协议》", |
| | | TextID = StringId.FaceProTipText2, |
| | | IsMoreLines = true, |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnMsg1.Text = " 'On Pro Face Information Collection Protocol'"; |
| | | } |
| | | |
| | | contentView.AddChidren(btnMsg1); |
| | | |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.TextualColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = " 若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。", |
| | | TextID = StringId.FaceProTipText3, |
| | | IsMoreLines = true, |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnMsg2.Text = " If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement."; |
| | | } |
| | | contentView.AddChidren(btnMsg2); |
| | | |
| | | Button btnLine2 = new Button() |
| | |
| | | { |
| | | url = "https://developer.hdlcontrol.com/Face information collection protocol.html"; |
| | | } |
| | | new WebViewDialog().LoadPage("人脸信息采集协议", url); |
| | | new WebViewDialog().LoadPage(Language.StringByID(StringId.GetFaceProtocol), url); |
| | | |
| | | dialog.Close(); |
| | | }; |
| | |
| | | Width = Application.GetRealWidth(374 / 2), |
| | | Height = Application.GetRealHeight(50) - 1, |
| | | BackgroundColor = CSS.CSS_Color.MainBackgroundColor, |
| | | Text = "上一页", |
| | | TextID = StringId.PreviousPage, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS.CSS_Color.TextualColor, |
| | | TextSize = CSS.CSS_FontSize.TextFontSize, |
| | | }; |
| | | if(Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnPre.Text = "Previous"; |
| | | } |
| | | |
| | | bottomOptionView.AddChidren(btnPre); |
| | | btnPre.MouseUpEventHandler = (sender33, e33) => { |
| | | if (pageIndex < 1) |
| | |
| | | Width = Application.GetRealWidth(374 / 2), |
| | | Height = Application.GetRealHeight(50) - 1, |
| | | BackgroundColor = CSS.CSS_Color.MainBackgroundColor, |
| | | Text = "下一页", |
| | | TextID = StringId.NextPage, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS.CSS_Color.TextualColor, |
| | | TextSize = CSS.CSS_FontSize.TextFontSize, |
| | | }; |
| | | if(Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnNext.Text = "Next"; |
| | | } |
| | | |
| | | bottomOptionView.AddChidren(btnNext); |
| | | btnNext.MouseUpEventHandler = (sender33, e33) => { |
| | |
| | | var btnTitleText2 = new Button() |
| | | { |
| | | X = btnCollection.Right, |
| | | Text = "我的家庭", |
| | | TextID = StringId.MyHome, |
| | | TextSize = 16, |
| | | TextColor = 0xFF242424, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | |
| | | Height = Application.GetRealHeight(54), |
| | | }; |
| | | subTitleView.AddChidren(btnTitleText2); |
| | | if(Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnTitleText2.Text = "My Home"; |
| | | } |
| | | |
| | | int subFunctionCount = 0; |
| | | |
| | |
| | | TextID = StringId.OFF, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Radius = (uint)Application.GetRealWidth(5), |
| | | IsSelected = true, |
| | | //BorderWidth = 1, |
| | | //BorderColor = 0x00000000 |
| | | }; |
| | | view.AddChidren(btnClose); |
| | | |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = "加载更多", |
| | | TextID = StringId.LoadMore, |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnAppend.Text = "Load more"; |
| | | } |
| | | functionListView.AddChidren(btnAppend); |
| | | btnAppend.MouseUpEventHandler = (sender, e) => |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | var removeTemp = functions.Find((obj) => obj.deviceId == function.deviceId); |
| | | var removeTemp = functions.Find((obj) => obj.sid == function.deviceId); |
| | | if (removeTemp != null) |
| | | { |
| | | functions.Remove(removeTemp); |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = "加载更多", |
| | | TextID = StringId.LoadMore, |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnAppend.Text = "Load more"; |
| | | } |
| | | functionListView.AddChidren(btnAppend); |
| | | btnAppend.MouseUpEventHandler = (sender, e) => |
| | | { |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = "*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录" |
| | | TextID =StringId.SmartDoorstepMachineAlarmPrompt, |
| | | }; |
| | | if(Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnTipMsg.Text = "*Visual intercom can automatically identify suspicious persons at the door and initiate wandering alarm records"; |
| | | } |
| | | bodyView.AddChidren(btnTipMsg); |
| | | |
| | | contentView = new VerticalScrolViewLayout() |
| | |
| | | //开启定位服务 |
| | | try |
| | | { |
| | | Shared.Application.StartGPSLocationService(); |
| | | if (DB_ResidenceData.Instance.CheckGPS_IsFirst) |
| | | { |
| | | DB_ResidenceData.Instance.CheckGPS_IsFirst = false; |
| | | Shared.Application.StartGPSLocationService(); |
| | | } |
| | | }catch(Exception ex) |
| | | { |
| | | MainPage.Log("开启定位服务异常:" + ex.Message); |