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;
}
}
}