using System; using System.Threading; using HDL_ON.DAL.Server; using HDL_ON.Entity; using Shared; using static HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod; namespace HDL_ON.UI { public partial class PublicAssmebly { /// /// 功能控制界面跳转事件 /// public EventHandler LoadEvent_SkipFunctionControlPage(Function function, Button btnCollectionIcon, Button btnName, Button btnFromFloor, Comerom comerom,Action action ) { EventHandler eventHandler = (sender, e) => { //todo 增加设备,功能列表界面 //跳转到功能信息设置页面 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); relayView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.LightRGB: var rgbView = new RGBPage(function); MainPage.BasePageView.AddChidren(rgbView); rgbView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.LightRGBW: var rgbwView = new RGBWPage(function); MainPage.BasePageView.AddChidren(rgbwView); rgbwView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.LightDimming: var dimmerView = new DimmerPage(function); MainPage.BasePageView.AddChidren(dimmerView); dimmerView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.CurtainTrietex: var skinView = new MotorCurtainPage(function); MainPage.BasePageView.AddChidren(skinView); skinView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.CurtainSwitch: var curtainView = new CurtainModulePage(function); MainPage.BasePageView.AddChidren(curtainView); curtainView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.CurtainRoller: var rollingShutterView = new RollingShutterPage(function); MainPage.BasePageView.AddChidren(rollingShutterView); rollingShutterView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.CurtainShades: var curtainShadesView = new VenetianBlindsPage(function); MainPage.BasePageView.AddChidren(curtainShadesView); curtainShadesView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.CurtainDream: var curtainDreamView = new CurtainDreamPage(function); MainPage.BasePageView.AddChidren(curtainDreamView); curtainDreamView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: var fhView = new FloorHeatingPage(function); MainPage.BasePageView.AddChidren(fhView); 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 ,LastDateTime = DateTime.Now};//当前播放器 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(); airFresh1.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); break; case SPK.AirFreshStandard: case SPK.HvacAirFresh: 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; case SPK.AvZkAiks: { //影音中控 var form = new UI2.FuntionControlView.Aks.AksPage(function, btnName, btnFromFloor, comerom, action); MainPage.BasePageView.AddChidren(form); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; form.Show(); } break; case SPK.ElectricalTvHisense: { //海信电视 var form = new UI2.FuntionControlView.HisenseTV.HisenseTvPage(function, btnName, btnFromFloor,btnCollectionIcon, comerom, action); MainPage.BasePageView.AddChidren(form); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; form.Show(); } break; } }; return eventHandler; } } }