| | |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using HDL_ON.DAL; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.DriverLayer; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.CSS; |
| | |
| | | |
| | | namespace HDL_ON.UI |
| | | { |
| | | public partial class HomePage : VerticalRefreshLayout |
| | | #if __IOS__ |
| | | public partial class HomePage : VerticalRefreshLayout |
| | | #else |
| | | public partial class HomePage : VerticalScrolViewLayout |
| | | #endif |
| | | { |
| | | |
| | | #region 控件列表 |
| | |
| | | /// 功能区域集合 |
| | | /// </summary> |
| | | List<FrameLayout> functionViews; |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region 区域变量 |
| | | #region 区域变量 |
| | | /// <summary> |
| | | /// 当前显示对控制类型是否是设备功能控制 |
| | | /// </summary> |
| | | bool CurShowTypeIsFunction = true; |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region 报警信息 |
| | | #region 报警信息 |
| | | Button btnMsgBg; |
| | | Button btnMsgTime; |
| | | Button btnMsg; |
| | | Button btnMsgIcon; |
| | | #endregion |
| | | #endregion |
| | | |
| | | public HomePage() |
| | | { |
| | |
| | | MainPage.CurPageIndex = 0; |
| | | try |
| | | { |
| | | this.BeginHeaderRefreshingAction = () => |
| | | bodyView.RemoveAll(); |
| | | #if __IOS__ |
| | | bodyView.BeginHeaderRefreshingAction = () => |
| | | { |
| | | this.EndHeaderRefreshing(); |
| | | bodyView.EndHeaderRefreshing(); |
| | | Common.ApiUtlis.Ins.DownloadData(); |
| | | LoadContentView(); |
| | | if (!CurShowTypeIsFunction) |
| | | { |
| | | contentView.PageIndex = 1; |
| | | } |
| | | }; |
| | | topView = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(216), |
| | | BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, |
| | | }; |
| | | bodyView.AddChidren(topView); |
| | | #else |
| | | VerticalRefreshLayout refreshLayout = new VerticalRefreshLayout() |
| | | { |
| | | Height = Application.GetRealHeight(216), |
| | | BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, |
| | | }; |
| | | bodyView.AddChidren(refreshLayout); |
| | | refreshLayout.BeginHeaderRefreshingAction = () => |
| | | { |
| | | refreshLayout.EndHeaderRefreshing(); |
| | | Common.ApiUtlis.Ins.DownloadData(); |
| | | LoadContentView(); |
| | | if(!CurShowTypeIsFunction) |
| | |
| | | contentView.PageIndex = 1; |
| | | } |
| | | }; |
| | | |
| | | #region topView |
| | | |
| | | bodyView.RemoveAll(); |
| | | |
| | | topView = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(216), |
| | | BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, |
| | | }; |
| | | bodyView.AddChidren(topView); |
| | | refreshLayout.AddChidren(topView); |
| | | #endif |
| | | #region topView |
| | | |
| | | |
| | | |
| | | Button btnTop; |
| | | btnTop = new Button() |
| | |
| | | //X = Application.GetRealWidth(16), |
| | | Y = btnResidenceName.Bottom, |
| | | Height = Application.GetRealWidth(14), |
| | | BackgroundColor = CSS_Color.LinkTipFail, |
| | | //BackgroundColor = CSS_Color.LinkTipFail, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | |
| | | //更新链接状态icon颜色 |
| | | |
| | | |
| | | int ddd = 0; |
| | | #if DEBUG |
| | | int ddd = 0; |
| | | btnResidenceName.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | |
| | | //if (UserInfo.Current.VerOpenDoorPw || string.IsNullOrEmpty(UserInfo.Current.doorPasswordString)) |
| | | //827a98c98da7469b8bc19bb6a3c7651906 |
| | | //St_00009073b431d8b2490c9df0c5cb0e73 |
| | | //Com.Hdl.HdlToLc.InitData(Shared.Application.Activity,false, "827a98c98da7469b8bc19bb6a3c7651906"); |
| | | //Com.Hdl.HdlToLc.OpenActivity(); |
| | | //new System.Threading.Thread(() => |
| | | //{ |
| | | // var page = new DoorLockUnlockPage(new Function()); |
| | | // MainPage.BasePageView.AddChidren(page); |
| | | // page.LoadView(); |
| | | // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | //} |
| | | //else |
| | | //{ |
| | | // Control.Ins.OneKeyUnlocking(new Function(), UserInfo.Current.doorPasswordString); |
| | | //} |
| | | |
| | | // 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)); |
| | | // }); |
| | | // } |
| | | // 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(); |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // //Com.Utils.HdlToLcUtils.Instance.OpenActivity(); |
| | | // //Com.Utils.HdlToLcUtils.Instance.Play() |
| | | // var backTemp = new AddLcCam(); |
| | | // backTemp.backAction = () => |
| | | // { |
| | | // //Load3tyBrandDeviceList(); |
| | | // }; |
| | | // Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp); |
| | | // }); |
| | | // } |
| | | // else |
| | | // { |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})"); |
| | | // }); |
| | | // } |
| | | //}) |
| | | //{ IsBackground = true }.Start(); |
| | | }; |
| | | #endif |
| | | |
| | |
| | | topView.AddChidren(environmentalView); |
| | | CheckLinkStatus();//2020-12-22 |
| | | |
| | | #region 环境数据 |
| | | #region 环境数据 |
| | | var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature); |
| | | var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity); |
| | | var enviList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk)); |
| | |
| | | }; |
| | | btnPm25Values.Width = btnPm25Values.GetTextWidth(); |
| | | environmentalView.AddChidren(btnPm25Values); |
| | | #endregion |
| | | #endregion |
| | | |
| | | btnSecurityStatus = new Button() |
| | | { |
| | |
| | | } |
| | | |
| | | |
| | | #region msg |
| | | #region msg |
| | | FrameLayout msgView; |
| | | msgView = new FrameLayout() |
| | | { |
| | |
| | | |
| | | LoadEvent_GotoMessageCenterPage(); |
| | | |
| | | #endregion |
| | | #endregion |
| | | |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region 功能场景切换 |
| | | #region 功能场景切换 |
| | | |
| | | bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 }); |
| | | |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | }; |
| | | changeView.AddChidren(btnChangeScene); |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region ContextView |
| | | #region ContextView |
| | | contentView = new PageLayout() |
| | | { |
| | | //Y = changeView.Bottom, |
| | |
| | | |
| | | LoadContentView(); |
| | | |
| | | #endregion |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | |
| | | |
| | | #if DEBUG |
| | | |
| | | //FunctionList.List.Functions.Add(new Function |
| | | //{ |
| | | // name = "测试门锁", |
| | | // spk = SPK.DoorLock, |
| | | // sid = "12345", |
| | | // attributes = new List<FunctionAttributes> { |
| | | // new FunctionAttributes(){ key = "door_status",curValue= "open",state = "open" }, |
| | | // new FunctionAttributes(){ key = "normal_open",curValue= "true",state = "true" }, |
| | | // new FunctionAttributes(){ key = "normal_open_countdown",curValue= "10",state = "10" }, |
| | | // new FunctionAttributes(){ key = "local_id",curValue= "10",state = "10" }, |
| | | // new FunctionAttributes(){ key = "door_volume",curValue= "10",state = "10" }, |
| | | // new FunctionAttributes(){ key = "door_volume_step",curValue= "up",state = "up" }, |
| | | // new FunctionAttributes(){ key = "battery_value",curValue= "100",state = "100" }, |
| | | // new FunctionAttributes(){ key = "battery_percentage",curValue= "100",state = "100" }, |
| | | // new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" }, |
| | | // } |
| | | //}); |
| | | //FunctionList.List.Functions.Add(new Function |
| | | //{ |
| | | // name = "门锁1", |
| | | // spk = SPK.DoorLock, |
| | | // sid = "123", |
| | | // attributes = new List<FunctionAttributes> { |
| | | // new FunctionAttributes(){ key = "door_status",curValue= "open",state = "open" }, |
| | | // new FunctionAttributes(){ key = "normal_open",curValue= "true",state = "true" }, |
| | | // new FunctionAttributes(){ key = "normal_open_countdown",curValue= "10",state = "10" }, |
| | | // new FunctionAttributes(){ key = "local_id",curValue= "10",state = "10" }, |
| | | // new FunctionAttributes(){ key = "door_volume",curValue= "10",state = "10" }, |
| | | // new FunctionAttributes(){ key = "door_volume_step",curValue= "up",state = "up" }, |
| | | // new FunctionAttributes(){ key = "battery_value",curValue= "100",state = "100" }, |
| | | // new FunctionAttributes(){ key = "battery_percentage",curValue= "100",state = "100" }, |
| | | // new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" }, |
| | | // } |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.PanelSocket, |
| | | // name = "面板插座", |
| | | // attributes = new List<FunctionAttributes> |
| | | // { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "on_off_usb",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "active_power",curValue= "220",state = "220" }, |
| | | // new FunctionAttributes(){ key = "voltage",curValue= "5",state = "5" }, |
| | | // new FunctionAttributes(){ key = "current",curValue= "110",state = "110" }, |
| | | // new FunctionAttributes(){ key = "total_electricity",curValue= "123.33",state = "123.33" }, |
| | | // } |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.SensorDryContact, |
| | | // name = "干接点", |
| | | // attributes = new List<FunctionAttributes>() |
| | | // { |
| | | // new FunctionAttributes(){ key = "status",curValue= "on",state = "on" }, |
| | | // }, |
| | | //}); |
| | | |
| | | FunctionList.List.Functions.Add(new Function() |
| | | { |
| | | spk = SPK.SensorPm25, |
| | | name = "测试Pm2.5", |
| | | attributes = new List<FunctionAttributes>() |
| | | { |
| | | new FunctionAttributes(){ key = "pm25",curValue= "70",state = "70" }, |
| | | }, |
| | | attrKeyConfigs = new List<AttrKeyConfig>() |
| | | { |
| | | new AttrKeyConfig (){ |
| | | key = "pm2.5", |
| | | type = "interval" , |
| | | unit = "ug/m²", |
| | | configs = new List<AttrKeyInfo>(){ |
| | | new AttrKeyInfo(){ start = "0",end = "75",color = "0xFFADE764", desc = "良好"}, |
| | | new AttrKeyInfo(){ start = "76",end = "150",color = "0xFFFFD154",desc = "轻/中度污染"}, |
| | | new AttrKeyInfo(){ start = "151",end = "500",color = "0xFFFF9D54",desc = "重度/严重污染"}, |
| | | } |
| | | } |
| | | }, |
| | | }); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.SensorHelp, |
| | | // name = "测试紧急求助按钮", |
| | | // attributes = new List<FunctionAttributes>() |
| | | // { |
| | | // new FunctionAttributes(){ key = "status",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "alarm_status",curValue= "alarm",state = "alarm" }, |
| | | // new FunctionAttributes(){ key = "battery_value",curValue= "200",state = "200" }, |
| | | // new FunctionAttributes(){ key = "battery_percentage",curValue= "10",state = "10" }, |
| | | // new FunctionAttributes(){ key = "battery_state",curValue= "low",state = "low" }, |
| | | // }, |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.AirSwitch, |
| | | // name = "智能空开", |
| | | // attributes = new List<FunctionAttributes>() |
| | | // { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // }, |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.AirFreshStandard, |
| | | // name = "测试新风", |
| | | // sid = "098765433242342342", |
| | | // attributes = new List<FunctionAttributes>() |
| | | // { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } }, |
| | | // }, |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.PanelEnvironment, |
| | | // name = "测试环境面板", |
| | | // targetSids = new List<string> { |
| | | // "098765433242342342", |
| | | // "ac1", |
| | | // "floorheat1" |
| | | // } |
| | | //}); |
| | | |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.HvacCac, |
| | | // name = "测试金茂温控", |
| | | // attributes = new List<FunctionAttributes>() |
| | | // { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "mode",curValue= "cool",state = "cool" ,value = new List<string>(){ "cool", "heat" } }, |
| | | // new FunctionAttributes(){ key = "set_temp",curValue= "22",state = "22" ,value = new List<string>(){},min = 0,max = 30 }, |
| | | // //new FunctionAttributes(){ key = "set_temp_step",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low", "auto", "stop" } }, |
| | | // new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // new FunctionAttributes(){ key = "room_temp",curValue= "26",state = "26" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // new FunctionAttributes(){ key = "dew_point_temp",curValue= "20",state = "20" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // new FunctionAttributes(){ key = "room_humidity",curValue= "20",state = "20" ,value = new List<string>(){ },min = 0,max = 1000 }, |
| | | // //new FunctionAttributes(){ key = "tvoc",curValue= "20",state = "20" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // }, |
| | | //}); |
| | | |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.HvacAirFreshJinmao, |
| | | // name = "测试金茂新风", |
| | | // attributes = new List<FunctionAttributes>() |
| | | // { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "mode",curValue= "humidification",state = "humidification" ,value = new List<string>(){ "humidification", "fan" } }, |
| | | // new FunctionAttributes(){ key = "energy",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } }, |
| | | // new FunctionAttributes(){ key = "fan",curValue= "level_1",state = "level_1" ,value = new List<string>(){ "level_1", "level_2", "level_3","auto" } }, |
| | | // new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // new FunctionAttributes(){ key = "indoor_temp",curValue= "26",state = "26" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // new FunctionAttributes(){ key = "indoor_humidity",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // new FunctionAttributes(){ key = "filter_remain",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, |
| | | // new FunctionAttributes(){ key = "filter_timeout",curValue= "false",state = "false" ,value = new List<string>(){ "true", "false" }}, |
| | | // }, |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.SensorGas, |
| | | // name = "燃气传感器", |
| | | // attributes = new List<FunctionAttributes>() |
| | | // { |
| | | // new FunctionAttributes(){ key = "enable",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } }, |
| | | // new FunctionAttributes(){ key = "status",curValue= "normal",state = "normal" ,value = new List<string>(){ "alarm", "normal" } }, |
| | | // }, |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "测试投影仪", |
| | | // attributes = new List<FunctionAttributes>() { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "computer",value = new List<string>(){"电脑" } }, |
| | | // new FunctionAttributes(){ key = "video",value = new List<string>(){"视频" } }, |
| | | // new FunctionAttributes(){ key = "source",value = new List<string>(){"信号源" } }, |
| | | // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"变焦+" } }, |
| | | // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"变焦-" } }, |
| | | // new FunctionAttributes(){ key = "page+",value = new List<string>(){"画面+" } }, |
| | | // new FunctionAttributes(){ key = "page-",value = new List<string>(){"画面-" } }, |
| | | // new FunctionAttributes(){ key = "menu",value = new List<string>(){"菜单" } }, |
| | | // new FunctionAttributes(){ key = "ok",value = new List<string>(){"确认" } }, |
| | | // new FunctionAttributes(){ key = "up",value = new List<string>(){"上" } }, |
| | | // new FunctionAttributes(){ key = "left",value = new List<string>(){"左" } }, |
| | | // new FunctionAttributes(){ key = "right",value = new List<string>(){"右" } }, |
| | | // new FunctionAttributes(){ key = "down",value = new List<string>(){"下" } }, |
| | | // new FunctionAttributes(){ key = "exit",value = new List<string>(){"退出" } }, |
| | | // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"音量+" } }, |
| | | // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"音量-" } }, |
| | | // new FunctionAttributes(){ key = "mute",value = new List<string>(){"静音" } }, |
| | | // new FunctionAttributes(){ key = "auto",value = new List<string>(){"自动" } }, |
| | | // new FunctionAttributes(){ key = "pause",value = new List<string>(){"暂停" } }, |
| | | // } |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.StbIr, |
| | | // name = "测试机顶盒", |
| | | // attributes = new List<FunctionAttributes>() { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "computer",value = new List<string>(){"电脑" } }, |
| | | // new FunctionAttributes(){ key = "video",value = new List<string>(){"视频" } }, |
| | | // new FunctionAttributes(){ key = "source",value = new List<string>(){"信号源" } }, |
| | | // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"变焦+" } }, |
| | | // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"变焦-" } }, |
| | | // new FunctionAttributes(){ key = "page+",value = new List<string>(){"画面+" } }, |
| | | // new FunctionAttributes(){ key = "page-",value = new List<string>(){"画面-" } }, |
| | | // new FunctionAttributes(){ key = "menu",value = new List<string>(){"菜单" } }, |
| | | // new FunctionAttributes(){ key = "ok",value = new List<string>(){"确认" } }, |
| | | // new FunctionAttributes(){ key = "up",value = new List<string>(){"上" } }, |
| | | // new FunctionAttributes(){ key = "left",value = new List<string>(){"左" } }, |
| | | // new FunctionAttributes(){ key = "right",value = new List<string>(){"右" } }, |
| | | // new FunctionAttributes(){ key = "down",value = new List<string>(){"下" } }, |
| | | // new FunctionAttributes(){ key = "exit",value = new List<string>(){"退出" } }, |
| | | // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"音量+" } }, |
| | | // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"音量-" } }, |
| | | // new FunctionAttributes(){ key = "mute",value = new List<string>(){"静音" } }, |
| | | // new FunctionAttributes(){ key = "auto",value = new List<string>(){"自动" } }, |
| | | // new FunctionAttributes(){ key = "pause",value = new List<string>(){"暂停" } }, |
| | | // } |
| | | //}); |
| | | |
| | | //FunctionList.List.Functions.Add(new Function() |
| | | //{ |
| | | // spk = SPK.TvIr, |
| | | // name = "测试电视", |
| | | // attributes = new List<FunctionAttributes>() { |
| | | // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, |
| | | // new FunctionAttributes(){ key = "computer",value = new List<string>(){"电脑" } }, |
| | | // new FunctionAttributes(){ key = "video",value = new List<string>(){"视频" } }, |
| | | // new FunctionAttributes(){ key = "source",value = new List<string>(){"信号源" } }, |
| | | // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"变焦+" } }, |
| | | // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"变焦-" } }, |
| | | // new FunctionAttributes(){ key = "page+",value = new List<string>(){"画面+" } }, |
| | | // new FunctionAttributes(){ key = "page-",value = new List<string>(){"画面-" } }, |
| | | // new FunctionAttributes(){ key = "menu",value = new List<string>(){"菜单" } }, |
| | | // new FunctionAttributes(){ key = "ok",value = new List<string>(){"确认" } }, |
| | | // new FunctionAttributes(){ key = "up",value = new List<string>(){"上" } }, |
| | | // new FunctionAttributes(){ key = "left",value = new List<string>(){"左" } }, |
| | | // new FunctionAttributes(){ key = "right",value = new List<string>(){"右" } }, |
| | | // new FunctionAttributes(){ key = "down",value = new List<string>(){"下" } }, |
| | | // new FunctionAttributes(){ key = "exit",value = new List<string>(){"退出" } }, |
| | | // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"音量+" } }, |
| | | // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"音量-" } }, |
| | | // new FunctionAttributes(){ key = "mute",value = new List<string>(){"静音" } }, |
| | | // new FunctionAttributes(){ key = "auto",value = new List<string>(){"自动" } }, |
| | | // new FunctionAttributes(){ key = "pause",value = new List<string>(){"暂停" } }, |
| | | // } |
| | | //}); |
| | | #endif |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 加载内容区域 |
| | | /// </summary> |
| | | void LoadContentView() |
| | | { |
| | | if (!Common.ApiUtlis.Ins.DownloadDataComplete) |
| | | if (!Common.ApiUtlis.Ins.DownloadDataComplete && !MainPage.NoLoginMode) |
| | | { |
| | | var waitPage = new Loading(); |
| | | MainPage.BaseView.AddChidren(waitPage); |
| | |
| | | |
| | | /// <summary> |
| | | /// 加载设备功能显示区域 |
| | | /// Tag 收藏卡片 |
| | | /// </summary> |
| | | void LoadDeviceFunctionControlZone() |
| | | { |
| | | #region ContextView |
| | | #region ContextView |
| | | deviceFunctionView.RemoveAll(); |
| | | functionViews.Clear(); |
| | | var rowView = new FrameLayout(); |
| | |
| | | if (SPK.MusicSpkList().Contains( function.spk)) |
| | | { |
| | | continue; |
| | | //var music = function as Music.A31MusicModel; |
| | | //var music = Music.A31MusicModel.A31MusicModelList.Find((obj) => obj.sid == function.sid); |
| | | //if (music == null) |
| | | //{ |
| | | // continue; |
| | | //} |
| | | //if (music.ServerClientType == -1) |
| | | //{ |
| | | // continue; |
| | | //} |
| | | //else if (music.ServerClientType == 1) |
| | | //{ |
| | | // if (!music.MainPlayCollection) |
| | | // { |
| | | // continue; |
| | | // } |
| | | //} |
| | | //else |
| | | //{ |
| | | // if (!music.collect) |
| | | // { |
| | | // continue; |
| | | // } |
| | | //} |
| | | } |
| | | else |
| | | { |
| | | if (!function.collect) |
| | | continue; |
| | | //if (function.roomIdList.Count == 0)//如何在房间已经移除了这个功能,则收藏界面也不会再显示 |
| | | //{ |
| | | // function.collection = false; |
| | | // continue; |
| | | //} |
| | | } |
| | | if (index % 2 == 0) |
| | | { |
| | |
| | | Tag = function.sid |
| | | }; |
| | | rowView.AddChidren(functionView); |
| | | |
| | | var btnbg = new Button() |
| | | { |
| | | UnSelectedImagePath = "Collection/Functionbg.png", |
| | | SelectedImagePath = "Collection/FunctionOnbg.png", |
| | | Tag = function.sid |
| | | }; |
| | | functionView.AddChidren(btnbg); |
| | | functionViews.Add(functionView); |
| | | LoadDeviceFunctionDiv(functionView, function); |
| | | //绿建人居环境,科技系统 |
| | | if (function.spk == SPK.AcstParent) |
| | | { |
| | | LoadAcstDiv(functionView, function); |
| | | } |
| | | else //其他设备 |
| | | { |
| | | var btnbg = new Button() |
| | | { |
| | | UnSelectedImagePath = "Collection/Functionbg.png", |
| | | SelectedImagePath = "Collection/FunctionOnbg.png", |
| | | Tag = function.sid |
| | | }; |
| | | functionView.AddChidren(btnbg); |
| | | LoadDeviceFunctionDiv(functionView, function); |
| | | |
| | | if (SPK.ArmSensorSpkList().Contains(function.spk)) |
| | | { |
| | | btnbg.UnSelectedImagePath = "Collection/FunctionOnbg.png"; |
| | | btnbg.SelectedImagePath = "Collection/FunctionArmOnbg.png"; |
| | | } |
| | | } |
| | | index++; |
| | | |
| | | |
| | | //if (!function.online) |
| | | //{ |
| | | // btnbg.UnSelectedImagePath = "Collection/FunctionOfflineBg.png"; |
| | | //} |
| | | } |
| | | |
| | | if (index == 0) |
| | |
| | | MainPage.Log("homepage error : " + ex.Message); |
| | | } |
| | | deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) }); |
| | | #endregion |
| | | #endregion |
| | | |
| | | } |
| | | /// <summary> |
| | |
| | | |
| | | /// <summary> |
| | | /// 加载功能控制卡片 |
| | | /// Tag 卡片自定义 |
| | | /// </summary> |
| | | void LoadDeviceFunctionDiv(FrameLayout view, Function function) |
| | | { |
| | |
| | | Height = Application.GetMinRealAverage(32), |
| | | }; |
| | | view.AddChidren(btnIcon); |
| | | |
| | | |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; |
| | | |
| | | |
| | | Button btnName; |
| | | btnName = new Button() |
| | |
| | | }; |
| | | view.AddChidren(btnZone); |
| | | |
| | | |
| | | Button btnState; |
| | | btnState = new Button() |
| | | { |
| | |
| | | Tag = "state", |
| | | Text = function.lastState |
| | | }; |
| | | |
| | | |
| | | if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) |
| | | { |
| | | btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png"; |
| | | btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png"; |
| | | btnName.TextColor = CSS_Color.MainBackgroundColor; |
| | | btnZone.TextColor = CSS_Color.MainBackgroundColor; |
| | | btnState.TextColor = CSS_Color.MainBackgroundColor; |
| | | |
| | | var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus); |
| | | if (tempStatus != null) |
| | | { |
| | | switch (tempStatus.state) |
| | | {//0空,1走,2跑,3坐,4跌倒,5站 |
| | | case "0": |
| | | function.lastState = Language.StringByID(StringId.SensorNormalState); |
| | | break; |
| | | case "1": |
| | | function.lastState = Language.StringByID(StringId.SomeoneIn); |
| | | break; |
| | | case "2": |
| | | if (function.extSet.labModel) |
| | | { |
| | | function.lastState = Language.StringByID(StringId.SomeoneRunning); |
| | | } |
| | | else |
| | | { |
| | | function.lastState = Language.StringByID(StringId.Someone); |
| | | } |
| | | break; |
| | | case "3": |
| | | if (function.extSet.labModel) |
| | | { |
| | | function.lastState = Language.StringByID(StringId.SomeoneSitting); |
| | | } |
| | | else |
| | | { |
| | | function.lastState = Language.StringByID(StringId.Someone); |
| | | } |
| | | break; |
| | | case "4": |
| | | function.lastState = Language.StringByID(StringId.SomeoneFell); |
| | | break; |
| | | case "5": |
| | | if (function.extSet.labModel) |
| | | { |
| | | function.lastState = Language.StringByID(StringId.SomeoneStanding); |
| | | } |
| | | else |
| | | { |
| | | function.lastState = Language.StringByID(StringId.Someone); |
| | | } |
| | | break; |
| | | } |
| | | btnState.Text = function.lastState; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; |
| | | } |
| | | |
| | | if (function.spk != SPK.LightSwitch) |
| | | { |
| | |
| | | LoadEvent_FunctionCollection(btnCollection, function); |
| | | if (//SPK.CurtainSpkList().Contains(function.spk)) |
| | | function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || |
| | | function.spk == SPK.CurtainDream || |
| | | function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex ) |
| | | { |
| | | btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png"; |
| | |
| | | function.SetAttrState("on_off", status); |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | dic.Add("on_off", status); |
| | | Music.SendMethod.mMethod.SendControlCommand(function, dic); |
| | | Music.SendMethod.Current.SendControlCommand(function, dic); |
| | | }; |
| | | } |
| | | |
| | |
| | | LoadEvent_ControlClothesHanger(function, btnUp, btnDown); |
| | | |
| | | } |
| | | |
| | | else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) |
| | | { |
| | | //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}.png"; |
| | | //btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png"; |
| | | //btnIcon.IsSelected = true; |
| | | btnState.SelectedTextColor = CSS_Color.MainBackgroundColor; |
| | | btnState.TextColor = CSS_Color.MainColor;//PromptingColor1 |
| | | } |
| | | |
| | | //紧急求助 |
| | | else if (function.spk == SPK.SensorHelp) |
| | | { |
| | | |
| | | btnName.TextColor = CSS_Color.MainBackgroundColor; |
| | | btnName.SelectedTextColor = CSS_Color.MainBackgroundColor; |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; |
| | | } |
| | | else if (function.spk == SPK.IpCam_Imou) |
| | | { |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | | } |
| | | |
| | | else |
| | |
| | | btnIcon.MouseUpEventHandler = skipControlPageEvent; |
| | | btnState.MouseUpEventHandler = skipControlPageEvent; |
| | | //不需要更新状态的动能列表 |
| | | if(!SPK.NotStatusSpkList.Contains(function.spk)) |
| | | if(!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou) |
| | | { |
| | | UpdataFunctionStates(function); |
| | | } |
| | | |
| | | //var btnOffline = new Button() |
| | | //{ |
| | | // X = btnIcon.Right, |
| | | // Y = Application.GetRealWidth(16), |
| | | // Height = Application.GetMinRealAverage(32), |
| | | // TextID = StringId.DeviceOffline, |
| | | // TextColor = CSS_Color.WarningColor, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // Tag = "OnlineTag", |
| | | // Visible = !function.online |
| | | //}; |
| | | //view.AddChidren(btnOffline); |
| | | var btnOffline = new Button() |
| | | { |
| | | X = btnIcon.Right, |
| | | Y = Application.GetRealWidth(16), |
| | | Height = Application.GetMinRealAverage(32), |
| | | TextID = StringId.DeviceOffline, |
| | | TextColor = CSS_Color.WarningColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = "OnlineTag", |
| | | Visible = !function.online |
| | | }; |
| | | view.AddChidren(btnOffline); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | |
| | | MainPage.Log("homepage LoadControlView error : " + ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 加载绿建科技系统卡片 |
| | | /// </summary> |
| | | void LoadAcstDiv(FrameLayout view1, Function function) |
| | | { |
| | | var view = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(5), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(105), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Radius = (uint)Application.GetRealWidth(15), |
| | | }; |
| | | view1.AddChidren(view); |
| | | |
| | | Button btnName; |
| | | btnName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(11), |
| | | Y = Application.GetRealWidth(10), |
| | | TextID = StringId.Acst, |
| | | IsBold = true, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Height = Application.GetRealWidth(24), |
| | | Width = Application.GetRealWidth(140), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | view.AddChidren(btnName); |
| | | |
| | | var btnLogo = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(65), |
| | | UnSelectedImagePath = "FunctionIcon/Acst/LvJianLogo.png", |
| | | SelectedImagePath = "FunctionIcon/Acst/LvJianLogo.png", |
| | | Width = Application.GetRealWidth(80), |
| | | Height = Application.GetRealHeight(37), |
| | | }; |
| | | view.AddChidren(btnLogo); |
| | | |
| | | Button btnFunctionViewBg; |
| | | btnFunctionViewBg = new Button() |
| | | { |
| | | Height = Application.GetRealWidth(100), |
| | | Width = Application.GetRealWidth(102), |
| | | UnSelectedImagePath = "FunctionIcon/FunctionBg/AcstFunctionBg.png", |
| | | }; |
| | | view.AddChidren(btnFunctionViewBg); |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { |
| | | var page = new AcstParentPage(); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | |
| | | //Button btnAcstPower = new Button() |
| | | //{ |
| | | // X = Application.GetRealWidth(115), |
| | | // Y = Application.GetRealHeight(70), |
| | | // Width = Application.GetRealWidth(32), |
| | | // Height = Application.GetRealWidth(32), |
| | | // SelectedImagePath = "Public/PowerOpen.png", |
| | | // UnSelectedImagePath = "Public/PowerClose.png", |
| | | // IsSelected = function.trait_on_off.curValue.ToString() == "on", |
| | | //}; |
| | | //view.AddChidren(btnAcstPower); |
| | | //btnAcstPower.MouseUpEventHandler = (sender, e) => { |
| | | // btnAcstPower.IsSelected = !btnAcstPower.IsSelected; |
| | | // new System.Threading.Thread(() => |
| | | // { |
| | | // string onoff = btnAcstPower.IsSelected ? "on" : "off"; |
| | | // Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | // d.Add(FunctionAttributeKey.OnOff, onoff); |
| | | // foreach (var temp in FunctionList.List.GetAcstParentList()) |
| | | // { |
| | | // Control.Ins.SendWriteCommand(temp, d); |
| | | // } |
| | | // }) |
| | | // { IsBackground = true }.Start(); |
| | | //}; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 加载场景控制卡片 |