wxr
2023-02-22 8da95ae83bbc43b9f6c11224975de5214fa5d651
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs
@@ -1,5 +1,8 @@
using 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;
@@ -146,6 +149,187 @@
                btnName.MouseUpEventHandler = (sender, e) => {
                    switch (device.spk)
                    {
                        case SPK.IpCam_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 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();