From cf7623fe25a008b4e128c6083e362578e2a1e3b0 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 29 三月 2023 14:29:09 +0800 Subject: [PATCH] 2023年03月29日14:23:28 --- HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs | 141 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 131 insertions(+), 10 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs index 6db4e38..2496657 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs @@ -3,7 +3,9 @@ using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; +#if __Android__ using Java.Interop; +#endif using Shared; namespace HDL_ON.UI { @@ -24,15 +26,124 @@ { Action<string, string> action = (s, a) => { - //var page = new AddDevciePage(brand); - //MainPage.BasePageView.AddChidren(page); - //page.LoadPage(contentView); - //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - var backTemp = new AddLcCam(); - backTemp.backAction = () => { - Load3tyBrandDeviceList(); - }; - Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp); + if (brand.productBrand == "IMOU") + { +#if __ANDROID__ + + 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 backTemp = new AddLcCam(); + backTemp.backAction = () => + { + Load3tyBrandDeviceList(); + }; + Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp); + } + else + { + Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions(); + } + } + catch (Exception ex) + { + + } + }); +#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 backTemp = new AddLcCam(); + backTemp.backAction = () => + { + Load3tyBrandDeviceList(); + }; + Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp); + } + else + { + Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions(); + } + } +#endif + } + else + { + var page = new AddDevciePage(brand); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(contentView); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } }; new TopViewDiv(bodyView, Language.StringByID(StringId.Devices)).LoadTopView_AddIcon("3ty", action); bodyView.BackgroundColor = CSS_Color.BackgroundColor; @@ -351,7 +462,7 @@ - +#if __Android__ public class AddLcCam : Java.Lang.Object, Com.CallBack.IAddCamera { @@ -412,5 +523,15 @@ { } } +#else + public class AddLcCam + { + public Action backAction; + public void Back() + { + backAction?.Invoke(); + } + } +#endif } -- Gitblit v1.8.0