From adf7df175e590b7d9e0f33c0c2ea1d2897da6301 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 29 三月 2023 14:33:12 +0800 Subject: [PATCH] Merge branch 'dev-cqy(1.5.9)' into wjc --- HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs | 258 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 250 insertions(+), 8 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs index f510cfe..c0a6841 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs @@ -1,13 +1,47 @@ 锘縰sing System; using System.Collections.Generic; +#if __ANDROID__ +using Android.Content; +#endif using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; +#if __IOS__ +using Shared.IOS.HDLCNVRSDK; +#endif namespace HDL_ON.UI { + + public class AddDevciePage : FrameLayout { +#if __ANDROID__ + public class dddxx { } +#else + //澶у崕鎽勫儚澶磗dk浠g悊锛圫hared.IOS.HDLCNVRSDK) + hdlLCNVRSDKDelegate hdlLCNVRDelegate; + public class hdlLCNVRSDKDelegate : HDLLCNVRSDKDelegate + { + Action act; + public hdlLCNVRSDKDelegate(Action action) + { + act = action; + + + } + + public override void AddDeviceFailWithErrorCode(string errorCode) + { + + } + + public override void BackFromAddDeviceView() + { + act?.Invoke(); + } + } +#endif FrameLayout bodyView; IntegratedBrand brand; VerticalRefreshLayout contentView; @@ -20,6 +54,7 @@ public void LoadPage(VerticalRefreshLayout refreshView) { + new TopViewDiv(bodyView, Language.StringByID(StringId.AddDevice)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.BackgroundColor; @@ -46,7 +81,8 @@ { var waitPage = new Loading(); waitPage.Start(); - new System.Threading.Thread(() => { + new System.Threading.Thread(() => + { try { var pm = new HttpServerRequest(); @@ -119,7 +155,7 @@ Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), Radius = (uint)Application.GetRealWidth(4), - UnSelectedImagePath = $"FunctionIcon/Icon/{device.IconName}.png", + UnSelectedImagePath = $"FunctionIcon/Icon/{device.IconName}.png", }; row.AddChidren(btnIcon); Button btnRight = new Button() @@ -143,30 +179,235 @@ }; row.AddChidren(btnName); - btnName.MouseUpEventHandler = (sender, e) => { + + + btnName.MouseUpEventHandler = (sender, e) => + { switch (device.spk) { + case SPK.IpCam_Imou: + +#if __IOS__ + + //鍒濆鍖栧ぇ鍗庢憚鍍忓ごsdk + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().InitSDKWithAppKey("HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost); + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken = UserInfo.Current.LoginTokenString; + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshToken = UserInfo.Current.RefreshToken; + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().HomeId = DB_ResidenceData.Instance.CurrentRegion.id; + //璺宠浆娣诲姞鎽勫儚澶�(Shared.IOS.HDLCNVRSDK) + hdlLCNVRDelegate = new hdlLCNVRSDKDelegate(() => + {//娣诲姞鎴愬姛杩斿洖浜嬩欢 + refreshView.BeginHeaderRefreshing(); + this.RemoveFromParent(); + }); + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().Delegate = hdlLCNVRDelegate; + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().ToAddDeviceView(); +#else + FunctionList.List.GetIpCamImouList(); + if (string.IsNullOrEmpty(Com.Utils.HdlToLcUtils.Instance.SubAccessToken)) + { + + var waitPage = new Loading(); + MainPage.BaseView.AddChidren(waitPage); + waitPage.Start(""); + new System.Threading.Thread(() => + { + try + { + +#if DEBUG + Com.Utils.HdlToLcUtils.Instance.ShowErrorInfo(true); +#endif + + var http = new HttpServerRequest(); + var pack = http.GetLcSubAccountToken(); + if (pack.Code == StateCode.SUCCESS) + { + if (pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString())) + { + Application.RunOnMainThread(() => + { + new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.Get3tyIotInfoFailed)); + return; + }); + } + Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost); + Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id; + Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken; + Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString(); + +#if __ANDROID__ + Application.RunOnMainThread(() => + { + try + { + var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions(); + if (result) + { + var bindDeviceFeedback = new BindDeviceFeedback(); + bindDeviceFeedback.tipAction = (method, msg) => { + HDLUtils.WriteLine(method + "::" + msg); + if(method == "bindDevice") + { + var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg); + if (bindResult != null) + { + 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"; + } + 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); + } + } + + } + }; + Hdl.Onpro.HdlData.Instance.InitData(bindDeviceFeedback, device.productBrand); + + var backTemp = new AddLcCam(); + backTemp.backAction = () => + { + refreshView.BeginHeaderRefreshing(); + this.RemoveFromParent(); + }; + Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp); + + } + else + { + Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions(); + } + } + catch (Exception ex) + { + + } + finally + { + } + }); +#endif + } + else + { + Application.RunOnMainThread(() => + { + new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})"); + }); + } + } + catch (Exception ex) + { + MainPage.Log("鍔犺浇涔愭鎽勫儚澶村紓甯�"); + } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); + } + else + { + var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions(); + if (result) + { + var bindDeviceFeedback = new BindDeviceFeedback(); + bindDeviceFeedback.tipAction = (method, msg) => { + HDLUtils.WriteLine(method + "::" + msg); + if (method == "bindDevice") + { + var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg); + if (bindResult != null) + { + 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"; + } + 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); + } + } + } + }; + Hdl.Onpro.HdlData.Instance.InitData(bindDeviceFeedback, device.productBrand); + + + var backTemp = new AddLcCam(); + backTemp.backAction = () => + { + refreshView.BeginHeaderRefreshing(); + this.RemoveFromParent(); + }; + Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp); + } + else + { + Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions(); + } + } +#endif + break; case SPK.IrModule: var form = new AddMiniRemoteControlDirection1Page(); form.AddForm(); - form.AddDeviceEvent = (functionObj) => { + form.AddDeviceEvent = (functionObj) => + { refreshView.BeginHeaderRefreshing(); - }; + }; break; case SPK.SenesorMegahealth: case SPK.SenesorMegahealth2: case SPK.SensorMmvPose: var form1 = new AddSenesorMegahealthDirection1Page(); form1.AddForm(device); - form1.AddDeviceEvent = (functionObj) => { + form1.AddDeviceEvent = (functionObj) => + { refreshView.BeginHeaderRefreshing(); this.RemoveFromParent(); }; break; case SPK.SensorEnvironment: + case SPK.SensorEnvironmentHailin: var form2 = new AddSensorEnvironmentPage(); form2.AddForm(device); - form2.AddDeviceEvent = (functionObj) => { + form2.AddDeviceEvent = (functionObj) => + { refreshView.BeginHeaderRefreshing(); this.RemoveFromParent(); }; @@ -175,7 +416,8 @@ case SPK.SensorEnvironment3: var form3 = new AddQingpingSensorEnvirTipPage(); form3.AddForm(device); - form3.AddDeviceEvent = (functionObj) => { + form3.AddDeviceEvent = (functionObj) => + { refreshView.BeginHeaderRefreshing(); this.RemoveFromParent(); }; -- Gitblit v1.8.0