wxr
2023-08-23 96e9ff2e5a54f54cdbb6b8b2f049fdf6a837de3c
OnPro/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -3,7 +3,6 @@
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using Shared;
using static HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod;
namespace HDL_ON.UI
{
@@ -13,7 +12,7 @@
        /// <summary>
        /// 功能控制界面跳转事件
        /// </summary>
        public EventHandler<MouseEventArgs> LoadEvent_SkipFunctionControlPage(Function function, Button btnCollectionIcon, Button btnName, Button btnFromFloor, Comerom comerom,Action action
        public EventHandler<MouseEventArgs> LoadEvent_SkipFunctionControlPage(Function function, Button btnCollectionIcon, Button btnName, Button btnFromFloor, Action action
            )
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
@@ -22,32 +21,6 @@
                //跳转到功能信息设置页面
                switch (function.spk)
                {
                    case SPK.ElectricEnergy:
                        var skipView = new EnergyMainPage();
                        MainPage.BasePageView.AddChidren(skipView);
                        skipView.LoadPage();
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.GroupControl:
                         //var dialog = new GroupControlPage(FunctionList.List.groupControls.Find((obj) => obj.sid == function.sid));
                         //dialog.ShowDialog();
                         var groupControlPage = new GroupControlPage_V2(FunctionList.List.groupControls.Find((obj) => obj.sid == function.sid));
                        MainPage.BasePageView.AddChidren(groupControlPage);
                        groupControlPage.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.AirSwitch:
                        var airSwitchPage = new AirSwitchPage(function);
                        MainPage.BasePageView.AddChidren(airSwitchPage);
                        airSwitchPage.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.AirSwitchP3:
                        var airSwitchP3Page = new AirSwitchP3Page(function);
                        MainPage.BasePageView.AddChidren(airSwitchP3Page);
                        airSwitchP3Page.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.LightSwitch:
                        var relayView = new RelayPage(function);
                        MainPage.BasePageView.AddChidren(relayView);
@@ -109,137 +82,20 @@
                        fhView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.ElectricFan:
                    case SPK.HvacFan:
                        var fanView = new FanPage(function);
                        MainPage.BasePageView.AddChidren(fanView);
                        fanView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.ElectricSocket:
                    case SPK.PanelSocket:
                        var sView = new SocketPage(function);
                        MainPage.BasePageView.AddChidren(sView);
                        sView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.ElectricTV:
                    case SPK.TvIr:
                    case SPK.TvXmIr:
                        var tvView = new TVPage(function);
                        MainPage.BasePageView.AddChidren(tvView);
                        tvView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.PjtIr://投影仪
                        var pjtView = new PjtPage(function);
                        MainPage.BasePageView.AddChidren(pjtView);
                        pjtView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.StbIr://机顶盒
                        var stbView = new StbPage(function);
                        MainPage.BasePageView.AddChidren(stbView);
                        stbView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.ElectricTuyaAirCleaner:
                    case SPK.ElectricTuyaAirCleaner2:
                        var airCleaner = new TuyaAirCleanerPage();
                        airCleaner.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.ElectricTuyaFan:
                    case SPK.ElectricTuyaFan2:
                        var tuyaFan = new TuyaFanPage();
                        tuyaFan.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.ElectricTuyaWaterValve:
                    case SPK.ElectricTuyaWaterValve2:
                        var tyWaterValve = new TuyaWaterValvePage();
                        tyWaterValve.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.MechanicalArm:
                        var mechanicalArmPage = new MechanicalArmPage();
                        mechanicalArmPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.ElectricTuyaWeepRobot:
                    case SPK.ElectricTuyaWeepRobot2:
                        var weepRobot = new TuyaWeepRobotPage();
                        weepRobot.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.MusicStandard:
                    case SPK.AvMusic:
                        Music.A31MusicModel.Current = new Music.A31MusicModel { functionMusic = function };//当前播放器
                        var a31PlayMusicPage = new Music.A31PlayMusicPage();
                        MainPage.BasePageView.AddChidren(a31PlayMusicPage);
                        a31PlayMusicPage.Show();
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.LightCCT:
                        var TureView = new ColorTureLampPage(function);
                        MainPage.BasePageView.AddChidren(TureView);
                        TureView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.SensorPir:
                    case SPK.SensorPirHold:
                        var pirPage = new SensorPirPage();
                        pirPage.ShowColltionButton = false;
                        pirPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.SensorHelp:
                        var helpPage = new PanelHelpPage();
                        helpPage.ShowColltionButton = false;
                        helpPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.SensorWater:
                        var waterPage = new SensorWaterImmersionPage();
                        waterPage.ShowColltionButton = false;
                        waterPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.SensorSmoke:
                        var smokePage = new SensorSmokePage();
                        smokePage.ShowColltionButton = false;
                        smokePage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.SensorDoorWindow:
                        var doorwindowPage = new SensorDoorWinwsPage();
                        doorwindowPage.ShowColltionButton = false;
                        doorwindowPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.SensorMmvPose:
                    case SPK.SenesorMegahealth:
                    case SPK.SenesorMegahealth2:
                        var smPage = new SenesorMegahealthPage();
                        smPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.SensorGas:
                        var gasPage = new SensorGasPage();
                        gasPage.ShowColltionButton = false;
                        gasPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.ClothesHanger:
                        var clothesHangerpage = new ClothesHangerPage();
                        clothesHangerpage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.FanIr:
                        var fanIr = new IrFanPage();
                        fanIr.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.AcIr:
                    case SPK.AcStandard:
                    case SPK.HvacAC:
                        var acPage = new AcControlPage();
                        acPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.HvacCac:
                        var cacPage = new CacControlPage();
                        cacPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.IrLearn:
                        var irLearinPage = new IrLearnPage();
                        irLearinPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.AirFreshJinmao:
                    case SPK.HvacAirFreshJinmao:
                        var airFresh1 = new AirFreshControlPage();
@@ -250,107 +106,7 @@
                        var airFresh2 = new AirFreshRelayControlPage();
                        airFresh2.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.DoorLock:
                        var doorLockPage = new DoorLockPage();
                        doorLockPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.IpCam_Imou:
#if __IOS__
                        if (Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken == null){//未初始化摄像头
                            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.HDLLCNVRSDK.SharedInstance().RefreshDeviceList();
                        }
                        //跳转大华摄像头
                        Shared.Application.currentVC.NavigationController.NavigationBar.BarTintColor = UIKit.UIColor.LightGray;
                        Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshDeviceList();
                        Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().ToMonitorViewWithDeviceId(function.extDevId, function.name, Shared.Application.currentVC);
                        //Shared.Application.currentVC.NavigationController.NavigationBar.Hidden = false;
#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
                                {
                                    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.huoqushujushibao));
                                            });
                                        }
                                        Application.RunOnMainThread(() =>{
                                            try
                                            {
                                                Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
                                                Com.Utils.HdlToLcUtils.Instance.Play(function.extDevId, function.name);
                                            }
                                            catch (Exception ex)
                                            {
                                            }
                                        });
                                    }
                                    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
                        {
                            try
                            {
                                Com.Utils.HdlToLcUtils.Instance.Play(function.extDevId, function.name);
                            }
                            catch (Exception ex)
                            {
                            }
                        }
#endif
                        break;
                    case SPK.VideoDoorLock: {
                            //萤石视频门锁
                            var form = new VideoDoorLockPage(function, btnName, btnFromFloor,comerom,action);
                            MainPage.BasePageView.AddChidren(form);
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            form.Show();
                        }
                        break;
                }
            };
            return eventHandler;