From 7cfcdb7a90f59bf9001c948e166fd9af09752fe1 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 24 五月 2022 17:15:18 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/release0123' into wjc --- HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png | 0 HDL-ON_Android/Properties/AndroidManifest.xml | 4 HDL-ON_Android/Assets/Language.ini | 21 HDL-ON_iOS/HDL-ON_iOS.csproj | 5 HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png | 0 HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs | 229 HDL_ON/DAL/Mqtt/MqttClient.cs | 14 HDL_ON/HDL_ON.projitems | 7 HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs | 174 + HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png | 0 HDL_ON/Entity/Function/Sensor.cs | 261 + HDL-ON_Android/HDL-ON_Android.csproj | 5 HDL-ON_iOS/Info.plist | 4 HDL_ON/DAL/Server/NewApiRes.cs | 2 HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs | 452 +++ HDL_ON/UI/UI1-Login/LoginPage.cs | 2 SiriIntents/Server/HttpUtil.cs | 4 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs | 310 ++ HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs | 38 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs | 752 ++-- HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 75 HDL-ON_Android/Resources/values-zh/strings.xml | 2 HDL_ON/Common/ImageUtlis.cs | 41 HDL_ON/Entity/Function/Function.cs | 104 HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 176 + HDL_ON/UI/UI2/2-Classification/FunctionPage.cs | 1 HDL_ON/DAL/Server/HttpUtil.cs | 4 HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs | 540 +++ HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs | 4 HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs | 142 + HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png | 0 HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs | 1 HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 9 HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 58 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs | 4 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs | 36 HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs | 7 HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs | 6 HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs | 10 HDL-ON_Android/SplashActivity.cs | 14 HDL-ON_iOS/Resources/Language.ini | 1160 ++++++++ HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs | 1 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png | 0 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs | 1876 ++++++------ HDL_ON/DAL/DriverLayer/Control.cs | 82 HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs | 231 + HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png | 0 HDL_APP_Project.sln | 5 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs | 4 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs | 6 HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs | 5 HDL_ON/Entity/FunctionList.cs | 19 HDL_ON/DAL/Server/NewAPI.cs | 15 HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs | 1110 ++++++++ HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png | 0 HDL_ON/Common/R.cs | 17 HDL_ON/DAL/Server/HttpServerRequest.cs | 19 HDL-ON_Android/Other/JPush/JPushReceiver.cs | 135 59 files changed, 6,550 insertions(+), 1,653 deletions(-) diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 9d62f57..3c45ca3 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -525,6 +525,11 @@ 537=Humidity statistics 538=Uint 539=Smart panel +540=In Alarm +541=Monitoring +542=Wandering alarm +543=Get more + 1000=Room Humidity 1001=V-chip @@ -1679,6 +1684,10 @@ 537=婀垮害缁熻鍥� 538=鍗曚綅 539=鏅鸿兘闈㈡澘 +540=鎶ヨ涓� +541=鐩戞帶涓� +542=寰樺緤鎶ヨ +543=鑾峰彇鏇村 1000=瀹ゅ唴婀垮害 1001=绔ラ攣 @@ -2811,7 +2820,10 @@ 537=Humidity statistics 538=Uint 539=Smart panel - +540=袧芯褉屑邪谢褜薪褘泄 +541=Monitoring +542=Wandering alarm +543=Get more 1000=袙谢邪卸薪芯褋褌褜 胁 袩芯屑械褖械薪懈懈 @@ -3960,11 +3972,14 @@ 533=Statistical Chart 534=Data 535=Dew point temperature -536=Temperature statistics +536=Temperature statistics 537=Humidity statistics 538=Uint 539=Smart panel - +540=En alarma +541=Monitoring +542=Wandering alarm +543=Get more 1000=Humedad de ambiente 1001=V-chip diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png new file mode 100644 index 0000000..56ba0c5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png new file mode 100644 index 0000000..d6482d3 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png new file mode 100644 index 0000000..72ece8b --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png new file mode 100644 index 0000000..a55c35e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png Binary files differ diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj index cb54ebd..d236f95 100644 --- a/HDL-ON_Android/HDL-ON_Android.csproj +++ b/HDL-ON_Android/HDL-ON_Android.csproj @@ -239,6 +239,10 @@ <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorhelp.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_blue.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Panel\PanelHelpAlarmBgIcon.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Panel\PanelHelpNormalBgIcon.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\screenpanel.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Panel\PanelEnviBg.png" /> </ItemGroup> <ItemGroup> <AndroidResource Include="Resources\values\colors.xml" /> @@ -1446,6 +1450,7 @@ <Folder Include="libs\arm64-v8a\" /> <Folder Include="Zxing\" /> <Folder Include="Assets\Phone\FunctionIcon\CAC\" /> + <Folder Include="Assets\Phone\FunctionIcon\Panel\" /> </ItemGroup> <Import Project="..\HDL_ON\HDL_ON.projitems" Label="Shared" Condition="Exists('..\HDL_ON\HDL_ON.projitems')" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> diff --git a/HDL-ON_Android/Other/JPush/JPushReceiver.cs b/HDL-ON_Android/Other/JPush/JPushReceiver.cs index 4566b62..3b0cf2b 100644 --- a/HDL-ON_Android/Other/JPush/JPushReceiver.cs +++ b/HDL-ON_Android/Other/JPush/JPushReceiver.cs @@ -43,6 +43,8 @@ OpenNotification(context, notificationMessage); } + static int msgId = 0; + /// <summary> /// 鏀跺埌閫氱煡鍥炶皟 /// </summary> @@ -50,46 +52,58 @@ /// <param name="p1"></param> public override void OnNotifyMessageArrived(Context context, NotificationMessage notificationMessage) { - base.OnNotifyMessageArrived(context, notificationMessage); + try + { - var pushMes = new JPushMessageInfo() - { - Title = notificationMessage.NotificationTitle, - Content = notificationMessage.NotificationContent, - Extras = notificationMessage.NotificationExtras - }; - - var jpushExpandData = GetJPushExpandData(pushMes); - if (jpushExpandData != null && jpushExpandData.messageType != null) - { - pushMes.messageType = jpushExpandData.messageType; - pushMes.expantContent = jpushExpandData.expantContent;//spk - pushMes.HomeId = jpushExpandData.homeId; - Utlis.WriteLine("PushMes messageType : " + pushMes.messageType); - } - - Utlis.WriteLine("PushMes title : " + pushMes.Title); - Utlis.WriteLine("PushMes message : " + pushMes.Content); - Utlis.WriteLine("PushMes extras : " + pushMes.Extras); - Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId); - - //UserInfo.Current.PushMesTitle = pushMes.Title; - //UserInfo.Current.PushMesMessage = pushMes.Content; - //UserInfo.Current.PushMesExtras = pushMes.Extras; - //UserInfo.Current.pushMesMessageType = pushMes.messageType; - //UserInfo.Current.pushMesExpantContent = pushMes.expantContent; - //UserInfo.Current.PushMesHomeId = pushMes.HomeId; - UserInfo.Current.pushMessageInfo = pushMes; - UserInfo.Current.inCall = DateTime.Now; - - Shared.Application.RunOnMainThread(() => - { - HDLCommon.Current.AdjustPushMessage(pushMes); - }); - if (!MainPage.IsEnterBackground) - { NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService); - nMgr.CancelAll(); + if (msgId != 0) + nMgr.Cancel(msgId); + msgId = notificationMessage.NotificationId; + base.OnNotifyMessageArrived(context, notificationMessage); Console.WriteLine("123456789ghjsdjfasdfk"); + + var pushMes = new JPushMessageInfo() + { + Title = notificationMessage.NotificationTitle, + Content = notificationMessage.NotificationContent, + Extras = notificationMessage.NotificationExtras + }; + + var jpushExpandData = GetJPushExpandData(pushMes); + if (jpushExpandData != null && jpushExpandData.messageType != null) + { + pushMes.messageType = jpushExpandData.messageType; + pushMes.expantContent = jpushExpandData.expantContent;//spk + pushMes.HomeId = jpushExpandData.homeId; + Utlis.WriteLine("PushMes messageType : " + pushMes.messageType); + } + + Utlis.WriteLine("PushMes title : " + pushMes.Title); + Utlis.WriteLine("PushMes message : " + pushMes.Content); + Utlis.WriteLine("PushMes extras : " + pushMes.Extras); + Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId); + + //UserInfo.Current.PushMesTitle = pushMes.Title; + //UserInfo.Current.PushMesMessage = pushMes.Content; + //UserInfo.Current.PushMesExtras = pushMes.Extras; + //UserInfo.Current.pushMesMessageType = pushMes.messageType; + //UserInfo.Current.pushMesExpantContent = pushMes.expantContent; + //UserInfo.Current.PushMesHomeId = pushMes.HomeId; + UserInfo.Current.pushMessageInfo = pushMes; + if (!string.IsNullOrEmpty(pushMes.spk))//鑷爺鍙瀵硅闇�瑕佽褰曟椂闂村弽鍛� + UserInfo.Current.inCall = DateTime.Now; + + if (!MainPage.IsEnterBackground) + { + //NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService); + //nMgr.CancelAll(); + Shared.Application.RunOnMainThread(() => + { + HDLCommon.Current.AdjustPushMessage(pushMes); + }); + } + } + catch (Exception wexx) { + Console.WriteLine("safsdf"+wexx.Message); } } @@ -199,25 +213,30 @@ i.SetFlags(ActivityFlags.NewTask); context.StartActivity(i); //瑙f瀽msg - AdjustPushMessage(pushMes); - - //Shared.Application.RunOnMainThread(() => - //{ - // if (Shared.Application.Activity == null) - // { - // var tempIntent = new Intent(context, typeof(Shared.BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class); - // tempIntent.SetFlags(ActivityFlags.BroughtToFront); - // context.StartActivity(tempIntent); - - // HDLCommon.Current.AdjustPushMessage(pushMes); - // } - // else - // { - - // (Shared.Application.Activity as BaseActivity).MoveToFront(); - // HDLCommon.Current.AdjustPushMessage(pushMes); - // } - //}); + AdjustPushMessage(pushMes); + + //Shared.Application.RunOnMainThread(() => + //{ + // if (Shared.Application.Activity == null) + // { + // var tempIntent = new Intent(context, typeof(Shared.BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class); + // tempIntent.SetFlags(ActivityFlags.BroughtToFront); + // context.StartActivity(tempIntent); + + // HDLCommon.Current.AdjustPushMessage(pushMes); + // } + // else + // { + + // (Shared.Application.Activity as BaseActivity).MoveToFront(); + // HDLCommon.Current.AdjustPushMessage(pushMes); + // } + //}); + if (!MainPage.IsEnterBackground) + { + NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService); + nMgr.CancelAll(); + } } catch { @@ -238,7 +257,7 @@ { while (MainPage.BasePageView == null) { - System.Threading.Thread.Sleep(300); + System.Threading.Thread.Sleep(300); } Shared.Application.RunOnMainThread(() => { diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml index cf1b3bd..eabdc56 100644 --- a/HDL-ON_Android/Properties/AndroidManifest.xml +++ b/HDL-ON_Android/Properties/AndroidManifest.xml @@ -1,6 +1,6 @@ 锘�<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202204081" android:versionName="1.5.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools"> - <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="30" /> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.5.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202205241"> + <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" /> <!--鍙嬬洘--> <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>--> <!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>--> diff --git a/HDL-ON_Android/Resources/values-zh/strings.xml b/HDL-ON_Android/Resources/values-zh/strings.xml index 8bba32d..52267b1 100644 --- a/HDL-ON_Android/Resources/values-zh/strings.xml +++ b/HDL-ON_Android/Resources/values-zh/strings.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources> - <string name="app_name">ON_Plus</string> + <string name="app_name">On_Pro</string> <string name="action_settings">璁剧疆</string> <string name="video_screenshot">鎴浘</string> <string name="video_unlock">寮�閿�</string> diff --git a/HDL-ON_Android/SplashActivity.cs b/HDL-ON_Android/SplashActivity.cs index e5c0d5a..ac78c22 100644 --- a/HDL-ON_Android/SplashActivity.cs +++ b/HDL-ON_Android/SplashActivity.cs @@ -84,7 +84,7 @@ JPushInterface.Init(this); - BaseActivity.OnCreateActoin += (activity, application) => + BaseActivity.OnCreateActoin = (activity, application) => { //鑾峰彇鏋佸厜鎺ㄩ�両D GetJPushRegistrationID(activity); @@ -133,7 +133,7 @@ } }; - BaseActivity.OnCreateActoin += (activity, application) => + BaseActivity.OnCreateActoin = (activity, application) => { Language.CurrentLanguage = "Chinese"; Locale locale1 = Locale.Default; @@ -173,16 +173,16 @@ HDLCommon.Current.UpdateInternetStatus((int)internetStatus, MainPage.IsEnterBackground); }; }; - BaseActivity.RefreshUIAction += (activity) => + BaseActivity.RefreshUIAction = (activity) => { MainPage.Show(); checkSomeInfo(); }; - BaseActivity.OnResumeAction += (activity) => + BaseActivity.OnResumeAction = (activity) => { checkSomeInfo(); }; - BaseActivity.OnDestroyAction += (activity) => + BaseActivity.OnDestroyAction = (activity) => { Console.WriteLine("OnDestroyAction"); //BusSocket.Stop(); @@ -229,7 +229,7 @@ { //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠� var tokenID = JPushInterface.GetRegistrationID(activity); - Console.WriteLine("RegistrationID: " + tokenID); + Console.WriteLine("RegistrationID1: " + tokenID); if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID) { OnAppConfig.Instance.PushDeviceToken = tokenID; @@ -250,7 +250,7 @@ break; } } - Console.WriteLine("RegistrationID: " + tokenID); + Console.WriteLine("RegistrationID2: " + tokenID); if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID) { OnAppConfig.Instance.PushDeviceToken = tokenID; diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj index e63fc9c..8787622 100644 --- a/HDL-ON_iOS/HDL-ON_iOS.csproj +++ b/HDL-ON_iOS/HDL-ON_iOS.csproj @@ -486,6 +486,7 @@ <Folder Include="Resources\Phone\FunctionIcon\Electrical\AirSwitch\" /> <Folder Include="Base.lproj\" /> <Folder Include="Resources\Phone\FunctionIcon\CAC\" /> + <Folder Include="Resources\Phone\FunctionIcon\Panel\" /> </ItemGroup> <ItemGroup> <InterfaceDefinition Include="LaunchScreen.storyboard" /> @@ -1399,6 +1400,10 @@ <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorhelp.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_blue.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Panel\PanelHelpAlarmBgIcon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Panel\PanelHelpNormalBgIcon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\screenpanel.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Panel\PanelEnviBg.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist index 5e9bc21..bdc5402 100644 --- a/HDL-ON_iOS/Info.plist +++ b/HDL-ON_iOS/Info.plist @@ -100,9 +100,9 @@ <key>UIStatusBarStyle</key> <string>UIStatusBarStyleLightContent</string> <key>CFBundleShortVersionString</key> - <string>1.5.502204081</string> + <string>1.5.502205201</string> <key>CFBundleVersion</key> - <string>1.5.504081</string> + <string>1.5.505201</string> <key>NSLocationWhenInUseUsageDescription</key> <string>Use geographic location to provide services such as weather</string> <key>NSAppleMusicUsageDescription</key> diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index 1ca107b..78daf8e 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -524,6 +524,11 @@ 536=Temperature statistics 537=Humidity statistics 538=Uint +539=Smart panel +540=In Alarm +541=Monitoring +542=Wandering alarm +543=Get more 1000=Room Humidity @@ -1040,6 +1045,8 @@ 7156=Distress 7157=whether to unlock 7158=is + + @@ -1675,6 +1682,11 @@ 536=娓╁害缁熻鍥� 537=婀垮害缁熻鍥� 538=鍗曚綅 +539=鏅鸿兘闈㈡澘 +540=鎶ヨ涓� +541=鐩戞帶涓� +542=寰樺緤鎶ヨ +543=鑾峰彇鏇村 1000=瀹ゅ唴婀垮害 1001=绔ラ攣 @@ -2173,7 +2185,6 @@ 7156=姹傛晳 7157=鏄惁寮�閿佹椂 7158=鏄� - @@ -2807,7 +2818,11 @@ 536=Temperature statistics 537=Humidity statistics 538=Uint - +539=Smart panel +540=袧芯褉屑邪谢褜薪褘泄 +541=Monitoring +542=Wandering alarm +543=Get more 1000=袙谢邪卸薪芯褋褌褜 胁 袩芯屑械褖械薪懈懈 @@ -3432,3 +3447,1144 @@ +[Spanish] +1=Ingresar +2=N煤mero de tel茅fono +3=Luz +4=Correo +5=Por favor ingrese numero de cuenta +6=Contrase帽a +7=Olvidar +8=Registrarse +9=Iniciar sesi贸n +10=Espere鈥� +11=Cerrar +12=C贸digo de verificaci贸n +13=Contrase帽a de acceso +14=Registrarse +15=N煤mero de tel茅fono +16=Ingrese la contrase帽a +17=Ingrese la contrase帽a nuevamente +18=C贸digo de verificaci贸n +19=N煤mero de tel茅fono incorrecto, ingrese nuevamente +20=L a contrase帽a y la confirmaci贸n no coinciden. Ingrese la contrase帽a nuevamente +21=El formato de la contrase帽a no cumple con los requisitos. Ingrese la contrase帽a nuevamente +22=El usuario ya existe. Puede ingresar directamete +23=C贸digo de verificaci贸n incorrecto, vuelva a ingresarlo. +24=N煤mero de cuenta incorrrecta, por favor ingrese el correo correcto +25=Correo +26=Residencia +27=Miembro +28=Desarmar +29=Armar +30=Copia de seguridad +31=Funci贸n auxiliar +32=A帽adir funciones +33=Modo noche +34=Configuraci贸n general +35=Soporte +36=Casa +37=Categor铆a +38=Inteligente +39=Individual +40=Inicio de sesi贸n fallido, n煤mero de cuenta o contrase帽a incorrectos +41=Error al enviar el codigo de verificaci贸n +42=Error de red +43=Error en el registo, int茅ntelo de nuevo +44=Confirmar reinicio +45=El numero de cuenta no existe, por favor aseg煤rese de estar registrado +46=Inicio de sesion inv谩lido, iniciar sesion nuevamente +47=Centro Personal +48=Nombre +49=C贸digo QR +50=Tel茅fono +51=Correo +52=No enlazado +53=Autorizaci贸n de terceros +54=Cambiar contrase帽a +55=Configuraci贸n de desbloqueo +56=Establecer contrase帽a, gesto, huella digital o identificaci贸n facil para proteger su provacidad +57=Salir +58=Habitaci贸n +59=Equipo +60=Funci贸n +61=Brillo +62=Configuraci贸n +63=Locaci贸n +64=Compartir +65=A帽adir acceso directo al escritorio +66=Cambiar nombre +67=Cancelar +68=Confirmar +69=Todo +70=Cortina +71=Nombre +72=Address +73=Gesti贸n de plantas +74=Gesti贸n de habitaciones +75=Migraci贸n de administrador +76=Migraci贸n de privilegios +77=Priviligio de depuraci贸n +78=El administrador migra a otro usuario +79=Toda los datos de la residencia migran al nuevo usuario +80=Permitir que el personal visite su casa de forma remota +81=Piso +82=A帽adir piso +83=Cambiar nombre de piso +84=Error al a帽adir, el piso ya existe +85=Escena +86=Borrar +87=Inmediata +88=Eliminar el piso o no? +89=A帽adir habitaci贸n +90=Cmabiar la informacion de la habitaci贸n +91=Informaci贸n de la habitanci贸n +92=Nombre +93=Piso +94=Gesti贸n funcionamiento +95=Guardar +96=Eliminar la habitaci贸n +97=Galeria por defecto +98=Camara +99=Seleccionar de la galeria +100=No asignado +101=Asignado +102=No asignado +103=Eliminar la habitaci贸n o no? +104=Tiempo de transici贸n +105=Temperatura interna +106=AC +107=Videoportero +108=Sensor +109=Monitor de seguridad +110=Panel Inteligente +111=Musica +112=Aire fresco +113=Ambiental +114=Monitoreo de energ铆a +115=Electrodom茅sticos +116=Bloqueo inteligente +117=Calefacci贸n +118=Abrir +119=Refrigeraci贸n +120=Calefacci贸n +121=Deshumidificar +122=Auto +123=Suministro de aire +124=Alto +125=Medio +126=Bajo +127=Modo +128=Velocidad del ventilador +129=Estas seguro de apagar todas las funciones de la habitaci贸n? +130=Abierta +131=A帽adido a favoritos +132=Felicitaciones! Registro exitoso +133=Inicio de sesion autom谩tico pronto鈥�. +134=El numero de no esta registrado, por favor registrese e ingrese nuevamente +135=Por favor, obtener codigo de verificaci贸n +136=La contrase帽a ha sido cambiada +137=La direccion rsidencial no puede estar en blanco +138=El nombre de la residencia no puede estar en blanco +139=El nombre de la habitaci贸n no puede estar en blanco +140=El nombre del piso no puede estar en blanco +141=No se pudo revisar, el piso ya existe +142=El nombre del equipo no puede estar en blanco +143=El nombre del usuario no puede estar en blanco +144=Nombre de usuario +145=Seleccione la p谩gina para bloquear +146=Puede seleccionar varias paginas que le gustaria mantener +147=Error en codigo de verificaci贸n +148=No protegido +149=Cuando empieza +150=Armar/Desarmar +151=Desbloquear remotamente +152=No se necesita contrase帽a/gesto al iniciar el software +153=Iniciar sesi贸n 5 minutos despues de salir de la p谩gina, se requiere el m茅todo de desbloqueo correspondiente. +154=Centro de miembros - utiliza para debloquear la funci贸n de seguridad como armar/desarmar +155=Usado para desbloquear la cerradura inteligente +156=Configuraci贸n de desbloqueo +157=Solo valido para host +158=Desbloquear con contrase帽a +159=Desbloquear con gesto +160=Desbloquear con huella +161=Desbloquear con identificaci贸n facial +162=Configuraci贸n de contrase帽a num茅rica +163=Configuraci贸n exitosa +164=Configuraci贸n de gestos +165=Por favor dibuja tu patron de desbloqueo +166=Requiere al menos una conexi贸n de 4 puntos, dibuje nuevamente +167=El patron y la corfirmacion que dibujaste no coincide, dibuje nuevamente +168=Por favor dibuje su patr贸n nuevamente +169=Desbloquear con huella o no? +170=Desbloquar con identificacion facial o no? +171=Verificar la contrase帽a num茅rica +172=Verificar el gesto +173=Por favor ingrese el gesto original +174=Por favor ingrese la contrase帽a num茅rica original +175=Verificaci贸n fallida, error en la contrase帽a +176=Cambiar la contrase帽a num茅rica +177=Cambiar el gesto +178=Cerrar la configuraci贸n de desbloqueo o no? +179=Por favor verifique la huella +180=Verificaci贸n fallida, error en el gesto +181=General +182=Dia +183=Noche +184=Abandonar +185=Por favor enlace el piso +186=Ajuste de la velocidad del ventilador +187=Ventilador +188=Enchufe +189=Nivel +190=Chl +191=Vol +192=TV +193=La habitanci贸n existe, error al cambiar +194=Medio Ambiente +195=Contaminaci贸n fuerte +196=Contaminaci贸n leve +197=Bueno +198=Excelente +199=Frio helado +200=Frio +201=Frio +202=Confort +203=Tibio +204=Caliente +205=Extremadamente caliente +206=Hasta el estandar +207=Contaminaci贸n leve +208=Contaminaci贸n media +209=Contaminaci贸n fuerte +210=Fresco +211=Turbidez +212=Hipoxia +213=Hipoxia severa +214=H煤medo +215=H煤medo +216=Seco +217=Temperatura +218=Humedad +219=Rango +220=Nivel +221=Valor de color +222=PM1.0 +223=PM2.5 +224=Ruido +225=Fuerza del viento +226=CO2 +227=TV02 +228=Dia +229=Semana +230=Mes +231=Otra regi贸n +232=Administraci贸n de miembros +233=Apodo +234=Autoridad Administrativa +235=Crear una escena +236=Apodo no puede quedar en blanco +237=Editar apodo +238=La regi贸n utilizada +239=A帽adir miembro +240=Por favor ingrese el n煤mero de cuenta del miembro + +241=Escanear codigo QR +242=Confirmar la invitaci贸n +243=Error en n煤mero de cuenta, por favor chequear +244=Agregue correctamente al miembro +245=Error de datos, por favor intente de nuevo +246=Error al a帽adir, el numero de cuenta del miembro no esta registrada + +247=No puedes agregarte a ti mismo. +248=El usuario no existe en esta residencia +249=Se ha agregado el n煤mero de cuenta del miembro, por lo que no se puede volver a agregar. + +250=Error de operaci贸n +251=Error al agregar, autoridad no valida +252=Guardado correctamente +253=Guardando鈥spere un momento. +254=Adopo editado +255=Eliminar este miembro +256=Sin favoritos +257=Introduzca el contenido +258=Bienvenido al nuevo miembro +259=Esta seguro de elimianr este miembro? +260=Introduzca la contrase帽a de inicio de sesi贸n +261=Cambio de residencia exitoso +262=Seleccionar todo +263=Compartir la selecci贸n funcional +264=Confirmar uso compartido +265=Compartir en +266=Error de uso compartido funcional +267=Uso compartido funcional exitoso +268=Correo +269=Cambiar el enlace +270=Eliminar el enlace +271=Correo +272=Cambiar la direcci贸n de correo +273=Cambiar el m茅todo de verificaci贸n +274=El c贸digo de verificaci贸n ha sido enviado, por favor ingrese +275=Reenviar +276=Verificaci贸n correcta +277=Correo +278=Por favor ingrese el nuevo correo +279=Enlazar correctamente su correo electr贸nico a su cuenta +280=No vincular su correo electr贸nica a su cuenta +281=Eliminar el enlace de correo electr贸nico +282=Eliminaci贸n correcta de enlace +283=N煤mero de telefono +284=N煤mero de telefono +285=N煤mero de telefono +286=Vincular correctamente su numero de tel茅fono a su cuenta +287=No puede vincular su numero de tel茅fono a su cuenta +288=Cambiar el enlace +289=Quitar el enlace +290=No se puede obtener el historial +291=Sin favoritos +292=Acerca de ON+ +293=Miembro +294=Administrador +295=Cambiar la contrase帽a +296=Antes de cambiar la contrase帽a iniciar sesion +297=Por favor verifique ID +298=Verificaci贸n telefonica +299=Verificaci贸n de correo electronico +300=No se ha enlazado a la direcci贸n de correo electronico, no puede verificar +301=No se ha enlazado a un numero telefonico, no se puede verificar +302=Proceder al enlace +303=Eliminado correctamente el enlace a su numero de telefono +304=El codigo de verificaci贸n se ha enviado a: +305=Telefono +306=Correo +307=Recibi贸 nuevos datos, esta seguro de anularlos? +308=Automatizaci贸n +309=Crear una escena +310=A帽adir escena +311=Configuraci贸n basica +312=Nombre +313=Region +314=Completo +315=Vista completa de la residencia +316=Sleccionar +317=Ya a帽adido +318=Conmutador +319=Velocidad del ventilador +320=Modo +321=Encendido +322=Apagado +323=Escena +324=Retardo de escena +325=Configuraci贸n de retardo +326=Retardo +327=Capturar la escena +328=Escena de pelicula +329=General +330=Modo autom谩tico +331=Potencia calentamiento suelo +332=Refrigeraci贸n suelo +333=Potencia de refrigeraci贸n del suelo +334=Ajustar el porcentaje +335=Sin retardo +336=No hay escena disponible. A帽ade uno! +337=Editar la escena +338=El nombre de la escena no puede estar en blanco +339=El nombre de la escena ya existe, por favor revise +340=El nombre de la habitaci贸n ya existe, por favor revise +341=Eliminar esta escena o no? +342=La puerta de enlace esta fuera de linea, falla de conexi贸n remota +343=Error MAC, error de conexi贸n remota. +344=Error de conexi贸n remota. +345=Telefono +346=Correo +347=Ingrese el nuevo numero de telefono ceular +348=Ya se ha utilizado el numero de telefono celular +349=Ya se ha utilizado la direccion de correo electronico +350=La direcci贸n de correo electr贸nico es la misma que la actual, sin necesidad de cambiar. +351=El n煤mero de tel茅fono es la mismo que la actual, sin necesidad de cambiar. +352=Asignaci贸n de piso +353=Separar +354=Cerrar +355=Acerca de +356=Numero de version +357=Esta funcion no esta disponible! +358=Telefono +359=Correo +360=Escena de panel +361=No a帽adido +362=Seleccionar todo +363=No se puede comunicar con el servidor, no se puede editar la informaci贸n del dispositivo +364=No se puede comunicar con el servidor, no se puede editar la informaci贸n de la habitaci贸n +365=No se puede comunicar con el servidor, no se puede editar la informaci贸n de la escena +366=No se puede comunicar con el servidor, no se puede eliminar la escena +367=No se puede comunicar con el servidor, no se puede eliminar el piso +368=Bienvenido a disfrutar de ON+ +369=A帽adir residencia +370=Convi茅rtete en miembro de la familia +371=No se puede utilizar la funcion, por favor verifique su conexi贸n +372=No se puede crear una escena, por favro verifique su conexi贸n +373=Error al agregar un piso +374=Los datos residenciales se han eliminado, APP cambiar谩 autom谩ticamente a otra residencia. +375=El gateway no esta conectado al servidor, no se puede crear la escena +376=No se puede introducir un car谩cter especial +377=Toda la residencia +378=Tiempo de transici贸n +379=Velocidad de transicion +380=Esta funcion no esta disponible! +381=Recargar +400=Bienvenido a casa +401=Codigo de barras no v谩lido, intentelo de nuevo +402=Int茅ntelo de nuevo +403=Temperatura de color +404=Ajuste r谩pido +405=Acogedor +406=Reuni贸n +407=Lectura +408=A帽adir +409=Marca de funci贸n +410=No ha agregado ningun dispositov de pataforma en la actualidad +411=Otros dispositivos de plataforma son compatibles con proveedores de serviciso externos +412=A帽adir +413=Controlador no activado +414=Controlador activado +415=Alguien +416=Registro +417=Fuga de agua +418=En alarma +419=Normal +420=Seco caliente +421=Secado al aire +422=Desinfectar +423=Iluminaci贸n +424=Tiempo +425=Tiempo seco caliente +426=Tiempo de secado al aire +427=Tiempo de desinfecci贸n +428=Tiempo Ani贸n +429=H +430=Min +431=Actualmente esta agregando cualquier dispositivos de plataforma a +432=Otros dispositivos de plataforma son compatibles con proveedores de serviciso externos +433=Valvula de agua +434=Interruptor de tiempo +435=Control remoto +436=Dispositivos a帽adido +437=Lista de dispositivos +438=humedad:{0}% aire:viento {1}:{2} +439=Tiempo real: {0} kw +440=Siguiente paso +441=Seleccione todas las 谩reas de estado de captura +442=Generar escena +443=Implementaci贸n personalizada +444=Centro de seguridad +445=Defensa de la casa +446=Defensa en casa +447=Defensa de vacaciones +448=Implementaci贸n fija +449=*Deshacer defensa no afecta +450=Defensa contra desastres +451=Defensa de 24 horas +452=Alarma antirrobo +453=Silenciar alarma +454=Informaci贸n de implementaci贸n +455=El nombre no puede estar en blanco +456=Lienzo +457=Consumo de energ铆a +458=Fecha +459=Consumo de energ铆a en tiempo real +460=Consumo energ茅tico de este mes +461=Exterior/Interior +462=Aun no has a帽adido ningun dispositivo + +463=Introduzca el c贸digo SN del dispositivo +464=Puede empezar a usar la onda milim茅trica Zhaoguan +465=Eliminar dispositivo +466=STB +467=Proyector +468=Alguien cay贸 +469=Alguien est谩 en + +470=Bajo protecci贸n +471=Sensor de onda milim茅trica +472=Exterior +473=Columpio +474=Oscilaci贸n hacia arriba y hacia abajo +475=Gira a izquierda y derecha +476=A帽adir residencia +477=Columpio +478=Patr贸n +479=Velocidad +480=Sensor ambiental +481=Puede empezar a usar el sensor ambiental +482=Sensor de gas +483=Introduzca el c贸digo MAC del dispositivo +484=Abierto +485=Comprobar/Modificar +486=Funci贸n de defensa/Estado de alarma +487=Objetivo de alarma despues de la activaci贸n +488=Paso de rostro +489=Aplicar identificaci贸n facil a: +490=Control de acceso a la comunidad +491=Acerda de identificacion facil y privacidad +492=Borrar datos +493=Resetear identificaci贸n facial +494=Establecer identificaci贸n facial +495=Configuraci贸n paso de rostro +496=No hay ningun estado de implementacion de tareas asociado +497=Personalizado +498=Implementaci贸n retrasada +499=Agregar funci贸n de defensa +500=Agregar destino de alarma +501=Alarma de seguridad: se activa en {0} +502=Borrar la alarma de seguridad? +503=Exceso de estandar +504=Bueno +505=Excelente +506=Indentificacion facil ingresada correctamente +507=Ingreso identificaci贸n facil fallida +508=Formaldeh铆do +509=Introduzca el nombre de seguridad +510=Seleccione el destino de implementaci贸n +511=Atenuaci贸n combinada +512=Mensajes no estan habilitados, vaya a configuraci贸n +513=Introduzca el codigo de emparejamiento +514=La informaci贸n de la ubicaci贸n del gateway no est谩 configurada +515=Agregar seguridad +516=Withdrawal +------ +517=Instantaneous value +518=Cumulative power consumption +519=Voltage (V) +520=Electric Current (A) +521=Power (W) +522=Refresh +523=Delay alarm +524=Bypass +525=Enable +526=Cancel account +527=Homekit support notes +528=Firmware update +529= +530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password. +531=Password free unlocking within five minutes +532=The device is offline and cannot be operated temporarily +533=Statistical Chart +534=Data +535=Dew point temperature +536=Temperature statistics +537=Humidity statistics +538=Uint +539=Smart panel +540=En alarma +541=Monitoring +542=Wandering alarm +543=Get more + +1000=Humedad de ambiente +1001=V-chip +1002=Ani贸n +1003=Estirilizaci贸n +1004=Humidificar +1005=Restablecimiento del elemento de filtro +1006=Iluminaci贸n +1007=Autom谩tico +1008=Manual +1009=Fuerte +1010=Dormir +1011=Tiempo +1012=Velocidad del viento +1013=Engranaje +1014=Confirme si el elemento filtrante se ha restablecido y opere el equipo de acuerdo con el manual de instrucciones para que la vida 煤til del elemento filtrante se vuelva a cronometrar +1015=Marcha baja +1016=Engranaje medio +1017=Marcha alta +1018=Configuraci贸n de temportizaci贸n +1019=Hora +1020=Tiempo del elemento de filtro: +1021=Filtro de aire +1022=Velocidad actual del viento +1023=Cancelar tiempo +1024=Robot de barrido de pisos +1025=Succi贸n +1026=1掳 Marcha +1027=2掳 Marcha +1028=3掳 Marcha +1029=Carga +1030=Voz +1031=Silenciar +1032=Modo de limpieza +1033=Gestion de consumibles +1034=Historia +1035=Autom谩tico +1036=Aleatorio +1037=Muro +1038=Espiral +1039=脕rea total limpia +1040=Tiempo total de limpieza +1041=Vida 煤til restante del cepillo lateral +1042=Vida 煤til residual del cepillo de rodillos +1043=Vida 煤til restante de la pantalla de filtro +1044=Restablecer pincel de bordes +1045=Restablecer cepillo de rollo +1046=Restablecer pantalla +1047=Confirmar para restablecer el pincel de bordes? +1048=Confirmar para restablecer el cepillo de rollo? +1049=Confirmar para restablecer la pantalla? +1050=Agregar dispositivo +1051=Mini control remoto inteligente +1052=Agregar control remoto por infrarrojos +1053=Presione el bot贸n del control remoto infrarrojo{0} durante 3 segundos y la luz indicadora{0} se enciende en azul r谩pidamente +1054=Aseg煤rese de que su Bluetooth{0} est茅 activado y se pueda buscar +1055=Siguiente paso +1056=Buscando dispositivo鈥� +1057=No se ha encontrado ning煤n mando a distancia por infrarrojos +1058=1.Compruebe si el dispositivo est谩{0} encendido normalmente{0}2.Compruebe si la funci贸n Bluetooth{0} est谩 activada normalmente{0}3.Compruebe si el indicador{0} luz parpadea en azul +1059=Buscar de nuevo +1060=Conectar WiFi +1061=En la actualidad, solo es compatible con la red WiFi 2.4G{0} y no admite nombres WiFi{0} con caracteres chinos +1062=Contrase帽a +1063=Conectando鈥� +1064=Haga que el control remoto por infrarrojos{0} lo m谩s cerca posible del enrutador WiFi +1065=Enlace de red +1066=Subir a nube +1067=Conectado con 茅xito +1068=1.Compruebe si el dispositivo est谩{0} encendido normalmente{0}2.Active la funci贸n Bluetooth{0}3.Presione el bot贸n durante 10 s y el indicador{0} luz estar谩 encendida +1069=Error al agregar +1070=Agregado con 茅xito +1071=隆Puedes empezar a usar el control infrarrojo{0}remote! +1072=Empezar a usar +1073=Por favor encender Bluethooth +1074=Informaci贸n de ubicaci贸n (GBS) no disponible +1075=Red no disponible +1076=Seleccione el mando a distancia por infrarrojos +1077=Aire fresco +1078=Pantalla de filtro residual +1079=Energia +1080=Ventilado +;鍒� +1081=1掳 Marcha +1082=2掳 Marcha +1083=3掳 Marcha +1084=1掳 Marcha +1085=2掳 Marcha +1086=3掳 Marcha +1087=Desbloquear +1088=Temp. Contrase帽a +1089=Conectado +1090=Desconectado +1091=Generar +1092=Tiempo efectivo +1093=Tiempo de caducidad +1094=Seleccionar hora +1095=Seleccionar fecha +1096=Generar +1097=Se ha copiado la contrase帽a actual +1098=Borrar contrase帽a? +1099=El tiempo de caducidad debe ser posterior al tiempo efectivo +1100=M茅todo de desbloqueo +1101=Se sincronizar谩 con el bloqueo real, 驴confirmar para eliminar? +1102=Borrar +1103=Comentar +1104=El comentario no puede estar en blanco +1105=Asignar a: +1106=Escena de destino no existe +1107=Seleccionar escena +1108=Desbloquear +1109=Siempre encendido +1110=Configuraci贸n +1111=Automatizaci贸n +1112=Activar el modo "Siempre encendido" +1113=Desactivar el modo "Siempre encendido" +1114=Editar +1115=Siempre Encendido estar谩 apagado {0} +1116=Condici贸n +1117=Movimiento +1118=Siempre encendido +1119=Bloquear +1120=Usuario +1121=M茅todo de desbloqueo +1122=Huella digital +1123=Tarjeta +1124=Clave +1125=Informaci贸n +1126=Desbloquear +1127=Alarma +1128=Sin conexi贸n +1129=Para el primer usuario, introduzca la contrase帽a. +1130=Introduzca la contrase帽a de administrador +1131=Enlace correcto +1132=Saltar a la contrase帽a personal para desbloquear +1133=Saltar +1134=Por favor, dibuja tu patr贸n +1135=El bloqueo estar谩 siempre encendido despu茅s de la configuraci贸n, confirme para continuar +1136=Confirmar +1137=Caducar +1138=Siempre Encendido caducar谩 despues de {0} horas +1139=Introduzca el tiempo de caducidad +1140=El tiempo de caducidad no debe ser superior a 72 horas +1141=El tiempo de caducidad no debe ser inferior a 1 hora +1142=Error al establecer conexi贸n, intentelo de nuevo +1143=No se puede verificar el ID de administrador, vuelva a iniciar sesi贸n en la cuenta +1144=Su residencia est谩 siendo migrada a otro HDL +1145=Nota: +1. Todos sus datos de residencia se migrar谩n a un nuevo usuario. {0} 2. Despu茅s de la migraci贸n, el miembro original ser谩{0}autom谩ticamente desvinculado de esta residencia. {0} 3. La nueva cuenta es una HDL v谩lida. {0} 4. La cuenta del receptor no puede ser la misma{0} que la del lado de la migraci贸n. +1147=Confirmar +1148=Cuenta del receptor de entrada +1149=Perfil +1150=Confirmar migraci贸n de administrador de {0} a {1} +1151=La cuenta no existe +1152=No transferir la propiedad a usted mismo +1153=Terminar +1154=Transferir al usuario, por favor espere... +1155={0} se ha convertido en administrador residencial +1156=Los datos de residencia se eliminar谩n de su cuenta +1157=No se puede migrar +1158=Int茅ntelo de nuevo +1159=Migraci贸n de la autoridad de administraci贸n +1160=Su autoridad de administraci贸n se est谩 migrando a otros miembros +1161=1.Sus datos (datos en la nube) de la residencia ser谩n{0}migrabados al nuevo administrador{0}2.Sus datos se intercambiar谩n con el miembro objetivo{0}y su permiso se cambiar谩 al miembro objetivo{0} +1162=Confirmar +1163=No hay miembros para elegir +1164=Confirmar la migraci贸n de la autoridad de administraci贸n de {0} a {1} +1165=Migrar correctamente +1166=No se puede migrar +1167=Migrar correctamente, y sus permisos se convertir谩n en miembros normales + +4000=Videoportero +4001=Registro de llamadas +4002=*Los registros en la nube solo se conservan durante 30 d铆as +4003=Llamada telef贸nica a domicilio +4004=Contestado +4005=Desbloqueado +4006=A帽o +4007=De +4008=Llamada +4009=Desbloqueado +4010=Perdido +4011=Rechazado +4012=隆Los par谩metros de configuraci贸n son anormales! +4013=C贸digo QR de control de acceso +4014=Contrase帽a temporal + + + + + +5000=Musica +5001=Grupo +5002=Configuracion +5003=Informaci贸n general +5004=Reproductor multimedia +5005=Bluetooth +5006=Region +5007=Lista de canciones +5008=Mis favoritos +5009=Mi lista +5010=Seleccionar fuente +5011=Local +5012=USB +5013=Radio en linea +5014=QQ musica +5015=Bluetooth +5016=Entrada de linea +5017=Revisar el nombre +5018=Individual +5019=Juego aleatorio +5020=Lista +5021=Ha cambiado a: +5022=Cancelar +5023=Borrar +5024=Editar +5025=El nombre de la lista es el mismo +5026=El nombre de la lista esta en blanco +5027=Introduzca el nombre de la lista +5028=Agregar nueva lista +5029=Preguntar +5030=Eliminar la carpeta o no? +5031=Confirmar +5032=El nombre est谩 en blanco +5033=A帽adido a la lista de canciones +5034=Radio +5035=Seleccionar grupo +5036=Play +5037=Seleccione al menos mas de 2 reproductores multimedia +5038=No se pueden seleccionar 2 o m谩s de 2 reproductores multimedia principales para convertirse en un grupo +5039=No ha seleccionado el reproductor multimedia +5040=Seleccione esta opci贸n para quitar el reproductor multimedia +5041=No se ha seleccionado quitar el reproductor multimedia +5042=Configurando +5043=Borrando鈥� +5044=Volumen +5045=Volumen general +5046=Ajustar volumen +5047="QQ music" no se ha instalado en su tel茅fono celular, proceda en el Centro de aplicaciones. + +6000=Normal +6001=Estado del dispositivo +6002=piezas +6003=Dispositivo de control IR actual +6004=Se ha a帽adido el mando a distancia +6005=AC +6006=TV +6007=Ventilador +6008=Decodificador +6009=DVD +6010=Proyector +6011=Personalizado +6012=IR Control +6013=Administraci贸n de dispositivos +6014=Agregar mando de distancia +6015=En linea +6016=Sin conexi贸n +6017=N煤mero de version +6018=Introduzca el nombre de mando a distancia +6019=Recordatorio: Despu茅s de crear el mando a distancia, se puede encontrar y utilizar en Function-Electrical Category{\r\n} +6020=Boton recomendado +6021=Introduzca el nombre del bot贸n +6022=Siguiente +6023=Potencia +6024=Volumen+ +6025=Volumen- +6026=Channel+ +6027=Channel- +6028=Subir +6029=Bajar +6030=Izquierda +6031=Derecha +6032=Silenciar +6034=Confirmar +6035=Reproducir +6037=Salir +6038=Menu +6039=Pausar +6040=Volver +6041=Detener +6042=Pagina de inicio +6043=Avance r谩pido +6044=Rebobinar +6045=Tiempo +6046=Copiar funcion de control remoto +6047=Apunta al centro del mando a distancia y pulsa el mismo bot贸n +6048=Mando a distancia inteligente +6049=Agregar bot贸n +6050=*Pulsaci贸n larga para la clasificaci贸n personalizada +6051=Hecho +6052=Agregado correctmente +6053=Se puede clasificar -funcion-operaci贸n electrica y uso +6054=Clasificaci贸n +6055=Nombre del mando a distancia +6056=Regi贸n +6057=Continuar agregando +6058=El茅ctrico +6059=Error al agregar +6060=Reintentar +6061=Hacer coincidir el mando a distancia +6062=Haga clic en el bot贸n de abajo +6063=Confirmar si el dispositivo esta respondiendo +6064=Error de control +6065=Control exitoso +6066=Encendido +6067=Modo de enfriamiento +6068= +6069=Temperatura 26掳 +6070=Eliminar dispositivo +6071=Modificar nombre +6072=Confirmar eliminaci贸n +6073=Cancelar +6074=El mando a distancia no puede superar los 10 puntos +6075=El 谩rea donde pertenece el control remoto: +6076=Editar informaci贸n +6077=Actualizaci贸n de la versi贸n +6078=El sistema est谩 en mantenimiento ~ Int茅ntelo de nuevo m谩s tarde ~ +6079=Error al obtener datos +6080=Esta funcion no se admite temporalmente +6081=Seleccionar banda IR +6082= +6083=Baja velocidad +6084=Interruptor de velocidad del viento +6085=Alta velocidad +6086=Auto +6087=Temperatura+ +6088=Temperatura- +6089=Purificador de aire +6090=Calentador de agua +6091=Producto no existe +6092=El dispositivo no existe +6093=El dispositivo no esta en linea +6094=El dispositivo de puerta de enlace no existe +6095=Mas de 30 botondes de adici贸n +6000=Renombrar +6001=Introduzca el nombre +6002=Xiaodu +6003=aispeech +6004=El sistema est谩 en mantenimiento ~ Int茅ntelo de nuevo m谩s tarde ~ +6005=Desvinculado +6006=Altavoz inteligente +6007=Controlar contenido +6008=Error al cagar datos +6009=Error al configurar datos +6010="Todav铆a no hay altavoz", "Vaya a la aplicaci贸n de terceros para vincular el altavoz inteligente". +6011=La modificaci贸n de los comentarios no tiene 茅xito +6012=Quieres desvincularte? +6013=Desvinculaci贸n +6014=transferir a app de terceros +6015=A帽adir altavoces +7000=Crear automatizaci贸n +7001=Etidar automatizaci贸n +7002=Si +7003=Cuando cumple las siguientes condiciones al mismo tiempo +7004=Cundo cumple una de las condiciones siguintes +7005=Continuar con la ejecuci贸n +7006=L asiguiente acci贸n +7007=M茅todo de reciclaje +7008=Ejecutar una vez +7009=Todos los d铆as +7010=Cada semana +7011=Cada mes +7012=Guardar +7013=Mensaje push +7014=Enviar notificaci贸n +7015=Seleccionar la condici贸n +7016=Momento +7017=Seleccione la condici贸n de tiempo +7018=Hora +7019=Intervalo de tiempo +7020=Hora +7021=Minuto +7022=Segundo +7023=Cancelar +7024=Seguro +7025=*Debe ejecutar la automatizaci贸n que establezca una vez durante el intervalo de tiempo establecido. +7026=Hora de inicio +7027=Hora de finalizaci贸n +7028=Funci贸n +7029=Seleccionar condici贸n funcional +7030=Toda la regi贸n +7031=Toda la funci贸n +7032=Encendido +7033=Apagado +7034=Conmutador +7035=Completo +7036=Agregar ejecuci贸n +7037=Lunes +7038=Martes +7039=Mi茅rcoles +7040=Jueves +7041=Viernes +7042=S谩bado +7043=Domingo +7044=Cumplir con la condici贸n +7045=Configuraci贸n +7046=Nombre +7047=Cambiar el nombre +7048=El nombre de la automatizaci贸n ya existe +7049=Eliminar automatizaci贸n o no? +7050=Agregar escena +7051=Retraso +7052=No se puede guardar, int茅ntelo de nuevo +7053=No se puede eliminar, int茅ntelo de nuevo +7054=Pausar +7055=Brillo +7056=Porcentaje +7057=Modo +7058=Enfriamiento +7059=Calefacci贸n +7060=Autom谩tico +7061=Deshumidificar +7062=Temperatura +7063=Velocidad de ventilador +7064=D铆a +7065=Noche +7066=Abandonar +7067=General +7068=Tiempo +7069=No ha configurado la automatizaci贸n, procesa a configurar +7070=Nada est谩 aqu铆 +7071=No se ha establecido la hora de inicio, por favor configurar +7072=La hora de finalizaci贸n no se ha establecido, por favor estableza +7073=La hora de inicio y la hora de finalizacion no deben ser las mismas +7074=La hora de inicio no debe ser mayor a la hora de finalizaci贸n +7075=La condicion no debe estar en blanco +7076=Target no debe estar en blanco +7077=La hora no se ha establecido, por favor establezca +7078=L a condici贸n o el objetivo no deben estar en blanco +7079=L a puerta de enlace esta fuera de l铆nea +7080=Salida/Puesta de sol/Mediod铆a +7081=Amanecer +7082=Puesta de sol +7083=Mediod铆a +7084=A tiempo +7085=Avance +7086=Minutos +7087=Cambio exterior +7088=Seleccionar condicion de cambio al aire libre +7089=Temperatura exterior, humedad, cambio de PM2.5 +7090=Cambio de clima (clima urbano) +7091=Cambio en el entorno exterior +7092=Temperatura superior a +7093=Temperatura inferior +7094=Humedad superior a +7095=Humedad por debajo +7096=PM2.5 supeior a +7097=PM2.5 por debajo +7098=D铆a soleado +7099=Nublado +7100= +7101=*Establezca el valor en este rango (1 ~ 100). +7102=Sin valor establecido +7103=Excelente: 0 ~ 35ug/m3 +7104=Bueno: 36 ~ 75ug/m3 +7105=Contaminaci贸n lum铆nica: 76 ~ 115ug/m3 +7106=Contaminaci贸n moderada: 116 ~ 150ug/m3 +7107=Contaminaci贸n intensa: > 150ug/m3 +7108=Fuga/Sin fuga +7109=Fuga +7110=Sin fuga +7111=Fuga de agua/sin fugas de agua +7112=Fuga de agua +7113=Sin fuga de agua +7114=Alguien/Nadie +7115=Alguien +7116=Nadie +7117=Abierto/Cerrado +7118=Activado +7119=Cerrar +7120=Funci贸n anti-desmantelamiento +7121=En linea +7122=Fuera de linea +7123=Calidad del aire +7124=Excelente +7125=Bueno +7126=Pobre +7127=Enviar notificaci贸n +7128=Contenido de la notificaci贸n +7129=(dentro de los 100 caracteres) +7130=Selecci贸n de cuenta +7131=Aplicaci贸n push +7132=Automatizaci贸n +7133=Ejecutado +7134=Estado de destino +7135=Ca铆da +7136=Temperatura +7137=Humedad +7138=PM2.5 +7139=CO2 +7140=TVOC +7141=Exceder +7142=Grave +7143=Alto +7144=Excelencia +7145=Seguridad +7146=A帽adir seguridad +7147=Armado +7148=Desarmado +7149=Manualmente +7150=Inteligente +7151=Bueno +7152=Dejar o Arrivar a un lugar +7153=Salir +7154=Llegar +9000=Inicio sesi贸n con un nuevo n煤mero de tel茅fono celular +9001=Inicie sesi贸n con una nueva direcci贸n de correo el茅ctr贸nico +9002=Nuevo numero de celular revisado +9003=Nuevo numero de celular enlazado +9004=Nueva direcci贸n de correo electr贸nico revisado +9005=Nueva direcci贸n de correo electr贸nico enlazado +9006=El c贸digo de verificaci贸n puede enviarse m谩s tarde, espere. +9007=Por favor, espere +9008=Volver +9009=El usuario no desea ser nombrado +9010=Nueva contrase帽a +9011=Introduzca la nueva contrase帽a nuevamente +9012=De acuerdo +9013=Acuerdo de servicio +9014=Normativa de protecci贸n de la informaci贸n del usuario +9015=y +9016=Lea y acepte el Acuerdo de servicio del usuario y las regulaciones de protecci贸n de la informaci贸n del usuario. +9017=Esta seguro de cerrar sesi贸n? +9018=Seleccione pais/regi贸n +9019=Actualizar ahora +9020=Ahora no +9021=Pa铆s/regi贸n +9022=Informaci贸n del servidor +9023=Servidor actual +9024=*El servidor hace referencia a la base de datos para la nube, sin necesidad alguna, no se recomienda realizar migraci贸n de datos. +9025=Si es necesaria la migraci贸n de datos, marque +9026=Introducci贸n a la funci贸n +9027=Quejas +9028=Actualizaci贸n de la versi贸n +9029=(por favor indique "quejas" en el t铆tulo, luego procesaremos en prioridad.) +9030=Copia realizada +9031=No hay nada aqu铆 +9032=Obtener nueva versi贸n +9033=脷ltima versi贸n +9034=Que puedo hacer por ti? +9035=Problema de funci贸n +9036=Problema de escena +9037=Soporte de aplicaciones +9038=(Preguntas frecuentes) +9039=Compartir y funci贸n +9040=Alertas +9041=Informaci贸n del sistema +9042=Centro de informaci贸n +9043=Tenga en cuenta que su n煤mero de cuenta ha iniciado sesi贸n en otro lugar. Si no lo hace usted mismo, cambie la contrase帽a de inmediato. +9044=Cargado correctamente +9045=No se puede cargar +9046=Revisado correctamente +9047=La contrase帽a que ha revisado ha entrado en vigor, vuelva a iniciar sesi贸n. +9048=Iniciar sesion con la contrase帽a del numero de cuenta +9049=Contrase帽a incorrecta para muchas veces, 隆el n煤mero de cuenta est谩 bloqueado! +9050=Verificar la identificaci贸n facial +9051=Error al guardar la identificaci贸n facial del usuario +9052=La notificaci贸n push de registro esta disponible +9053=La notificaci贸n push de registro es anormal +9054=Verificaci贸n numerica de contrase帽a +9055=Verificaci贸n de gestos +9056=A帽o +9057=Sin funci贸n regional +9058=Guardar o no? +9059=No compartir ahora +9060=Usos-permiso +9061=Encuentra tu contrase帽a haciendo clic en "Olvid茅 mi contrase帽a", o int茅ntalo de nuevo en {0} minuto. +9062=Comprobar +9063=Todav铆a tienes {0} veces. +9064=Altavoz inteligente +9065=Gesti贸n de datos +9066=Comentarios +9067=Los comentarios no pueden estar en blanco +9068=Desea desvincularse? +9069=Aviso de propiedad +10000=Contrasela no v谩lida, vuelva a iniciar sesi贸n +10001=Error al solicitar el servidor, int茅ntelo de nuevo m谩s tarde. +10002=Mantenimiento del sistema, int茅ntalo de nuevo mas tarde +10003=No puede iniciar sesi贸n, agregue la residencia al principio. +10004=El n煤mero de cuenta ya existe +10005=Env铆as el c贸digo de verificaci贸n con demasiada frecuencia, int茅ntalo de nuevo m谩s tarde. +10006=Error de firma +10007=Sistema ocupado, intentelo de nuevo mas tarde! +10008=Contrasea no v谩lida para iniciar sesi贸n +10009=El usuario ha sido deshabilitado +10010=Error de contrase帽a original +10011=El n煤mero de subcuenta ya existe +10012=El npumero de subcuenta no existe +10013=No esta permitido agregarse como miembro +10014=La residencia actual no pertenece al este n煤mero de cuenta +10015=El nombre de la residencia ya existe +10016=La residencia no existe +10017=Error de solicitud, par谩metro anormal! +10018=El n煤mero que enlazaste es duplicado +10019=Enlazar el gateway primero +10020=El gateway no existe +10021=El gateway esta fuera de l铆nea +10022=El dispositivo est谩 fuera de l铆nea +10023=Error de control +10024=La escena ya existe +10025=La automatizaci贸n ya existe +10026=Spk no admite esta funci贸n +10027=Spk no admite este valor funcional +10028=No tienes permiso +10029=El destino del dispositivo est谩 duplicado +10030=No tiene permiso para el control remoto +10031=El dispositivo no debe estar en blanco +10032=El usuario no tiene permiso +10033=El dispositivo no existe diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png new file mode 100644 index 0000000..56ba0c5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png new file mode 100644 index 0000000..d6482d3 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png new file mode 100644 index 0000000..72ece8b --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png new file mode 100644 index 0000000..a55c35e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png Binary files differ diff --git a/HDL_APP_Project.sln b/HDL_APP_Project.sln index 965bf82..fab839a 100644 --- a/HDL_APP_Project.sln +++ b/HDL_APP_Project.sln @@ -18,11 +18,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UMSdk", "UMSdk\UMSdk.csproj", "{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{510DDCFF-AA25-4C6E-B578-B3B7A2EFBB96}" - ProjectSection(SolutionItems) = preProject - LogicMethod.cs = LogicMethod.cs - EndProjectSection -EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution HDL_ON\HDL_ON.projitems*{09712674-2a38-407b-b1e2-560b2c352f9a}*SharedItemsImports = 4 diff --git a/HDL_ON/Common/ImageUtlis.cs b/HDL_ON/Common/ImageUtlis.cs index 918483d..fe739d5 100644 --- a/HDL_ON/Common/ImageUtlis.cs +++ b/HDL_ON/Common/ImageUtlis.cs @@ -466,6 +466,47 @@ } } + + + /// <summary> + /// 涓嬭浇鐢ㄦ埛澶村儚 + /// </summary> + /// <param name="imageUrl"></param> + /// <param name="ignoreCache">蹇界暐缂撳瓨</param> + /// <param name="regionUrl">鎸囧畾鏈嶅姟鍣ㄥ煙鍚�,浼犵┖涓轰娇鐢ㄥ綋鍓嶇敤鎴峰湴鍧�</param> + /// <returns></returns> + public byte[] DownImageByImageUrl(string imageUrl, bool ignoreCache = false) + { + try + { + if (string.IsNullOrEmpty(imageUrl)) return null; + + byte[] imageBytes; + if (!ignoreCache && Exists(imageUrl)) + { + //鏈湴鏈夌紦瀛� + imageBytes = ReadFile(imageUrl); + } + else + { + //涓嬭浇 + imageBytes = HttpUtil.HttpsDownload(imageUrl); + if (imageBytes != null) + { + //淇濆瓨鍒版湰鍦� + WriteFileByBytes(imageUrl, imageBytes); + } + + } + return imageBytes; + } + catch + { + return null; + } + } + + #endregion } } diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 98dd5ac..d537d1f 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -4,6 +4,23 @@ { public static class StringId { + + /// <summary> + /// 鑾峰彇鏇村 + /// </summary> + public const int GetMore = 543; + /// <summary> + /// 寰樺緤鎶ヨ + /// </summary> + public const int WanderingAlarm = 542; + /// <summary> + /// 鐩戞帶涓� + /// </summary> + public const int Monitoring = 541; + /// <summary> + /// 鎶ヨ涓� + /// </summary> + public const int InAlarming = 540; /// <summary> /// 鏅鸿兘闈㈡澘 /// </summary> diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs index 5f9b849..5672c7a 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -94,7 +94,7 @@ } set { - if (_GatewayOnline_Local != value) + //if (_GatewayOnline_Local != value) { _GatewayOnline_Local = value; if (value) @@ -129,7 +129,7 @@ } set { - if (_GatewayOnline_Cloud != value) + //if (_GatewayOnline_Cloud != value) { _GatewayOnline_Cloud = value; if(GatewayOnline_Local) @@ -460,6 +460,7 @@ var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson); new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id,resend); MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"); + //Control.Ins.MsgInfoList.Add($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"+"\r\n"); } } //杩滅▼閫氳 @@ -655,6 +656,79 @@ } /// <summary> + /// 鍙戦�佽鍙栧懡浠� + /// 鑷姩鍒ゆ柇鏄惁涓篈鍗忚璁惧 + /// </summary> + public void SendReadCommand(List<Function> functions, bool forceRemote = false) + { + List<string> sids = new List<string>(); + foreach (Function function in functions) + { + sids.Add(function.sid); + function.refreshTime = DateTime.Now; + } + if (forceRemote) + { + + var pm = new DAL.Server.HttpServerRequest(); + var pack = pm.RefreshDeviceStatus(sids); + } + else + { + if (Ins.GatewayOnline_Local) + { + + if (DB_ResidenceData.Instance.GatewayType == 0) + { + try + { + var busClient = new Control_Udp(); + foreach (Function function in functions) + { + busClient.ReadBusData(function); + } + + } + catch (Exception ex) + { + MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}"); + } + } + else + { + var objects = new List<Dictionary<string, string>>(); + + + foreach (Function function in functions) + { + var readKey = new Dictionary<string, string>(); + readKey.Add("sid", function.sid); + objects.Add(readKey); + } + + + var readDataObj = new AlinkReadFunctionStatusObj() + { + id = Ins.msg_id.ToString(), + objects = objects, + time_stamp = Utlis.GetTimestamp() + }; + var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj); + var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson); + MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"); + new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id); + } + } + else + { + var pm = new DAL.Server.HttpServerRequest(); + var pack = pm.RefreshDeviceStatus(sids); + } + } + } + + + /// <summary> /// 瀹夐槻鎺у埗 /// </summary> public void ControlSecurity(SecurityAlarm securityAlarm,string state) @@ -666,7 +740,7 @@ gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId, sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId } }); - MainPage.Log($"瀹夐槻鎺у埗缁撴灉:{result.Code}"); + MainPage.Log($"瀹夐槻鎺у埗缁撴灉:code锛歿result.Code}锛沵sg锛歿result.message}"); } else { @@ -951,6 +1025,7 @@ /// <summary> /// 鏇存柊璁惧鐘舵�� /// A鍗忚鏁版嵁 + /// Tag Link鐘舵�佸鐞� /// </summary> /// <param name="updateBytes"></param> public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false) @@ -1194,6 +1269,7 @@ case SPK.AirFreshStandard: case SPK.HvacAirFresh: case SPK.SensorGas: + case SPK.SensorHelp: //璁惧鐘舵�佹帹閫� //鐘舵�佹洿鏂� Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status); diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs index 01d44d8..882cf3b 100644 --- a/HDL_ON/DAL/Mqtt/MqttClient.cs +++ b/HDL_ON/DAL/Mqtt/MqttClient.cs @@ -511,12 +511,15 @@ } #endregion //A缃戝叧璁惧鐘舵��-鍖呭惈娑傞甫璁惧 + //Tag 缃戠粶鐘舵�佽В鏋� else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/property/send") { var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey); var revString = Encoding.UTF8.GetString(bytes); MainPage.Log($"mqtt 鐘舵�佹洿鏂�:{revString}"); Control.Ins.UpdataFunctionStatus(revString, null, true); + //Control.Ins.MsgInfoList.Add($"mqtt 鐘舵�佹洿鏂�:{revString}"); + //Control.Ins.MsgInfoList.Add(revString + "\r\n"); } //涓�绔彛鏁版嵁瑙f瀽 @@ -1094,8 +1097,17 @@ //鍒涘缓AES瑙e瘑鍣ㄥ璞� var cTransform = rm.CreateDecryptor(); + byte[] reData = null; //浣跨敤AES灏嗗瘑鏂囨祦杞垚鏄庢枃鐨勫瓧鑺傛暟缁� - return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + try + { + reData = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + return reData; } #endregion diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs index 0fdea4a..0e0a902 100644 --- a/HDL_ON/DAL/Server/HttpServerRequest.cs +++ b/HDL_ON/DAL/Server/HttpServerRequest.cs @@ -2621,6 +2621,25 @@ var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_FL_Check, requestJson); return pack; } + /// <summary> + /// 鑾峰彇闂ㄥ彛鏈哄緲寰婃姤璀︽暟鎹� + /// </summary> + /// <param name="deviceId"></param> + /// <returns></returns> + public ResponsePackNew GetAlarmRecords(string deviceId, int pageSize, int pageNo, string alarmType = "PROWLER_ALARM") + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); + d.Add("deviceId", deviceId); + d.Add("alarmType", alarmType); + d.Add("pageSize", pageSize); + d.Add("pageNo", pageNo); + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_ALARM_RECORDS, requestJson); + return pack; + + } + #endregion #region 鈻� 闂ㄩ攣鐩稿叧____________________________ diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs index 82b6dd0..ce16936 100644 --- a/HDL_ON/DAL/Server/HttpUtil.cs +++ b/HDL_ON/DAL/Server/HttpUtil.cs @@ -17,8 +17,8 @@ /// 鍥哄畾鍩熷悕,姝e紡鐜 /// 鍏叡鍩熷悕灏辫繎瑙f瀽 /// </summary> - public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; - //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm + //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; + public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm /// <summary> /// RegionMark /// </summary> diff --git a/HDL_ON/DAL/Server/NewAPI.cs b/HDL_ON/DAL/Server/NewAPI.cs index d1d23bb..b569143 100644 --- a/HDL_ON/DAL/Server/NewAPI.cs +++ b/HDL_ON/DAL/Server/NewAPI.cs @@ -668,6 +668,21 @@ /// 鍔ㄦ�佸瘑鐮�/浜岀淮鐮佸紑閿� /// </summary> public const string API_POST_FL_QRcode = "http://112.74.164.111:180/api.php/Device/setdynamicpwd"; + /// <summary> + /// 涓存椂瀵嗙爜 + /// 浜岀淮鐮� + /// </summary> + public const string API_Post_Temporary_Password = "/home-wisdom/app/freeview/temppwd/add"; + /// <summary> + /// 鑾峰彇闂ㄧ浜岀淮鐮� + /// </summary> + public const string API_POST_OwnerQRCode = "/community-wisdom/doorDevice/getOwnerQRCode"; + /// <summary> + /// 寰樺緤鎶ヨ + /// </summary> + public const string API_POST_ALARM_RECORDS = "/home-wisdom/app/device/alarmRecords/listByPage"; + + #endregion diff --git a/HDL_ON/DAL/Server/NewApiRes.cs b/HDL_ON/DAL/Server/NewApiRes.cs index c92e4d1..f005989 100644 --- a/HDL_ON/DAL/Server/NewApiRes.cs +++ b/HDL_ON/DAL/Server/NewApiRes.cs @@ -1505,7 +1505,7 @@ /// <summary> /// 浣忓畢ID /// </summary> - public string homeId; + public string homeId ; /// <summary> /// 闄勫姞鍐呭 /// </summary> diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs index 56ec48f..abbdbd3 100644 --- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs +++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs @@ -117,6 +117,7 @@ if (mHDLSipInfo == null) return; #if __IOS__ + //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("1003", "123456", "192.168.31.194:5060"); //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("6666", "85521566", "116.62.26.215:5060"); Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm); #else diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 6fdb8d9..a142825 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -88,7 +88,7 @@ { var attrs = new List<string>(); - foreach(var attr in attributes) + foreach (var attr in attributes) { attrs.Add(attr.key); } @@ -349,6 +349,26 @@ public List<string> roomIds = new List<string>(); /// <summary> + /// 瀛樺偍灞炴�ч厤缃� + /// 鐜浼犳劅鍣ㄧ殑绛夌骇 + /// </summary> + public List<AttrKeyConfig> attrKeyConfigs = new List<AttrKeyConfig>(); + + public List<AttrKeyConfig> GetAttrKeyConfigs(string key) + { + if (attrKeyConfigs.Count == 0) + { + switch (key) + { + case "pm2.5": + + break; + } + } + return attrKeyConfigs; + } + + /// <summary> /// bus鍗忚鏁版嵁鏍煎紡 /// 浣跨敤A鍗忚鎺у埗鏃讹紝鏀瑰睘鎬т负绌� /// </summary> @@ -361,6 +381,11 @@ /// 鏄惁鍦ㄧ嚎 /// </summary> public bool online = true; + + /// <summary> + /// 鐜闈㈡澘 缁戝畾鐨� 璁惧鐩爣sid鍒楄〃 + /// </summary> + public List<string> targetSids = new List<string>(); /// <summary> /// 浜戠鏁版嵁鍒涘缓鐨勬椂闂� /// </summary> @@ -403,7 +428,7 @@ _trait_on_off.curValue = "off"; } } - if(_trait_on_off.curValue.ToString() != "on"&& _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop") + if (_trait_on_off.curValue.ToString() != "on" && _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop") { _trait_on_off.curValue = "off"; } @@ -470,7 +495,7 @@ collect = !collect; IMessageCommon.Current.ShowErrorInfoAlter(result); }); - }else + } else { Application.RunOnMainThread(() => { @@ -495,7 +520,7 @@ } else { - result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId,roomId); + result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId, roomId); } //鎻愮ず閿欒 if (result != StateCode.SUCCESS) @@ -538,9 +563,9 @@ { roomNameList += ","; } - roomNameList += findRoom.floorName +"-"+ findRoom.roomName; + roomNameList += findRoom.floorName + "-" + findRoom.roomName; } - if (roomNameList == "" ) + if (roomNameList == "") { roomNameList = Language.StringByID(StringId.WholeZone); } @@ -653,14 +678,14 @@ case FunctionAttributeKey.Percent: case FunctionAttributeKey.CCT: case FunctionAttributeKey.RGB: - //case FunctionAttributeKey.FadeTime: + //case FunctionAttributeKey.FadeTime: if (attr.curValue.ToString() == "{}") { if (attr.key == FunctionAttributeKey.OnOff) { attr.curValue = "off"; } - else if (attr.key == FunctionAttributeKey.Mode ) + else if (attr.key == FunctionAttributeKey.Mode) { if (DB_ResidenceData.Instance.GatewayType == 0) { @@ -678,7 +703,7 @@ } } } - else + else { attr.curValue = "0"; } @@ -731,7 +756,7 @@ return sendDataObj; } - public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId,string extStr) + public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId, string extStr) { var sendDataObj = new AlinkDoorlockObj(); sendDataObj.id = Control.Ins.msg_id.ToString(); @@ -1162,7 +1187,7 @@ try { return Convert.ToByte(loopId, 16); - }catch + } catch { return 0; } @@ -1266,7 +1291,7 @@ /// <summary> /// 锛堢孩澶栫┖璋冿級 /// </summary> - public const string AcIr= "ir.ac"; + public const string AcIr = "ir.ac"; /// <summary> /// 绌鸿皟 /// </summary> @@ -1465,10 +1490,11 @@ spkList.Add(SensorDryContact2); spkList.Add(SenesorMegahealth); spkList.Add(SenesorMegahealth2); - spkList.Add(SensorHelp); return spkList; } + #endregion + public const string PanelEnvironment = "screen.panel"; /// <summary> /// 闈㈡澘spk鍒楄〃 /// </summary> @@ -1477,9 +1503,9 @@ { var spkList = new List<string>(); spkList.Add(SensorHelp); + spkList.Add(PanelEnvironment); return spkList; } - #endregion #region 鐜浼犳劅鍣� /// <summary> @@ -1840,9 +1866,49 @@ //} -public class VersionInfo -{ - public string module = ""; - public string version = ""; -} + public class VersionInfo + { + public string module = ""; + public string version = ""; + } + + /// <summary> + /// 鍔熻兘灞炴�х浉鍏抽厤缃俊鎭� + /// 鐜浼犳劅鍣ㄧ瓑绾т娇鐢� + /// </summary> + public class AttrKeyConfig + { + public string key = string.Empty; + /// <summary> + /// 閰嶇疆绫诲瀷 + /// interval 鍖洪棿 + /// 鐩墠鍙敮鎸侊細interval + /// </summary> + public string type = string.Empty; + + public string unit = string.Empty; + + public List<AttrKeyInfo> configs = new List<AttrKeyInfo>(); + + } + + public class AttrKeyInfo + { + /// <summary> + /// + /// </summary> + public string start = string.Empty; + /// <summary> + /// + /// </summary> + public string end = string.Empty; + /// <summary> + /// + /// </summary> + public string color = string.Empty; + /// <summary> + /// 鎻忚堪 + /// </summary> + public string desc = string.Empty; + } } diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs index 82ed611..f07f304 100644 --- a/HDL_ON/Entity/Function/Sensor.cs +++ b/HDL_ON/Entity/Function/Sensor.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using Shared; namespace HDL_ON.Entity { @@ -64,7 +65,7 @@ } } double value = 0.0; - double.TryParse( attr.state,out value); + double.TryParse(attr.state, out value); return Convert.ToDouble(value); } @@ -81,9 +82,30 @@ /// <summary> /// 姣忎釜绛夌骇瀵瑰尯闂村�� /// </summary> - public List<string> GetIntervalValue(string spk) + public List<string> GetIntervalValue(Function function) { var _intervalValue = new List<string>(); + + + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + _intervalValue.Add(info.start + " ~ " + info.end); + } + } + } + if (_intervalValue.Count > 0) + return _intervalValue; + } + + + string spk = function.spk; switch (spk) { case SPK.SensorPm25: @@ -128,12 +150,72 @@ return _intervalValue; } + public string Unit(Function function) + { + string unit = ""; + + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + if (string.IsNullOrEmpty(attrKey.unit)) + return attrKey.unit; + } + } + } + + switch (function.spk) + { + case SPK.SensorPm25: + unit = "ug/m虏"; + break; + case SPK.SensorTemperature: + unit = "掳C"; + break; + case SPK.SensorTVOC: + unit = "PPB"; + break; + case SPK.SensorCO2: + unit = "PPM"; + break; + case SPK.SensorHumidity: + unit = "%"; + break; + case SPK.SensorHcho: + unit = "mg/m3"; + break; + } + + return unit; + } + /// <summary> /// 姣忎釜绛夌骇鐨勯鑹插�� /// </summary> - public List<uint> GetLevelColorList(string spk) + public List<uint> GetLevelColorList(Function function) { var _levelColorList = new List<uint>(); + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + _levelColorList.Add(Convert.ToUInt32(info.color, 16)); + } + } + } + if (_levelColorList.Count > 0) + return _levelColorList; + } + + string spk = function.spk; switch (spk) { case SPK.SensorPm25: @@ -187,56 +269,138 @@ /// <summary> /// 姣忎釜绛夌骇鐨勫悕绉� /// </summary> - public List<int> GetLevelTextList(string spk) + public List<string> GetLevelTextList(Function function) { - var _levelTextList = new List<int>(); + var _levelTextList = new List<string>(); + + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + _levelTextList.Add(info.desc); + } + } + } + if (_levelTextList.Count > 0) + return _levelTextList; + } + + string spk = function.spk; switch (spk) { case SPK.SensorPm25: - _levelTextList.Add(StringId.Great); - _levelTextList.Add(StringId.Good); - _levelTextList.Add(StringId.MildPollution); - _levelTextList.Add(StringId.HeavyPollution); + _levelTextList.Add(Language.StringByID(StringId.Great)); + _levelTextList.Add(Language.StringByID(StringId.Good)); + _levelTextList.Add(Language.StringByID(StringId.MildPollution)); + _levelTextList.Add(Language.StringByID(StringId.HeavyPollution)); break; case SPK.SensorCO2: - _levelTextList.Add(StringId.SensorReferenceTipCO2Level1); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level2); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level3); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level4); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level1)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level2)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level3)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level4)); break; case SPK.SensorTemperature: - _levelTextList.Add(StringId.ExtremelyCold); - _levelTextList.Add(StringId.Cold); - _levelTextList.Add(StringId.SlightlyCold); - _levelTextList.Add(StringId.Comfortable); - _levelTextList.Add(StringId.TepidFever); - _levelTextList.Add(StringId.Heat_SensorTip); - _levelTextList.Add(StringId.ExtremeHeat); + _levelTextList.Add(Language.StringByID(StringId.ExtremelyCold)); + _levelTextList.Add(Language.StringByID(StringId.Cold)); + _levelTextList.Add(Language.StringByID(StringId.SlightlyCold)); + _levelTextList.Add(Language.StringByID(StringId.Comfortable)); + _levelTextList.Add(Language.StringByID(StringId.TepidFever)); + _levelTextList.Add(Language.StringByID(StringId.Heat_SensorTip)); + _levelTextList.Add(Language.StringByID(StringId.ExtremeHeat)); break; case SPK.SensorTVOC: - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel1); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel2); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel3); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel4); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel1)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel2)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel3)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel4)); break; case SPK.SensorHumidity: - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel1); - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2); - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel2)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3)); break; case SPK.SensorHcho: - _levelTextList.Add(StringId.Class_I_BuildingStandard); - _levelTextList.Add(StringId.SecondaryBuildingStandard); - _levelTextList.Add(StringId.ExceedingTheStandard); + _levelTextList.Add(Language.StringByID(StringId.Class_I_BuildingStandard)); + _levelTextList.Add(Language.StringByID(StringId.SecondaryBuildingStandard)); + _levelTextList.Add(Language.StringByID(StringId.ExceedingTheStandard)); break; default: - _levelTextList.Add(99999999); - _levelTextList.Add(99999999); - _levelTextList.Add(99999999); + _levelTextList.Add(""); + _levelTextList.Add(""); + _levelTextList.Add(""); break; } return _levelTextList; } + + /// <summary> + /// 鑾峰彇 + /// </summary> + /// <param name="function"></param> + /// <returns></returns> + public uint GetCurColor(Function function) + { + var spk = function.spk; + var values = GetValues(function); + uint level = 0x00000000; + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values)) + { + return Convert.ToUInt32(info.color, 16); + } + } + } + } + } + + return level; + } + + /// <summary> + /// 鑾峰彇鏂囨湰 + /// </summary> + /// <param name="function"></param> + /// <returns></returns> + public string GetCurText(Function function) + { + var spk = function.spk; + var values = GetValues(function); + var level = ""; + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values)) + { + return info.desc; + } + } + } + } + } + + return level; + } + /// <summary> /// 褰撳墠绛夌骇 /// </summary> @@ -245,6 +409,37 @@ var spk = function.spk; var values = GetValues(function); int level = 1; + + + + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + level = 1; + if(attrKey.configs.Count == 0) + { + break; + } + foreach (var info in attrKey.configs) + { + if ((Convert.ToDouble(info.start) < values) && (Convert.ToDouble(info.end) >= values)) + { + return level; + } + level++; + + } + } + } + return 1; + } + + + switch (spk) { case SPK.SensorPm25: diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 208eb41..9b724ca 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -468,12 +468,25 @@ if(DriverLayer.Control.Ins.GatewayOnline_Local) { + + //List<Function> functions = GetDeviceFunctionList(SPK.BrandType.Hdl); + //var sss = functions.OrderBy((obj) => obj.collect); + + List<Function> readList = new List<Function>(); foreach (var function in GetDeviceFunctionList(SPK.BrandType.Hdl)) { + readList.Add(function); MainPage.Log($"璇诲彇鍔熻兘鐘舵�侊細{function.name} : {function.sid} "); - Control.Ins.SendReadCommand(function); + if (readList.Count > 9) + { + Control.Ins.SendReadCommand(readList); + } } - if(DB_ResidenceData.Instance.GatewayType == 1) + if (readList.Count > 0) + { + Control.Ins.SendReadCommand(readList); + } + if (DB_ResidenceData.Instance.GatewayType == 1) { Dictionary<string, string> pairs = new Dictionary<string, string>(); string sendId = Control.Ins.msg_id.ToString(); @@ -490,6 +503,8 @@ var page = new List<string>(); int count = 0; + //List<Function> functions = GetDeviceFunctionList(SPK.BrandType.Hdl); + //var sss = functions.OrderBy((obj) => obj.collect); foreach (var function in GetDeviceFunctionList(SPK.BrandType.Hdl)) { page.Add(function.deviceId); diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems index 84c78f2..948c13d 100644 --- a/HDL_ON/HDL_ON.projitems +++ b/HDL_ON/HDL_ON.projitems @@ -493,6 +493,12 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacDayHistoryPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacHistoryChoosePage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicMethod.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Panel\PanelHelpPage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Panel\EnvironmentPanelPage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Form\DeviceFunction4CardCommonForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\FhContentView.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\AcContentView.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\WanderingAlarmPage.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" /> @@ -519,5 +525,6 @@ <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\SenesorEnvironment\" /> <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\LightScene\" /> <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\FaceManagement\" /> + <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs index b4a926d..736410b 100644 --- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs +++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs @@ -204,6 +204,15 @@ var doorLockPage = new DoorLockPage(); doorLockPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); break; + case SPK.SensorHelp: + var panelHelpPage = new UI2.FuntionControlView.Panel.PanelHelpPage(); + panelHelpPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); + break; + case SPK.PanelEnvironment: + var panelEnvironmentPage = new EnvironmentPanelPage(); + panelEnvironmentPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); + break; + } }; return eventHandler; diff --git a/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs b/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs new file mode 100644 index 0000000..dacaea3 --- /dev/null +++ b/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs @@ -0,0 +1,452 @@ +锘縰sing HDL_ON.Entity; +using HDL_ON.UI.CSS; +using Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.Stan +{ + /// <summary> + /// 璁惧鍔熻兘鍗$墖鐨勫簳灞傜晫闈� + /// </summary> + public class DeviceFunction4CardCommonForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 褰撳墠鍥炶矾瀵硅薄 + /// </summary> + public Function device = null; + /// <summary> + /// 鍙充笂瑙掗厤缃粨鏉熺殑浜嬩欢 + /// </summary> + public Action SettionFinishEvent = null; + /// <summary> + /// 宸﹀彸缈婚〉鐨勬帶浠剁殑浜嬩欢 + /// </summary> + public Action<int> PageChangeEvent = null; + /// <summary> + /// 宸﹀彸鏁翠釜缈婚〉鐨勬帶浠� + /// </summary> + private PageLayout pageLayout = null; + /// <summary> + /// 璁惧鍚嶅瓧鎺т欢(鍒锋柊鐢ㄥ埌) + /// </summary> + public NormalViewControl btnDeviceName = null; + /// <summary> + /// 鎴块棿鍚嶅瓧鎺т欢(鍒锋柊鐢ㄥ埌) + /// </summary> + public NormalViewControl btnRoomName = null; + /// <summary> + /// 搴曢儴蹇嵎鎸夐挳1 + /// </summary> + private NormalViewControl btnBottomOne = null; + /// <summary> + /// 搴曢儴蹇嵎鎸夐挳2 + /// </summary> + private NormalViewControl btnBottomTwo = null; + private NormalViewControl btnBottom3 = null; + private NormalViewControl btnBottom4 = null; + /// <summary> + /// 绗竴绱㈠紩鐨勭櫧鑹插尯鍩熺殑妗屽竷鎺т欢 + /// </summary> + public NormalFrameLayout FrameWhiteCentet1 = null; + /// <summary> + /// 绗簩绱㈠紩鐨勭櫧鑹插尯鍩熺殑妗屽竷鎺т欢(璇峰厛璋冪敤AddSecondPage鍑芥暟瀹屾垚娣诲姞) + /// </summary> + public NormalFrameLayout FrameWhiteCentet2 = null; + public NormalFrameLayout FrameWhiteCentet3 = null; + public NormalFrameLayout FrameWhiteCentet4 = null; + + /// <summary> + /// 鏄惁鏄剧ず鏀惰棌鎸夐挳 + /// </summary> + public bool ShowColltionButton = true; + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_device">璁惧瀵硅薄</param> + /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param> + /// <param name="btnHigherDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param> + /// <param name="btnHigherRoom">涓婁竴绾х晫闈㈢殑鎴块棿鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param> + public void ShowForm(Function i_device, Button btnHigherCollection, Button btnHigherDeviceName, Button btnHigherRoom) + { + this.device = i_device; + + //娣诲姞澶撮儴銆愯缃�戝浘鏍� + this.AddTopSettingIcon(btnHigherDeviceName, btnHigherRoom); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(btnHigherCollection); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢</param> + private void InitMiddleFrame(Button btnHigherCollection) + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //宸﹀彸鏁翠釜缈婚〉鐨勬帶浠� + this.pageLayout = new PageLayout(); + pageLayout.IsShowPoint = false; + pageLayout.ScrollEnabled = false; + bodyFrameLayout.AddChidren(pageLayout); + pageLayout.PageChange += (sender, index) => + { + //璁剧疆搴曢儴涓や釜鎸夐挳鐨勭姸鎬� + this.SetBottomTwoButtonStatu(); + this.PageChangeEvent?.Invoke(index); + }; + + //鍒濆鍖栫涓�涓储寮曠殑妗屽竷 + this.InitFrameWhiteContent1(btnHigherCollection); + //鍒濆鍖栫櫧鑹插唴瀹�(闇�瑕佽嚜涓诲疄鐜�) + this.InitFrameWhiteContent(); + } + + /// <summary> + /// 鍒濆鍖栫涓�涓储寮曠殑妗屽竷 + /// </summary> + /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢</param> + private void InitFrameWhiteContent1(Button btnHigherCollection) + { + //绗竴涓储寮曟甯冩槸蹇呭畾瀛樺湪鐨� + var frameTable1 = new FrameLayout(); + frameTable1.Width = pageLayout.Width; + frameTable1.Height = pageLayout.Height; + pageLayout.AddChidren(frameTable1); + //绗竴涓储寮曠殑鐧借壊妗屽竷 + this.FrameWhiteCentet1 = new NormalFrameLayout(); + FrameWhiteCentet1.Gravity = Gravity.CenterHorizontal; + FrameWhiteCentet1.Y = Application.GetRealHeight(22); + FrameWhiteCentet1.Width = Application.GetRealWidth(327); + FrameWhiteCentet1.Height = Application.GetRealHeight(526); + FrameWhiteCentet1.BackgroundImagePath = "Public/Fragmentbg.png"; + frameTable1.AddChidren(FrameWhiteCentet1); + //璁惧鍚嶅瓧 + this.btnDeviceName = new NormalViewControl(270, 37, true); + btnDeviceName.X = Application.GetRealWidth(16); + btnDeviceName.Y = Application.GetRealHeight(18); + btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor; + btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel; + btnDeviceName.Text = device.name; + btnDeviceName.Width = btnDeviceName.GetRealWidthByText(); + FrameWhiteCentet1.AddChidren(btnDeviceName); + //鎴块棿鍚嶅瓧 + this.btnRoomName = new NormalViewControl(270, 21, true); + btnRoomName.X = Application.GetRealWidth(16); + btnRoomName.Y = btnDeviceName.Bottom; + btnRoomName.TextColor = CSS_Color.PromptingColor1; + btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnRoomName.Text = device.GetRoomListName(); + btnRoomName.Width = btnRoomName.GetRealWidthByText(); + FrameWhiteCentet1.AddChidren(btnRoomName); + if (ShowColltionButton) + { + var btnCollection = new IconViewControl(40); + btnCollection.X = Application.GetRealWidth(273); + btnCollection.Y = Application.GetRealHeight(16); + btnCollection.SelectedImagePath = "Collection/CollectionIcon.png"; + btnCollection.UnSelectedImagePath = "Collection/CollectionGrayIcon.png"; + btnCollection.IsSelected = device.collect; + FrameWhiteCentet1.AddChidren(btnCollection); + btnCollection.ButtonClickEvent += (sender, e) => + { + btnCollection.IsSelected = !btnCollection.IsSelected; + device.collect = btnCollection.IsSelected; + btnHigherCollection.IsSelected = device.collect; + + device.CollectFunction(); + }; + } + } + + /// <summary> + /// 鍒濆鍖栫浜屼釜绱㈠紩鐨勬甯� + /// </summary> + private void InitFrameWhiteContent2() + { + this.pageLayout.ScrollEnabled = true; + //绗竴涓储寮曟甯冩槸蹇呭畾瀛樺湪鐨� + var frameTable2 = new FrameLayout(); + frameTable2.Width = pageLayout.Width; + frameTable2.Height = pageLayout.Height; + pageLayout.AddChidren(frameTable2); + //绗竴涓储寮曠殑鐧借壊妗屽竷 + this.FrameWhiteCentet2 = new NormalFrameLayout(); + FrameWhiteCentet2.Gravity = Gravity.CenterHorizontal; + FrameWhiteCentet2.Y = Application.GetRealHeight(22); + FrameWhiteCentet2.Width = Application.GetRealWidth(327); + FrameWhiteCentet2.Height = Application.GetRealHeight(526); + FrameWhiteCentet2.BackgroundImagePath = "Public/Fragmentbg.png"; + frameTable2.AddChidren(FrameWhiteCentet2); + } + + /// <summary> + /// 鍒濆鍖栫3涓储寮曠殑妗屽竷 + /// </summary> + private void InitFrameWhiteContent3() + { + var frameTable3 = new FrameLayout(); + frameTable3.Width = pageLayout.Width; + frameTable3.Height = pageLayout.Height; + pageLayout.AddChidren(frameTable3); + //绗竴涓储寮曠殑鐧借壊妗屽竷 + this.FrameWhiteCentet3 = new NormalFrameLayout(); + FrameWhiteCentet3.Gravity = Gravity.CenterHorizontal; + FrameWhiteCentet3.Y = Application.GetRealHeight(22); + FrameWhiteCentet3.Width = Application.GetRealWidth(327); + FrameWhiteCentet3.Height = Application.GetRealHeight(526); + FrameWhiteCentet3.BackgroundImagePath = "Public/Fragmentbg.png"; + frameTable3.AddChidren(FrameWhiteCentet3); + } + /// <summary> + /// 鍒濆鍖栫4涓储寮曠殑妗屽竷 + /// </summary> + private void InitFrameWhiteContent4() + { + var frameTable4 = new FrameLayout(); + frameTable4.Width = pageLayout.Width; + frameTable4.Height = pageLayout.Height; + pageLayout.AddChidren(frameTable4); + //绗竴涓储寮曠殑鐧借壊妗屽竷 + this.FrameWhiteCentet4 = new NormalFrameLayout(); + FrameWhiteCentet4.Gravity = Gravity.CenterHorizontal; + FrameWhiteCentet4.Y = Application.GetRealHeight(22); + FrameWhiteCentet4.Width = Application.GetRealWidth(327); + FrameWhiteCentet4.Height = Application.GetRealHeight(526); + FrameWhiteCentet4.BackgroundImagePath = "Public/Fragmentbg.png"; + frameTable4.AddChidren(FrameWhiteCentet4); + } + + /// <summary> + /// 鍒濆鍖栫櫧鑹插唴瀹�(闇�瑕佽嚜涓诲疄鐜�) + /// </summary> + public virtual void InitFrameWhiteContent() + { + } + + #endregion + + #region 鈻� 娣诲姞绗簩绱㈠紩椤礯____________________ + + /// <summary> + /// 娣诲姞绗簩绱㈠紩椤� + /// </summary> + public void AddSecondPage() + { + //鍒濆鍖栫浜屼釜绱㈠紩鐨勬甯� + this.InitFrameWhiteContent2(); + + //搴曢儴娣诲姞涓や釜鎸夐挳 + this.btnBottomOne = new NormalViewControl(14, 6, true); + btnBottomOne.X = Application.GetRealWidth(170); + btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30); + btnBottomOne.BackgroundColor = CSS_Color.MainColor; + btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottomOne); + + this.btnBottomTwo = new NormalViewControl(14, 6, true); + btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8); + btnBottomTwo.Y = btnBottomOne.Y; + btnBottomTwo.BackgroundColor = 0xffadc7f7; + btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottomTwo); + + } + + /// <summary> + /// 娣诲姞绗�3绱㈠紩椤� + /// </summary> + public void Add3thPage() + { + this.InitFrameWhiteContent2(); + this.InitFrameWhiteContent3(); + + //搴曢儴娣诲姞涓や釜鎸夐挳 + this.btnBottomOne = new NormalViewControl(14, 6, true); + btnBottomOne.X = Application.GetRealWidth(160); + btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30); + btnBottomOne.BackgroundColor = CSS_Color.MainColor; + btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottomOne); + this.btnBottomTwo = new NormalViewControl(14, 6, true); + btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8); + btnBottomTwo.Y = btnBottomOne.Y; + btnBottomTwo.BackgroundColor = 0xffadc7f7; + btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottomTwo); + this.btnBottom3 = new NormalViewControl(14, 6, true); + btnBottom3.X = btnBottomTwo.Right + Application.GetRealWidth(8); + btnBottom3.Y = btnBottomTwo.Y; + btnBottom3.BackgroundColor = 0xffadc7f7; + btnBottom3.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottom3); + } + /// <summary> + /// 娣诲姞绗�3绱㈠紩椤� + /// </summary> + public void Add4Page() + { + this.InitFrameWhiteContent2(); + this.InitFrameWhiteContent3(); + this.InitFrameWhiteContent4(); + + //搴曢儴娣诲姞涓や釜鎸夐挳 + this.btnBottomOne = new NormalViewControl(14, 6, true); + btnBottomOne.X = Application.GetRealWidth(150); + btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30); + btnBottomOne.BackgroundColor = CSS_Color.MainColor; + btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottomOne); + this.btnBottomTwo = new NormalViewControl(14, 6, true); + btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8); + btnBottomTwo.Y = btnBottomOne.Y; + btnBottomTwo.BackgroundColor = 0xffadc7f7; + btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottomTwo); + this.btnBottom3 = new NormalViewControl(14, 6, true); + btnBottom3.X = btnBottomTwo.Right + Application.GetRealWidth(8); + btnBottom3.Y = btnBottomTwo.Y; + btnBottom3.BackgroundColor = 0xffadc7f7; + btnBottom3.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottom3); + this.btnBottom4 = new NormalViewControl(14, 6, true); + btnBottom4.X = btnBottom3.Right + Application.GetRealWidth(8); + btnBottom4.Y = btnBottom3.Y; + btnBottom4.BackgroundColor = 0xffadc7f7; + btnBottom4.Radius = (uint)Application.GetRealHeight(6) / 2; + bodyFrameLayout.AddChidren(btnBottom4); + } + + + /// <summary> + /// 璁剧疆搴曢儴涓や釜鎸夐挳鐨勭姸鎬� + /// </summary> + private void SetBottomTwoButtonStatu() + { + if (this.btnBottomTwo == null) { return; } + + if (this.pageLayout.PageIndex == 0) + { + this.btnBottomOne.BackgroundColor = CSS_Color.MainColor; + this.btnBottomTwo.BackgroundColor = 0xffadc7f7; + this.btnBottom3.BackgroundColor = 0xffadc7f7; + this.btnBottom4.BackgroundColor = 0xffadc7f7; + } + else if (this.pageLayout.PageIndex == 1) + { + this.btnBottomOne.BackgroundColor = 0xffadc7f7; + this.btnBottomTwo.BackgroundColor = CSS_Color.MainColor; + this.btnBottom3.BackgroundColor = 0xffadc7f7; + this.btnBottom4.BackgroundColor = 0xffadc7f7; + } + else if (this.pageLayout.PageIndex == 2) + { + this.btnBottomOne.BackgroundColor = 0xffadc7f7; + this.btnBottomTwo.BackgroundColor = 0xffadc7f7; + this.btnBottom3.BackgroundColor = CSS_Color.MainColor; + this.btnBottom4.BackgroundColor = 0xffadc7f7; + } + else if (this.pageLayout.PageIndex == 3) + { + this.btnBottomOne.BackgroundColor = 0xffadc7f7; + this.btnBottomTwo.BackgroundColor = 0xffadc7f7; + this.btnBottom4.BackgroundColor = CSS_Color.MainColor; + this.btnBottom3.BackgroundColor = 0xffadc7f7; + } + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseFormBefore() + { + base.CloseFormBefore(); + + this.SettionFinishEvent = null; + this.PageChangeEvent = null; + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鑾峰彇澶撮儴鍙宠竟鐨勩�愯缃�戝浘鏍囨帶浠� + /// </summary> + /// <returns></returns> + public PicViewControl GetTopSettingIcon() + { + for (int i = 0; i < topFrameLayout.ChildrenCount; i++) + { + var myView = topFrameLayout.GetChildren(i); + if (myView == null || myView.Name != "btnSetting") + { + continue; + } + return myView as PicViewControl; + } + return null; + } + + /// <summary> + /// 娣诲姞澶撮儴銆愯缃�戠殑鍥炬爣 + /// </summary> + /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param> + /// <param name="btnHigherDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param> + private void AddTopSettingIcon(Button btnHigherDeviceName, Button btnHigherRoom) + { + //璁剧疆鍥炬爣(闂ㄩ攣鐣岄潰闇�瑕佸�熺敤杩欎釜鍥炬爣鐨刋杞村拰Y杞�,鎵�浠ュ姞杩涙潵) + var btnSetting = new PicViewControl(28, 28); + btnSetting.X = Application.GetRealWidth(337); + btnSetting.Y = Application.GetRealHeight(9); + btnSetting.UnSelectedImagePath = "Public/FuncInfoSetIcon.png"; + btnSetting.Name = "btnSetting"; + topFrameLayout.AddChidren(btnSetting); + + //濡傛灉鏄垚鍛樻病鏈夊姛鑳� + if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare == true) + { + btnSetting.Visible = false; + } + + btnSetting.ButtonClickEvent += (sender, e) => + { + var infoView = new UI.FunctionBaseInfoSetPage(this.device, () => + { + //鍒锋柊鏄剧ず + btnHigherDeviceName.Text = this.device.name; + btnHigherRoom.Text = this.device.GetRoomListName(); + + //浠庢柊璁$畻瀹藉害 + this.btnDeviceName.Text = btnHigherDeviceName.Text; + this.btnDeviceName.Width = this.btnDeviceName.GetRealWidthByText(); + + this.btnRoomName.Text = btnHigherRoom.Text; + this.btnRoomName.Width = this.btnRoomName.GetRealWidthByText(); + + //鍥炶皟浜嬩欢 + this.SettionFinishEvent?.Invoke(); + }); + MainPage.BasePageView.AddChidren(infoView); + infoView.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs index 8c52aca..4b8c43a 100644 --- a/HDL_ON/UI/UI1-Login/LoginPage.cs +++ b/HDL_ON/UI/UI1-Login/LoginPage.cs @@ -217,6 +217,7 @@ //etAccount.Text = "18316120654";//tujie //etAccount.Text = "13450425807";//榛勭婧� knx椤圭洰 etAccount.Text = "18244942707"; + etAccount.Text = "3083375423@qq.com";//闄堜紵娼� 鑷爺鍙瀵硅 } else { @@ -244,6 +245,7 @@ //etAccount.Text = "info@smartlife-ks.com"; //etAccount.Text = "551775569@qq.com";//wcf //etAccount.Text = "15626203746"; + etAccount.Text = "18244942707"; //etAccount.Text = "zhangquansongjava@163.com"; //etAccount.Text = "s.savinov@hdlautomation.ru"; } diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 0bb4e7c..fc4e748 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -569,7 +569,7 @@ //FunctionList.List.Functions.Add(new Function //{ - // name = "闂ㄩ攣", + // name = "娴嬭瘯闂ㄩ攣", // spk = SPK.DoorLock, // sid = "12345", // attributes = new List<FunctionAttributes> { @@ -626,18 +626,43 @@ // new FunctionAttributes(){ key = "status",curValue= "on",state = "on" }, // }, //}); + FunctionList.List.Functions.Add(new Function() { - spk = SPK.SensorHelp, - name = "娴嬭瘯绱ф�ユ眰鍔╂寜閽�", + spk = SPK.SensorPm25, + name = "娴嬭瘯Pm2.5", attributes = new List<FunctionAttributes>() { - new FunctionAttributes(){ key = "status",curValue= "on",state = "on" }, - new FunctionAttributes(){ key = "battery_value",curValue= "2000",state = "2000" }, - new FunctionAttributes(){ key = "battery_percentage",curValue= "80",state = "80" }, - new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" }, + 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() //{ @@ -653,11 +678,23 @@ //{ // 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" + // } //}); @@ -884,6 +921,7 @@ /// <summary> /// 鍔犺浇璁惧鍔熻兘鏄剧ず鍖哄煙 + /// Tag 鏀惰棌鍗$墖 /// </summary> void LoadDeviceFunctionControlZone() { @@ -1097,6 +1135,7 @@ /// <summary> /// 鍔犺浇鍔熻兘鎺у埗鍗$墖 + /// Tag 鍗$墖鑷畾涔� /// </summary> void LoadDeviceFunctionDiv(FrameLayout view, Function function) { @@ -1311,6 +1350,11 @@ LoadEvent_ControlClothesHanger(function, btnUp, btnDown); } + //绱ф�ユ眰鍔� + else if (function.spk == SPK.SensorHelp) + { + + } else { diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs index c049ebd..b269c83 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs @@ -647,6 +647,7 @@ var functionCategoryCount = 0; + //Tag 鍒嗙被鍗$墖鏄剧ず foreach (var item in DB_ResidenceData.Instance.functionTypeList) { int functionCount = 0; @@ -709,8 +710,7 @@ #endif break; case ShowFunction.Panel: - - + functionCount = FunctionList.List.GetPanelList().Count; break; case ShowFunction.SecurityMonitoring: if (!MainPage.NoLoginMode) @@ -790,37 +790,56 @@ }; functionView.AddChidren(btnName); + //Tag 鏁伴噺鏄剧ず if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter && functionCount != 0) { - Button btnFunctionCount = new Button() + if (item == ShowFunction.Panel) { - X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length), - Y = btnName.Bottom, - Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(24), - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.CenterLeft, - Text = "/" + functionCount, - }; - functionView.AddChidren(btnFunctionCount); - Button btnOpenCount = new Button() + Button btnFunctionCount = new Button() + { + X = Application.GetRealWidth(16), + Y = btnName.Bottom, + Width = Application.GetRealWidth(120), + Height = Application.GetRealHeight(24), + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = functionCount.ToString(), + }; + functionView.AddChidren(btnFunctionCount); + } + else { - X = Application.GetRealWidth(16), - Y = btnName.Bottom, - Width = Application.GetRealWidth(14 * functionCount.ToString().Length), - Height = Application.GetRealHeight(24), - TextColor = CSS_Color.MainColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.CenterLeft, - Text = functionOnCount.ToString(), - Tag = item + "_onCount", - BorderWidth = 0, - }; - functionView.AddChidren(btnOpenCount); + Button btnFunctionCount = new Button() + { + X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length), + Y = btnName.Bottom, + Width = Application.GetRealWidth(120), + Height = Application.GetRealHeight(24), + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = "/" + functionCount, + }; + functionView.AddChidren(btnFunctionCount); + Button btnOpenCount = new Button() + { + X = Application.GetRealWidth(16), + Y = btnName.Bottom, + Width = Application.GetRealWidth(14 * functionCount.ToString().Length), + Height = Application.GetRealHeight(24), + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = functionOnCount.ToString(), + Tag = item + "_onCount", + BorderWidth = 0, + }; + functionView.AddChidren(btnOpenCount); + } } @@ -832,6 +851,7 @@ }; functionView.AddChidren(btnFunctionViewBg); + //Tag 璋冭瘯浜嬩欢鍒ゆ柇 int functionPageTitleId = 0; switch (item) { @@ -1024,7 +1044,8 @@ }; break; case ShowFunction.Panel: - btnName.TextID = StringId.Panel; + btnName.TextID = StringId.SmartPanel; + functionPageTitleId = StringId.SmartPanel; break; case ShowFunction.SecurityMonitoring: btnName.TextID = StringId.SecurityMonitoring; diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs index aa40d9a..92fea27 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs @@ -54,6 +54,7 @@ /// <summary> /// 鍔犺浇鍔熻兘绫诲瀷鎺у埗鍗$墖 + /// Tag 鍔熻兘灞炴�ф樉绀� /// </summary> public void LoadFunctionDiv() { @@ -76,8 +77,7 @@ {//闊充箰娌℃湁寮�鍏虫寜閽� MusicFragment(); } - else if (SPK.EvironmentSensorList().Contains(function.spk) || SPK.ArmSensorSpkList().Contains(function.spk) - || SPK.PanelSpkList().Contains(function.spk)) //浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽�) + else if (SPK.EvironmentSensorList().Contains(function.spk) || SPK.ArmSensorSpkList().Contains(function.spk)) //浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽�) { var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState); if (powerLowTipAttr != null) @@ -101,6 +101,178 @@ { btnIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/DoorLock.png"; } + else if(SPK.PanelSpkList().Contains(function.spk))//鏅鸿兘闈㈡澘璁惧 + { + var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState); + if (powerLowTipAttr != null) + { + if (powerLowTipAttr.state.ToLower() == "low") + { + Button btnTipPowerLow = new Button() + { + X = Application.GetRealWidth(307), + Y = Application.GetRealHeight(70), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png", + SelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png", + }; + this.AddChidren(btnTipPowerLow); + } + } + var alarmStatusAttr = function.GetAttribute("alarm_status"); + if(alarmStatusAttr !=null) + { + var btnAlarmStatus = new Button() + { + X = Application.GetRealWidth(8 + 10 + 32), + Y = Application.GetRealHeight(53), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(24), + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + Tag = "AlarmStatus" + }; + if (alarmStatusAttr.state == "alarm") + { + btnAlarmStatus.TextID = StringId.InAlarm; + btnAlarmStatus.TextColor = CSS_Color.WarningColor; + } + else + { + btnAlarmStatus.TextID = StringId.zhengchang; + btnAlarmStatus.TextColor = CSS_Color.MainColor; + } + + bodyDiv.AddChidren(btnAlarmStatus); + } + + //var tipScrView1 = new HorizontalScrolViewLayout() { + // X = Application.GetRealWidth(10), + // Y = Application.GetRealHeight(56), + // Height = Application.GetRealHeight(20), + // Width = Application.GetRealWidth(330), + // BackgroundColor = 0x22220022, + //}; + //var tipScrView2 = new HorizontalScrolViewLayout() + //{ + // X = Application.GetRealWidth(10), + // Y = Application.GetRealHeight(83), + // Height = Application.GetRealHeight(20), + // Width = Application.GetRealWidth(330), + // BackgroundColor = 0x22220022, + //}; + + + foreach (var target in function.targetSids) + { + //bodyDiv.AddChidren(tipScrView1); + //bodyDiv.AddChidren(tipScrView2); + var targetObj = FunctionList.List.Functions.Find((obj) => target == obj.sid); + if(targetObj == null) + { + continue; + } + if (SPK.AcSpkList().Contains(targetObj.spk)) + { + bodyDiv.Height = Application.GetRealHeight(126); + + AC acDevice = new AC(); + var btnAcMode = new Button() + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(56), + Width = Application.GetRealWidth(62), + Height = Application.GetRealHeight(19), + BackgroundColor = 0x334484F4, + TextAlignment = TextAlignment.Center, + TextSize = 10, + TextColor = 0xFF4484F4, + Text = Language.StringByID(StringId.AC) + acDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)), + Tag = target + "screen.panel.ac.mode", + Radius = (uint)Application.GetRealWidth(4), + }; + bodyDiv.AddChidren(btnAcMode); + //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(16)}); + + var btnAcTemp = new Button() + { + X = Application.GetRealWidth(10 + 72), + Y = Application.GetRealHeight(56), + Width = Application.GetRealWidth(62), + Height = Application.GetRealHeight(19), + BackgroundColor = 0x334484F4, + TextAlignment = TextAlignment.Center, + TextSize = 10, + TextColor = 0xFF4484F4, + Text = Language.StringByID(StringId.AC) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "掳C", + Radius = (uint)Application.GetRealWidth(4), + Tag = target + "screen.panel.ac.temp" + }; + bodyDiv.AddChidren(btnAcTemp); + //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) }); + } + else if (SPK.FhSpkList().Contains(targetObj.spk)) + { + + FloorHeating fhDevice = new FloorHeating(); + var btnFhMode = new Button() + { + X = Application.GetRealWidth(10 + 72*2), + Y = Application.GetRealHeight(56), + Radius = (uint)Application.GetRealWidth(4), + Width = Application.GetRealWidth(62), + Height = Application.GetRealHeight(19), + BackgroundColor = 0x33ff9d54, + TextAlignment = TextAlignment.Center, + TextSize = 10, + TextColor = 0xFFff9d54, + Text = Language.StringByID(StringId.FloorHeating) + fhDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)), + Tag = target + "screen.panel.fh.mode" + }; + bodyDiv.AddChidren(btnFhMode); + //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) }); + + var btnFhTemp = new Button() + { + X = Application.GetRealWidth(10 + 72 * 3), + Y = Application.GetRealHeight(56), + Radius = (uint)Application.GetRealWidth(4), + Width = Application.GetRealWidth(62), + Height = Application.GetRealHeight(19), + BackgroundColor = 0x33ff9d54, + TextAlignment = TextAlignment.Center, + TextSize = 10, + TextColor = 0xFFff9d54, + Text = Language.StringByID(StringId.FloorHeating) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "掳C", + Tag = target + "screen.panel.fh.temp" + }; + bodyDiv.AddChidren(btnFhTemp); + //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) }); + } + else if (SPK.AirFreshSpkList().Contains(targetObj.spk)) + { + + AC acDevice = new AC(); + var btnAirFreshFanSpeed = new Button() + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(83), + Width = Application.GetRealWidth(62), + Height = Application.GetRealHeight(19), + BackgroundColor = 0x3309bb07, + TextAlignment = TextAlignment.Center, + TextSize = 10, + TextColor = 0xFF09bb07, + Radius = (uint)Application.GetRealWidth(4), + Text = Language.StringByID(StringId.AirFresh) + acDevice.GetFanAttrText(targetObj.GetAttrState(FunctionAttributeKey.FanSpeed)), + Tag = target + "screen.panel.airFresh.mode" + }; + bodyDiv.AddChidren(btnAirFreshFanSpeed); + } + } + + } else { if (function.spk == SPK.ClothesHanger)//鏅捐。鏋� diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs index 9418e78..624ea5d 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs @@ -114,6 +114,7 @@ }; bodyView.AddChidren(functionListView); + //Tag 鏄剧ず鍒楄〃 if (titleId == StringId.Lights) { functionList.AddRange(FunctionList.List.GetLightList()); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs index ee6432c..6edd835 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs @@ -993,7 +993,9 @@ }) { IsBackground = true }.Start(); } - catch { } + catch (Exception ex) { + MainPage.Log("涓婁紶鍥剧墖寮傚父锛�" + ex.Message); + } } } } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs index 703cb02..b4008c8 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs @@ -928,7 +928,7 @@ #endif #endregion - #region 鑾峰彇鏀寔 + //#region 鑾峰彇鏀寔 //FrameLayout supView = new FrameLayout() //{ // Height = Application.GetRealWidth(44), @@ -1022,7 +1022,7 @@ // BackgroundColor = CSS_Color.DividingLineColor //}; //supView.AddChidren(btnSupportViewLine); - #endregion + //#endregion #region 鍏充簬On Pro FrameLayout aboutView = new FrameLayout() diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs index a4aefbd..22ddee1 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs @@ -719,13 +719,13 @@ this.btnMode2.CanClick = this.airFreshData.Open; //椋庨�� - if (this.airFreshData.Fan == "level_3") + if (this.airFreshData.Fan == "level_3" || this.airFreshData.Fan == "high") { this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan3.png"; this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan3Select.png"; this.btnFanView.Text = this.dicText["3妗�"]; } - else if(this.airFreshData.Fan == "level_2") + else if(this.airFreshData.Fan == "level_2" || this.airFreshData.Fan == "medium") { this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan2.png"; this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan2Select.png"; diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs index ca2a6d6..90fea50 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs @@ -109,15 +109,15 @@ { IsBackground = true }.Start(); }; - //鍒锋柊鐣岄潰鐘舵�� - this.RefreshFormStatu(); - if (fanSpeedList.Count > 0) { this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan1.png"; this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan1Select.png"; this.btnFanView.Text = Language.StringByID(StringId.LowWindSpeed); } + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + } #endregion diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs index 71f5518..4553294 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs @@ -109,6 +109,7 @@ //var opString = brokenLine.InitOption(); // myEchartsView_Line.ShowWithOption(opString); + #endif LoadMothed_GetHistoryData(); } diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs index e1dd248..7f04f4e 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs @@ -145,7 +145,7 @@ { continue; } - if (!string.IsNullOrEmpty(roomId) && roomId == "ALLSELECT") + if (!string.IsNullOrEmpty(roomId) && roomId != "ALLSELECT") { if (!function.roomIds.Contains(roomId)) { @@ -172,7 +172,7 @@ { continue; } - if (!string.IsNullOrEmpty(roomId)) + if (!string.IsNullOrEmpty(roomId) && roomId != "ALLSELECT") { if (!scene.roomIds.Contains(roomId)) { @@ -202,121 +202,131 @@ void LoadFunctionListRow() { functionListView.RemoveAll(); - foreach (var function in allocatedList) + new System.Threading.Thread(() => { - //var output = alarm.output.Find((obj) => obj.sid == function.sid); - //if (output == null) - //{ - // output = new SecurityOutput(); - // output.sid = function.sid; - //} - - FrameLayout functionRow = new FrameLayout() + System.Threading.Thread.Sleep(50); + Application.RunOnMainThread(() => { - Height = Application.GetRealHeight(65), - BackgroundColor = CSS_Color.MainBackgroundColor, - }; - functionListView.AddChidren(functionRow); - var btnFunctionName = new Button() - { - X = Application.GetRealWidth(16), - Width = Application.GetRealWidth(200), - Height = Application.GetRealHeight(44), - Text = function.name, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - }; - functionRow.AddChidren(btnFunctionName); - - var btnFunctionFloorName = new Button() - { - X = Application.GetRealWidth(16), - Y = Application.GetRealHeight(24), - Width = Application.GetRealWidth(200), - Height = Application.GetRealHeight(41), - Text = function.RoomName, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }; - functionRow.AddChidren(btnFunctionFloorName); - - Button btnState = new Button() - { - Width = Application.GetRealWidth(317), - TextAlignment = TextAlignment.CenterRight, - TextSize = CSS_FontSize.TextFontSize, - TextColor = CSS_Color.PromptingColor1, - Text = function.StateText() - }; - functionRow.AddChidren(btnState); - - Button btnChooseIcon = new Button() - { - X = Application.GetRealWidth(333), - Gravity = Gravity.CenterVertical, - Width = Application.GetMinRealAverage(32), - Height = Application.GetMinRealAverage(32), - UnSelectedImagePath = "Public/ChooseIcon.png", - SelectedImagePath = "Public/ChooseOnIcon.png", - }; - functionRow.AddChidren(btnChooseIcon); - - btnChooseIcon.MouseUpEventHandler = (sender, e) => { - btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected; - var tempLocal = alarm.output.Find((obj) => - obj.sid == function.sid - ); - //if (tempLocal == null && !string.IsNullOrEmpty(output.spk)) - //{ - // ShowStateDialog(output, btnState, btnChooseIcon); - //} - if (btnChooseIcon.IsSelected) + foreach (var function in allocatedList) { - if (tempLocal == null) - alarm.output.Add(function); - ShowStateDialog(function, btnState, btnChooseIcon); - } - else - { - if (tempLocal != null) + //var output = alarm.output.Find((obj) => obj.sid == function.sid); + //if (output == null) + //{ + // output = new SecurityOutput(); + // output.sid = function.sid; + //} + + FrameLayout functionRow = new FrameLayout() { - alarm.output.Remove(function); + Height = Application.GetRealHeight(65), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + functionListView.AddChidren(functionRow); + + var btnFunctionName = new Button() + { + X = Application.GetRealWidth(16), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(44), + Text = function.name, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + }; + functionRow.AddChidren(btnFunctionName); + + var btnFunctionFloorName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(24), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(41), + Text = function.RoomName, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + }; + functionRow.AddChidren(btnFunctionFloorName); + + Button btnState = new Button() + { + Width = Application.GetRealWidth(317), + TextAlignment = TextAlignment.CenterRight, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.PromptingColor1, + Text = function.StateText() + }; + functionRow.AddChidren(btnState); + + Button btnChooseIcon = new Button() + { + X = Application.GetRealWidth(333), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "Public/ChooseIcon.png", + SelectedImagePath = "Public/ChooseOnIcon.png", + }; + functionRow.AddChidren(btnChooseIcon); + + btnChooseIcon.MouseUpEventHandler = (sender, e) => + { + btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected; + var tempLocal = alarm.output.Find((obj) => + obj.sid == function.sid + ); + //if (tempLocal == null && !string.IsNullOrEmpty(output.spk)) + //{ + // ShowStateDialog(output, btnState, btnChooseIcon); + //} + if (btnChooseIcon.IsSelected) + { + if (tempLocal == null) + alarm.output.Add(function); + ShowStateDialog(function, btnState, btnChooseIcon); + } + else + { + if (tempLocal != null) + { + alarm.output.Remove(function); + } + } + }; + btnState.MouseUpEventHandler = (sender, e) => + { + btnChooseIcon.IsSelected = true; + var tempLocal = alarm.output.Find((obj) => + obj.sid == function.sid + ); + if (tempLocal == null) + alarm.output.Add(function); + ShowStateDialog(function, btnState, btnChooseIcon); + }; + + var localOutput = alarm.output.Find((obj) => obj.sid == function.sid); + + if (localOutput != null) + { + btnChooseIcon.IsSelected = true; + btnState.Text = function.StateText(); } + + + functionListView.AddChidren(new Button() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(1), + BackgroundColor = CSS_Color.DividingLineColor, + }); + + } - }; - btnState.MouseUpEventHandler = (sender, e) => - { - btnChooseIcon.IsSelected = true; - var tempLocal = alarm.output.Find((obj) => - obj.sid == function.sid - ); - if (tempLocal == null) - alarm.output.Add(function); - ShowStateDialog(function, btnState, btnChooseIcon); - }; - var localOutput = alarm.output.Find((obj) => obj.sid == function.sid); - - if (localOutput != null) - { - btnChooseIcon.IsSelected = true; - btnState.Text = function.StateText(); - } - - - functionListView.AddChidren(new Button() - { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(343), - Height = Application.GetRealWidth(1), - BackgroundColor = CSS_Color.DividingLineColor, }); - - - } + }).Start(); } @@ -471,7 +481,8 @@ var form = new FloorRoomSelectPopupView(); form.ShowDeviceFunctionView(btnFloor, listAllFun, (selectId, listFun) => { - SetData(selectId); + var selecteRoom = SpatialInfo.CurrentSpatial.RoomList.Find((obj) => obj.uid == selectId); + SetData(selecteRoom.roomId); //閲嶆柊鍒锋柊璁惧鍒楄〃 this.LoadFunctionListRow(); }, nowSelectId); diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs index 5ca7239..5e78767 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs @@ -32,7 +32,7 @@ VerticalScrolViewLayout histroyView = new VerticalScrolViewLayout() { Y = btnTitle.Bottom, - Height = Application.GetRealHeight(450), + Height = Application.GetRealHeight(0), }; FrameWhiteCentet2.AddChidren(histroyView); @@ -53,6 +53,14 @@ Application.RunOnMainThread(() => { var startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + if (revData.list.Count > 9) + { + histroyView.Height = Application.GetRealHeight(450); + } + else + { + histroyView.Height = Application.GetRealHeight(50*revData.list.Count); + } foreach (var data in revData.list) { var yearString = startTime.AddMilliseconds(Convert.ToDouble(data.createTime)).ToString("yyyy") + Language.StringByID(StringId.Years); diff --git a/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs b/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs new file mode 100644 index 0000000..1bb8cbf --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs @@ -0,0 +1,1110 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.DriverLayer; +using HDL_ON.Entity; +using HDL_ON.Stan; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI.UI2.FuntionControlView.Panel +{ + public class AcContentView : FrameLayout + { + + #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// 绌鸿皟娓╁害鎺у埗鎺т欢 + /// </summary> + DiyArcSeekBar arcBar; + /// <summary> + /// 鍑忓彿鎸夐挳 + /// </summary> + Button btnMinus; + /// <summary> + /// 鍔犲彿鎸夐挳 + /// </summary> + Button btnPlus; + /// <summary> + /// 娓╁害鎸夐挳 + /// </summary> + Button btnTemp; + Button btnTempUint; + /// <summary> + /// 瀹ゅ唴娓╁害鎸夐挳 + /// </summary> + Button btnIndoorTemp; + /// <summary> + /// 妯″紡鎸夐挳 + /// </summary> + Button btnMode; + /// <summary> + /// 鎵鎸夐挳 + /// </summary> + Button btnSwing; + /// <summary> + /// 椋庨�熸寜閽� + /// </summary> + Button btnWindSpeed; + /// <summary> + /// 寮�鍏虫寜閽� + /// </summary> + Button btnSwitch; + + AC acFunction = new AC(); + + /// <summary> + /// 鎺у埗鏃堕棿 + /// </summary> + DateTime controlTime = DateTime.MinValue.AddDays(10); + /// <summary> + /// 鎺у埗娓╁害 + /// </summary> + int temp = 16; + + #endregion + Function device; + public AcContentView(Function function) + { + device = function; + + var sk = device.GetAttribute(FunctionAttributeKey.SetTemp); + if (sk != null) + { + if (sk.min == 0) + { + sk.min = 16; + } + if (sk.max == 0) + { + sk.max = 32; + } + } + + } + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭 + /// </summary> + public void InitContent(bool initStandard = true) + { + if (initStandard) + { + //璁惧鍚嶅瓧 + var btnDeviceName = new NormalViewControl(270, 37, true); + btnDeviceName.X = Application.GetRealWidth(16); + btnDeviceName.Y = Application.GetRealHeight(18); + btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor; + btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel; + btnDeviceName.Text = device.name; + btnDeviceName.Width = btnDeviceName.GetRealWidthByText(); + AddChidren(btnDeviceName); + //鎴块棿鍚嶅瓧 + var btnRoomName = new NormalViewControl(270, 21, true); + btnRoomName.X = Application.GetRealWidth(16); + btnRoomName.Y = btnDeviceName.Bottom; + btnRoomName.TextColor = CSS_Color.PromptingColor1; + btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnRoomName.Text = device.GetRoomListName(); + btnRoomName.Width = btnRoomName.GetRealWidthByText(); + AddChidren(btnRoomName); + + } + + //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + this.InitFrameWhiteContent(); + + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + //璇诲彇鐘舵�� + new System.Threading.Thread(() => + { + while (true) + { + if (controlTime == DateTime.MinValue) + { + + } + else if (controlTime.AddSeconds(2) < DateTime.Now) + { + Control.Ins.SendReadCommand(device); + controlTime = DateTime.MinValue; + } + System.Threading.Thread.Sleep(1000); + } + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + /// </summary> + private void InitFrameWhiteContent() + { + temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")); + arcBar = new DiyArcSeekBar() + { + Gravity = Gravity.CenterHorizontal, + OpenAngle = 160, + ThumbImageHeight = Application.GetRealWidth(50), + ProgressBarColor = CSS_Color.MainColor, + OfflineProgressBarColor = CSS_Color.PromptingColor2, + ArcColor = CSS_Color.BackgroundColor, +#if __IOS__ + Y = Application.GetRealHeight(120 + 25), + Width = Application.GetRealWidth(260 - 40), + Height = Application.GetRealWidth(260 - 40), + SeekBarPadding = Application.GetRealWidth(8), +#else + Y = Application.GetRealHeight(120 + 40), + Width = Application.GetRealWidth(260 - 40), + Height = Application.GetRealWidth(260 - 40), + SeekBarPadding = Application.GetRealWidth(7), +#endif + + }; + this.AddChidren(arcBar); + + + arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png"; + arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off"; + arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min; + arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max; + arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")); + + btnTemp = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(206), + Width = Application.GetRealWidth(71), + Height = Application.GetRealWidth(60), + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = 50, + IsBold = true, + Text = Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")).ToString(), + TextAlignment = TextAlignment.Center, + }; + this.AddChidren(btnTemp); + + btnTempUint = new Button() + { + X = btnTemp.Right, + Y = btnTemp.Y, + Width = Application.GetRealWidth(30), + Height = Application.GetRealHeight(30), + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + IsBold = true, + TextAlignment = TextAlignment.CenterLeft, + Text = "掳C", + }; + this.AddChidren(btnTempUint); + + btnIndoorTemp = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = btnTemp.Bottom, + Width = Application.GetRealWidth(120), + Height = Application.GetRealHeight(20), + Text = Language.StringByID(StringId.IndoorTemp) + "20掳C", + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + }; + this.AddChidren(btnIndoorTemp); + + btnMinus = new Button() + { + X = Application.GetRealWidth(21), + Y = Application.GetRealHeight(263), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "Public/MinusSignIcon.png", + }; + this.AddChidren(btnMinus); + + btnPlus = new Button() + { + X = Application.GetRealWidth(275), + Y = Application.GetRealHeight(263), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "Public/PlusSignIcon.png", + }; + this.AddChidren(btnPlus); + + btnMode = new Button() + { + X = Application.GetRealWidth(60), + Y = Application.GetRealHeight(334), + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(30), + UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)), + }; + this.AddChidren(btnMode); + + + btnSwing = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(330), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(40), + UnSelectedImagePath = "FunctionIcon/AC/SweepIconNullOn.png", + }; + if (device.GetAttribute(FunctionAttributeKey.Swing) != null) + { + this.AddChidren(btnSwing); + } + + + btnWindSpeed = new Button() + { + X = Application.GetRealWidth(235), + Y = Application.GetRealHeight(337), + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(30), + UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)), + }; + this.AddChidren(btnWindSpeed); + + btnSwitch = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "Public/PowerClose.png", + SelectedImagePath = "Public/PowerOpen.png", + IsSelected = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" + }; + this.AddChidren(btnSwitch); + + LoadEvent_TempChange(); + LoadEvent_AcStatesChange(); + + LoadDiv_IrView(); + } + + /// <summary> + /// 鍔犺浇淇敼妯″紡鍖哄煙 + /// </summary> + void LoadDiv_ChangeModeView() + { + Dialog dialog = new Dialog(); + + FrameLayout dialogView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(dialogView); + + FrameLayout modeChangeView; + modeChangeView = new FrameLayout() + { + X = Application.GetRealWidth(30), + Y = Application.GetRealHeight(128), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(287), + BackgroundImagePath = "FunctionIcon/AC/DivBg1.png", + }; + dialogView.AddChidren(modeChangeView); + + Button btnTitle; + btnTitle = new Button() + { + X = Application.GetRealWidth(8 + 16), + Y = Application.GetRealHeight(8), + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(44), + TextID = StringId.ChooseMode, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + }; + modeChangeView.AddChidren(btnTitle); + + Button btnLine = new Button() + { + X = btnTitle.X, + Y = btnTitle.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }; + modeChangeView.AddChidren(btnLine); + + var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value; + foreach (var m in modeList) + { + Button btnModeIcon = new Button() + { + X = btnTitle.X, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m, + }; + modeChangeView.AddChidren(btnModeIcon); + + Button btnModeText = new Button() + { + X = Application.GetRealWidth(12) + btnModeIcon.Right, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(90), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainColor, + IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m, + TextSize = CSS_FontSize.TextFontSize, + }; + modeChangeView.AddChidren(btnModeText); + + btnModeIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m, false); + btnModeIcon.SelectedImagePath = acFunction.GetModeIconPath(m); + btnModeText.Text = acFunction.GetModeAttrText(m); + + if (modeList.IndexOf(m) < modeList.Count - 1) + { + modeChangeView.AddChidren(new Button() + { + X = btnTitle.X, + Y = btnModeText.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }); + } + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + dialog.Close(); + }; + EventHandler<MouseEventArgs> eventHandler1 = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + btnModeIcon.IsSelected = btnModeText.IsSelected = true; + device.SetAttrState(FunctionAttributeKey.Mode, m); + btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Mode, m); + Control.Ins.SendWriteCommand(device, d); + dialog.Close(); + if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + arcBar.IsClickable = false; + arcBar.IsOffline = true; + } + else + { + arcBar.IsOffline = false; + arcBar.IsClickable = true; + } + }; + btnModeIcon.MouseUpEventHandler = eventHandler1; + btnModeText.MouseUpEventHandler = eventHandler1; + dialogView.MouseUpEventHandler = eventHandler; + + } + + dialogView.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + dialog.Show(); + } + + /// <summary> + /// 鍔犺浇淇敼鎵妯″紡鍖哄煙 + /// </summary> + void LoadDiv_ChangeSwingView() + { + Dialog dialog = new Dialog(); + + FrameLayout dialogView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(dialogView); + + FrameLayout modeChangeView; + modeChangeView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(128), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(287), + BackgroundImagePath = "FunctionIcon/AC/DivBg2.png", + }; + dialogView.AddChidren(modeChangeView); + + Button btnTitle; + btnTitle = new Button() + { + X = Application.GetRealWidth(8 + 16), + Y = Application.GetRealHeight(8), + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(44), + TextID = StringId.Swing, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + }; + modeChangeView.AddChidren(btnTitle); + + Button btnLine = new Button() + { + X = btnTitle.X, + Y = btnTitle.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }; + modeChangeView.AddChidren(btnLine); + + var modeList = device.GetAttribute(FunctionAttributeKey.Swing).value; + foreach (var m in modeList) + { + Button btnModeIcon = new Button() + { + X = btnTitle.X, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m, + }; + modeChangeView.AddChidren(btnModeIcon); + + Button btnModeText = new Button() + { + X = Application.GetRealWidth(12) + btnModeIcon.Right, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(90), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainColor, + IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m, + TextSize = CSS_FontSize.TextFontSize, + }; + modeChangeView.AddChidren(btnModeText); + + if (modeList.IndexOf(m) < modeList.Count - 1) + { + modeChangeView.AddChidren(new Button() + { + X = btnTitle.X, + Y = btnModeText.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }); + } + + btnModeIcon.UnSelectedImagePath = acFunction.GetSwingIconPath(m, false); + btnModeIcon.SelectedImagePath = acFunction.GetSwingIconPath(m); + btnModeText.Text = acFunction.GetSwingAttrText(m); + + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + dialog.Close(); + }; + EventHandler<MouseEventArgs> eventHandler1 = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + btnModeIcon.IsSelected = btnModeText.IsSelected = true; + device.SetAttrState(FunctionAttributeKey.Swing, m); + btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Swing, m); + Control.Ins.SendWriteCommand(device, d); + dialog.Close(); + }; + btnModeIcon.MouseUpEventHandler = eventHandler1; + btnModeText.MouseUpEventHandler = eventHandler1; + dialogView.MouseUpEventHandler = eventHandler; + + } + + dialogView.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + dialog.Show(); + } + /// <summary> + /// 鍔犺浇淇敼妯″紡鍖哄煙 + /// </summary> + void LoadDiv_ChangeFanView() + { + Dialog dialog = new Dialog(); + + FrameLayout dialogView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(dialogView); + + FrameLayout modeChangeView; + modeChangeView = new FrameLayout() + { + X = Application.GetRealWidth(185), + Y = Application.GetRealHeight(172), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(243), + BackgroundImagePath = "FunctionIcon/AC/DivBg2.png", + }; + dialogView.AddChidren(modeChangeView); + + Button btnTitle; + btnTitle = new Button() + { + X = Application.GetRealWidth(8 + 16), + Y = Application.GetRealHeight(8), + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(44), + TextID = StringId.ChooseFan, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + }; + modeChangeView.AddChidren(btnTitle); + + Button btnLine = new Button() + { + X = btnTitle.X, + Y = btnTitle.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }; + modeChangeView.AddChidren(btnLine); + + var modeList = device.GetAttribute(FunctionAttributeKey.FanSpeed).value; + foreach (var m in modeList) + { + Button btnFanIcon = new Button() + { + X = btnTitle.X, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m, + }; + modeChangeView.AddChidren(btnFanIcon); + + Button btnFanText = new Button() + { + X = Application.GetRealWidth(12) + btnFanIcon.Right, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(70), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainColor, + IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m, + TextSize = CSS_FontSize.TextFontSize, + }; + modeChangeView.AddChidren(btnFanText); + btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m, false); + btnFanIcon.SelectedImagePath = acFunction.GetFanIconPath(m); + btnFanText.Text = acFunction.GetFanAttrText(m); + + if (modeList.IndexOf(m) < modeList.Count - 1) + { + modeChangeView.AddChidren(new Button() + { + X = btnTitle.X, + Y = btnFanText.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }); + } + + EventHandler<MouseEventArgs> closeDialogEvent = (sender, e) => + { + dialog.Close(); + }; + EventHandler<MouseEventArgs> eventHandler1 = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + btnFanIcon.IsSelected = btnFanText.IsSelected = true; + device.SetAttrState(FunctionAttributeKey.FanSpeed, m); + btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(m); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.FanSpeed, m); + Control.Ins.SendWriteCommand(device, d); + //btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath; + dialog.Close(); + }; + btnFanIcon.MouseUpEventHandler = eventHandler1; + btnFanText.MouseUpEventHandler = eventHandler1; + dialogView.MouseUpEventHandler = closeDialogEvent; + } + + dialog.Show(); + } + + /// <summary> + /// 鍔犺浇绾㈠閬ユ帶鍣紝棰濆鎸夐挳 + /// </summary> + void LoadDiv_IrView() + { + if (device.spk == SPK.AcIr) + { + var btnMore = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(334 + 80), + Width = Application.GetRealWidth(35), + Height = Application.GetRealWidth(35), + UnSelectedImagePath = "FunctionIcon/AC/More.png", + }; + this.AddChidren(btnMore); + + btnMore.MouseUpEventHandler = (sender, e) => { + LoadDialog_IrMoreView(); + }; + } + } + + /// <summary> + /// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈� + /// </summary> + void LoadDialog_IrMoreView() + { + Dialog dialog = new Dialog(); + + var div = new FrameLayout(); + dialog.AddChidren(div); + div.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + + var bodyView = new FrameLayout() + { + Y = Application.GetRealHeight(427),//667 + Height = Application.GetRealHeight(240), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + div.AddChidren(bodyView); + + var contentView = new VerticalScrolViewLayout() + { + Y = Application.GetRealHeight(16), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(296 + 200), + }; + bodyView.AddChidren(contentView); + + + var row = new FrameLayout() + { + Height = Application.GetRealHeight(60), + Width = Application.GetRealWidth(296), + Gravity = Gravity.CenterHorizontal, + }; + contentView.AddChidren(row); + + int index = 0; + List<FunctionAttributes> attrList = new List<FunctionAttributes>(); + attrList.AddRange(device.attributes); + attrList.Add(new FunctionAttributes() + { + key = "+", + }); + + foreach (var attr in attrList) + { + if (attr.key == FunctionAttributeKey.Mode + || attr.key == FunctionAttributeKey.OnOff + || attr.key == FunctionAttributeKey.SetTemp + || attr.key == FunctionAttributeKey.SetTempStep + || attr.key == FunctionAttributeKey.FanSpeed + || attr.key == FunctionAttributeKey.FanManual + || attr.key == FunctionAttributeKey.FanAuto + ) + { + continue; + } + if (index != 0 && index % 3 == 0) + { + row = new FrameLayout() + { + Height = Application.GetRealHeight(56), + Width = Application.GetRealWidth(296), + Gravity = Gravity.CenterHorizontal, + }; + contentView.AddChidren(row); + } + if (attr.key == "+") + { + var addView = new FrameLayout() + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + }; + + + if (index % 3 == 1) + { + addView.Gravity = Gravity.Center; + } + else if (index % 3 == 2) + { + addView.X = Application.GetRealWidth(208); + } + row.AddChidren(addView); + + var btnAdd = new Button() + { + Gravity = Gravity.Center, + UnSelectedImagePath = "Public/PlusSignIcon.png", + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + }; + addView.AddChidren(btnAdd); + + btnAdd.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + Action action = () => { + LoadDialog_IrMoreView(); + }; + var addButton = new AcControlPage_AddIrButton(action); + MainPage.BasePageView.AddChidren(addButton); + addButton.Show(device); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + + + } + else + { + + var btn = new Button() + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainBackgroundColor, + SelectedBackgroundColor = CSS_Color.MainColor, + }; + if (attr.value.Count > 0) + { + btn.Text = attr.value[0]; + } + if (index % 3 == 1) + { + btn.Gravity = Gravity.Center; + } + else if (index % 3 == 2) + { + btn.X = Application.GetRealWidth(208); + } + row.AddChidren(btn); + + btn.MouseUpEventHandler = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(attr.key, ""); + Control.Ins.SendWriteCommand(device, d); + + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btn.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + }; + + } + + index++; + } + + dialog.Show(); + } + + + #endregion + + #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________ + + /// <summary> + /// 娓╁害鏀瑰彉妯″紡 + /// </summary> + void LoadEvent_TempChange() + { + btnMinus.MouseUpEventHandler = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + return; + } + + if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min) + { + return; + } + --temp; + Console.WriteLine($"temp == {temp}"); + controlTime = DateTime.Now; + arcBar.Progress = temp; + btnTemp.Text = temp.ToString(); + device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + btnPlus.MouseUpEventHandler = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + return; + } + if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max) + { + return; + } + ++temp; + controlTime = DateTime.Now; + arcBar.Progress = temp; + btnTemp.Text = temp.ToString(); + device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + //if (device.online) + { + arcBar.OnStopTrackingTouchEvent = (sender, e) => + { + temp = arcBar.Progress; + device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); + btnTemp.Text = arcBar.Progress.ToString(); + controlTime = DateTime.Now; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + arcBar.OnProgressChangedEvent = (sender, e) => + { + device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString()); + btnTemp.Text = e.ToString(); + }; + //arcBar.MouseDownEventHandler = (sender, e) => { + // Console.WriteLine("ddd"); + // MainPage.BasePageView.ScrollEnabled =false; + //}; + //arcBar.MouseUpEventHandler = (sender, e) => { + // Console.WriteLine("ddd2"); + // MainPage.BasePageView.ScrollEnabled = true; + //}; + } + } + + /// <summary> + /// 鎺у埗妯″紡浜嬩欢 + /// </summary> + void LoadEvent_AcStatesChange() + { + btnMode.MouseUpEventHandler = (sender, e) => + { + if (device.trait_on_off.curValue.ToString() == "off") + { + return; + } + LoadDiv_ChangeModeView(); + }; + //鎵鏀瑰彉妯″紡 + btnSwing.MouseUpEventHandler = (sender, e) => + { + if (device.trait_on_off.curValue.ToString() == "off") + { + return; + } + LoadDiv_ChangeSwingView(); + }; + btnWindSpeed.MouseUpEventHandler = (sender, e) => + { + if (device.trait_on_off.curValue.ToString() == "off") + { + return; + } + LoadDiv_ChangeFanView(); + }; + + btnSwitch.MouseUpEventHandler = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + btnSwitch.IsSelected = !btnSwitch.IsSelected; + device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; + if (device.trait_on_off.curValue.ToString() == "on") + { + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; + btnSwitch.IsSelected = true; + arcBar.IsOffline = false; + } + else + { + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; + btnSwitch.IsBold = false; + arcBar.IsOffline = true; + } + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + } + + #endregion + + #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________ + + /// <summary> + /// 鍒锋柊鐣岄潰鐘舵�� + /// </summary> + public void RefreshFormStatu() + { + Application.RunOnMainThread(() => + { + //app鑷繁鎺у埗鐨勪笉鐢ㄦ洿鏂帮紝浼氶�犳垚璺冲姩 + if (controlTime.AddSeconds(2) > DateTime.Now) + { + return; + } + else + { + btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "掳C"; + btnMode.SelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); + btnSwing.SelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing)); + btnWindSpeed.SelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)); + btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode), false); + btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing), false); + btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed), false); + temp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."))); + + + arcBar.Progress = temp; + btnTemp.Text = temp.ToString(); + + if (device.trait_on_off.curValue.ToString() == "on") + { + btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true; + arcBar.IsOffline = false; + btnSwitch.IsSelected = true; + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; + if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + arcBar.IsClickable = false; + } + else + { + arcBar.IsClickable = true; + } + } + else + { + btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false; + arcBar.IsOffline = true; + btnSwitch.IsSelected = false; + arcBar.IsClickable = false; + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; + } + + if (device.GetAttrState(FunctionAttributeKey.Mode) == "dry") + { + arcBar.IsOffline = true; + arcBar.IsClickable = false; + + } + } + + }); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛� + /// </summary> + private void RefreshNowDeviceStatuMemory(Function i_LocalDevice) + { + } + + #endregion + } +} \ No newline at end of file diff --git a/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs b/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs new file mode 100644 index 0000000..a4134a9 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs @@ -0,0 +1,540 @@ +锘縰sing System; +using HDL_ON.DriverLayer; +using HDL_ON.Entity; +using HDL_ON.Stan; +using HDL_ON.UI.CSS; +using Shared; +namespace HDL_ON.UI +{ + public class FhContentView : FrameLayout + { + #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// 绌鸿皟娓╁害鎺у埗鎺т欢 + /// </summary> + DiyArcSeekBar arcBar; + /// <summary> + /// 鍑忓彿鎸夐挳 + /// </summary> + Button btnMinus; + /// <summary> + /// 鍔犲彿鎸夐挳 + /// </summary> + Button btnPlus; + /// <summary> + /// 娓╁害鎸夐挳 + /// </summary> + Button btnTemp; + Button btnTempUint; + /// <summary> + /// 瀹ゅ唴娓╁害鎸夐挳 + /// </summary> + Button btnIndoorTemp; + /// <summary> + /// 妯″紡鎸夐挳 + /// </summary> + Button btnMode; + /// <summary> + /// 寮�鍏虫寜閽� + /// </summary> + Button btnSwitch; + + FloorHeating fhTemp = new FloorHeating(); + + Function device; + + #endregion + + public FhContentView(Function function) + { + device = function; + } + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭 + /// </summary> + public void InitContentView(bool initStandard) + { + + if (initStandard) + { + //璁惧鍚嶅瓧 + var btnDeviceName = new NormalViewControl(270, 37, true); + btnDeviceName.X = Application.GetRealWidth(16); + btnDeviceName.Y = Application.GetRealHeight(18); + btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor; + btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel; + btnDeviceName.Text = device.name; + btnDeviceName.Width = btnDeviceName.GetRealWidthByText(); + AddChidren(btnDeviceName); + //鎴块棿鍚嶅瓧 + var btnRoomName = new NormalViewControl(270, 21, true); + btnRoomName.X = Application.GetRealWidth(16); + btnRoomName.Y = btnDeviceName.Bottom; + btnRoomName.TextColor = CSS_Color.PromptingColor1; + btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnRoomName.Text = device.GetRoomListName(); + btnRoomName.Width = btnRoomName.GetRealWidthByText(); + AddChidren(btnRoomName); + + } + //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + this.InitFrameWhiteContent1(); + + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + //璇诲彇鐘舵�� + new System.Threading.Thread(() => + { + Control.Ins.SendReadCommand(device); + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + /// </summary> + private void InitFrameWhiteContent1() + { + + arcBar = new DiyArcSeekBar() + { + Gravity = Gravity.CenterHorizontal, + OpenAngle = 160, + //ThumbImagePath = device.trait_on_off.curValue.ToString() == "on" ? "FunctionIcon/FloorHeating/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png", + ThumbImageHeight = Application.GetRealWidth(50), + ProgressBarColor = CSS_Color.AuxiliaryColor1, // 0xFFFC9C04, + OfflineProgressBarColor = CSS_Color.PromptingColor2, + MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min, + MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max, + ArcColor = CSS_Color.BackgroundColor, + Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)), +#if __IOS__ + Y = Application.GetRealHeight(120 + 25), + Width = Application.GetRealWidth(260 - 40), + Height = Application.GetRealWidth(260 - 40), + SeekBarPadding = Application.GetRealWidth(8), +#else + Y = Application.GetRealHeight(120 + 40), + Width = Application.GetRealWidth(260 - 40), + Height = Application.GetRealWidth(260 - 40), + SeekBarPadding = Application.GetRealWidth(7), +#endif + + }; + AddChidren(arcBar); + + + arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png"; + arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off"; + arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min; + arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max; + arcBar.Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)); + + + + btnTemp = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(200), + Width = Application.GetRealWidth(80), + Height = Application.GetRealWidth(60), + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = 56, + IsBold = true, + Text = device.GetAttrState(FunctionAttributeKey.SetTemp), + TextAlignment = TextAlignment.Center, + }; + AddChidren(btnTemp); + + btnTempUint = new Button() + { + X = btnTemp.Right, + Y = btnTemp.Y, + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(25), + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + IsBold = true, + TextAlignment = TextAlignment.CenterLeft, + Text = fhTemp.GetTempUnitString(device) + }; + AddChidren(btnTempUint); + + btnIndoorTemp = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = btnTemp.Bottom + Application.GetRealWidth(10), + Width = Application.GetRealWidth(100), + Height = Application.GetRealHeight(20), + Text = Language.StringByID(StringId.IndoorTemp) + "20掳C", + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + }; + AddChidren(btnIndoorTemp); + + btnMinus = new Button() + { + X = Application.GetRealWidth(21), + Y = Application.GetRealHeight(263), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "Public/MinusSignIcon.png", + }; + AddChidren(btnMinus); + + btnPlus = new Button() + { + X = Application.GetRealWidth(275), + Y = Application.GetRealHeight(263), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "Public/PlusSignIcon.png", + }; + AddChidren(btnPlus); + + if (device.GetAttribute(FunctionAttributeKey.Mode) != null) + { + btnMode = new Button() + { + X = Application.GetRealWidth(235), + Y = Application.GetRealHeight(337), + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(30), + UnSelectedImagePath = fhTemp.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)) + }; + AddChidren(btnMode); + if (device.GetAttribute(FunctionAttributeKey.Mode).value.Count > 1) + { + btnMode.MouseUpEventHandler = (sender, e) => + { + LoadDiv_ChangeModeView(); + }; + } + } + + btnSwitch = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "Public/PowerClose.png", + SelectedImagePath = "Public/PowerOpen.png", + IsSelected = device.trait_on_off.curValue.ToString() == "on" + }; + AddChidren(btnSwitch); + + LoadEvent_TempChange(); + LoadEvent_AcStatesChange(); + + } + + /// <summary> + /// 鍔犺浇淇敼妯″紡鍖哄煙 + /// </summary> + void LoadDiv_ChangeModeView() + { + Dialog dialog = new Dialog(); + + FrameLayout dialogView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(dialogView); + + FrameLayout modeChangeView; + modeChangeView = new FrameLayout() + { + X = Application.GetRealWidth(30), + Y = Application.GetRealHeight(128), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(287), + BackgroundImagePath = "FunctionIcon/AC/DivBg1.png", + }; + dialogView.AddChidren(modeChangeView); + + Button btnTitle; + btnTitle = new Button() + { + X = Application.GetRealWidth(8 + 16), + Y = Application.GetRealHeight(8), + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(44), + TextID = StringId.ChooseMode, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + }; + modeChangeView.AddChidren(btnTitle); + + Button btnLine = new Button() + { + X = btnTitle.X, + Y = btnTitle.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }; + modeChangeView.AddChidren(btnLine); + + var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value; + foreach (var m in modeList) + { + Button btnModeIcon = new Button() + { + X = btnTitle.X, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m, + }; + modeChangeView.AddChidren(btnModeIcon); + + Button btnModeText = new Button() + { + X = Application.GetRealWidth(12) + btnModeIcon.Right, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(90), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainColor, + IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m, + TextSize = CSS_FontSize.TextFontSize, + }; + modeChangeView.AddChidren(btnModeText); + + btnModeIcon.UnSelectedImagePath = fhTemp.GetModeIconPath(m, false); + btnModeIcon.SelectedImagePath = fhTemp.GetModeIconPath(m); + btnModeText.Text = fhTemp.GetModeAttrText(m); + + if (modeList.IndexOf(m) < modeList.Count - 1) + { + modeChangeView.AddChidren(new Button() + { + X = btnTitle.X, + Y = btnModeText.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }); + } + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + dialog.Close(); + }; + EventHandler<MouseEventArgs> eventHandler1 = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + //} + btnModeIcon.IsSelected = btnModeText.IsSelected = true; + device.SetAttrState(FunctionAttributeKey.Mode, m); + btnMode.UnSelectedImagePath = fhTemp.GetModeIconPath(m); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath; + d.Add(FunctionAttributeKey.Mode, m); + Control.Ins.SendWriteCommand(device, d); + dialog.Close(); + if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + arcBar.IsClickable = false; + } + else + { + arcBar.IsClickable = true; + } + }; + btnModeIcon.MouseUpEventHandler = eventHandler1; + btnModeText.MouseUpEventHandler = eventHandler1; + dialogView.MouseUpEventHandler = eventHandler; + + } + + dialogView.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + dialog.Show(); + } + + #endregion + + + #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________ + + /// <summary> + /// 娓╁害鏀瑰彉妯″紡 + /// </summary> + void LoadEvent_TempChange() + { + btnMinus.MouseUpEventHandler = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} + if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + return; + } + var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)); + if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min) + { + return; + } + temp--; + arcBar.Progress = temp; + btnTemp.Text = temp.ToString(); + device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + btnPlus.MouseUpEventHandler = (sender, e) => + { + //if (!device.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} + if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + return; + } + var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)); + if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max) + { + return; + } + temp++; + arcBar.Progress = temp; + btnTemp.Text = temp.ToString(); + device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + + //if (device.online) + { + arcBar.OnStopTrackingTouchEvent = (sender, e) => + { + device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); + btnTemp.Text = arcBar.Progress.ToString(); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + arcBar.OnProgressChangedEvent = (sender, e) => + { + device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString()); + btnTemp.Text = e.ToString(); + }; + } + } + /// <summary> + /// 鎺у埗妯″紡浜嬩欢 + /// </summary> + void LoadEvent_AcStatesChange() + { + btnMode.MouseUpEventHandler = (sender, e) => + { + if (device.trait_on_off.curValue.ToString() == "off") + { + return; + } + LoadDiv_ChangeModeView(); + }; + + btnSwitch.MouseUpEventHandler = (sender, e) => + { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; + if (device.trait_on_off.curValue.ToString() == "on") + { + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; + btnSwitch.IsSelected = true; + arcBar.IsOffline = false; + } + else + { + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; + btnSwitch.IsBold = false; + arcBar.IsOffline = true; + } + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + } + + #endregion + + #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________ + + /// <summary> + /// 鍒锋柊鐣岄潰鐘舵�� + /// </summary> + private void RefreshFormStatu() + { + Application.RunOnMainThread(() => + { + btnTemp.Text = device.GetAttrState(FunctionAttributeKey.SetTemp); + btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "掳C"; + btnMode.UnSelectedImagePath = fhTemp.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); + arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."))); + if (device.trait_on_off.curValue.ToString() == "on") + { + arcBar.IsOffline = false; + btnSwitch.IsSelected = true; + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; + if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + arcBar.IsClickable = false; + } + else + { + arcBar.IsClickable = true; + } + } + else + { + arcBar.IsOffline = true; + btnSwitch.IsSelected = false; + arcBar.IsClickable = false; + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; + } + //鑷姩妯″紡涓嶅厑璁歌皟娓╁害 2021-10-27 09:41:35 wxr 闄堢惓鍙嶉 + if (device.GetAttrState(FunctionAttributeKey.Mode) == "auto") + { + btnPlus.Enable = false; + btnMinus.Enable = false; + arcBar.IsClickable = false; + arcBar.IsOffline = true; + } + }); + } + + #endregion + } +} \ No newline at end of file diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs index cf7936f..0b08588 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs @@ -1,1052 +1,1052 @@ -锘縰sing System; -using System.Collections.Generic; -using HDL_ON.DriverLayer; -using HDL_ON.Entity; -using HDL_ON.UI.CSS; -using Shared; +锘�//using System; +//using System.Collections.Generic; +//using HDL_ON.DriverLayer; +//using HDL_ON.Entity; +//using HDL_ON.UI.CSS; +//using Shared; -namespace HDL_ON.UI -{ - public class A_EnvironmentalDataCenter : FrameLayout - { +//namespace HDL_ON.UI +//{ +// public class A_EnvironmentalDataCenter : FrameLayout +// { - #region 鎺т欢闆嗗悎 - static A_EnvironmentalDataCenter bodyView; - /// <summary> - /// 妤煎眰鏄剧ず - /// </summary> - Button btnRoom; - /// <summary> - /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣 - /// </summary> - Button btnFoorDownIcon; - /// <summary> - /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙 - /// </summary> - Button btnRoomClickRow; - /// <summary> - /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩� - /// </summary> - FrameLayout sensorListView; +// #region 鎺т欢闆嗗悎 +// static A_EnvironmentalDataCenter bodyView; +// /// <summary> +// /// 妤煎眰鏄剧ず +// /// </summary> +// Button btnRoom; +// /// <summary> +// /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣 +// /// </summary> +// Button btnFoorDownIcon; +// /// <summary> +// /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙 +// /// </summary> +// Button btnRoomClickRow; +// /// <summary> +// /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩� +// /// </summary> +// FrameLayout sensorListView; - VerticalScrolViewLayout sensorListContentView; +// VerticalScrolViewLayout sensorListContentView; - /// <summary> - /// 澶╂皵鍚嶇О鏂囨湰 - /// </summary> - Button btnWatherText; - /// <summary> - /// 婀垮害鏁版嵁鏂囨湰 - /// </summary> - Button btnHumidityText; - /// <summary> - /// pm25鏁版嵁鏂囨湰 - /// </summary> - Button btnPm25Values; - /// <summary> - /// 椋庨�熸暟鎹枃鏈� - /// </summary> - Button btnFanSpeedValues; +// /// <summary> +// /// 澶╂皵鍚嶇О鏂囨湰 +// /// </summary> +// Button btnWatherText; +// /// <summary> +// /// 婀垮害鏁版嵁鏂囨湰 +// /// </summary> +// Button btnHumidityText; +// /// <summary> +// /// pm25鏁版嵁鏂囨湰 +// /// </summary> +// Button btnPm25Values; +// /// <summary> +// /// 椋庨�熸暟鎹枃鏈� +// /// </summary> +// Button btnFanSpeedValues; - List<SensorView> sensorViewList = new List<SensorView>(); - #endregion - #region 鍖哄煙鍙橀噺 - Room room; +// List<SensorView> sensorViewList = new List<SensorView>(); +// #endregion +// #region 鍖哄煙鍙橀噺 +// Room room; - Sensor sensorTemp = new Sensor(); - /// <summary> - /// 浼犳劅鍣ㄥ垎绫诲垪琛� - /// </summary> - Dictionary<string, List<Function>> sensorList = new Dictionary<string, List<Function>>(); - #endregion +// Sensor sensorTemp = new Sensor(); +// /// <summary> +// /// 浼犳劅鍣ㄥ垎绫诲垪琛� +// /// </summary> +// Dictionary<string, List<Function>> sensorList = new Dictionary<string, List<Function>>(); +// #endregion - public A_EnvironmentalDataCenter() - { - bodyView = this; - } +// public A_EnvironmentalDataCenter() +// { +// bodyView = this; +// } - /// <summary> - /// 鍔犺浇鐣岄潰 - /// </summary> - /// <param name="btnCollectionIcon">鏀惰棌鎸夐挳</param> - /// <param name="btnFunctionName">鍔熻兘鍚嶇О淇℃伅鎸夐挳</param> - /// <param name="btnFromFloor">鍔熻兘妤煎眰淇℃伅鎸夐挳</param> - public void LoadPage() - { - bodyView.BackgroundColor = CSS_Color.BackgroundColor; +// /// <summary> +// /// 鍔犺浇鐣岄潰 +// /// </summary> +// /// <param name="btnCollectionIcon">鏀惰棌鎸夐挳</param> +// /// <param name="btnFunctionName">鍔熻兘鍚嶇О淇℃伅鎸夐挳</param> +// /// <param name="btnFromFloor">鍔熻兘妤煎眰淇℃伅鎸夐挳</param> +// public void LoadPage() +// { +// bodyView.BackgroundColor = CSS_Color.BackgroundColor; - #region 椤堕儴澶╂皵閮ㄥ垎 - var topWeatherView = new FrameLayout() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(73), - Width = Application.GetRealWidth(361), - Height = Application.GetRealWidth(166), - BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png", - }; - bodyView.AddChidren(topWeatherView); - LoadEvent_ChangeWeatherIcon(topWeatherView); +// #region 椤堕儴澶╂皵閮ㄥ垎 +// var topWeatherView = new FrameLayout() +// { +// Gravity = Gravity.CenterHorizontal, +// Y = Application.GetRealHeight(73), +// Width = Application.GetRealWidth(361), +// Height = Application.GetRealWidth(166), +// BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png", +// }; +// bodyView.AddChidren(topWeatherView); +// LoadEvent_ChangeWeatherIcon(topWeatherView); - var btnLocationText = new Button() - { - X = Application.GetRealWidth(27), - Width = Application.GetRealWidth(74), - Height = Application.GetRealWidth(44), - TextAlignment = TextAlignment.CenterLeft, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - TextColor = CSS_Color.FirstLevelTitleColor, - Text = MainPage.cityInfo.location, - }; - topWeatherView.AddChidren(btnLocationText); +// var btnLocationText = new Button() +// { +// X = Application.GetRealWidth(27), +// Width = Application.GetRealWidth(74), +// Height = Application.GetRealWidth(44), +// TextAlignment = TextAlignment.CenterLeft, +// TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, +// TextColor = CSS_Color.FirstLevelTitleColor, +// Text = MainPage.cityInfo.location, +// }; +// topWeatherView.AddChidren(btnLocationText); - var btnTemp = new Button() - { - X = Application.GetRealWidth(21), - Y = Application.GetRealWidth(53), - Width = Application.GetRealWidth(78), - Height = Application.GetRealWidth(68), - TextSize = 60, - IsBold = true, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - Text = MainPage.cityInfo.temperature, - }; - topWeatherView.AddChidren(btnTemp); +// var btnTemp = new Button() +// { +// X = Application.GetRealWidth(21), +// Y = Application.GetRealWidth(53), +// Width = Application.GetRealWidth(78), +// Height = Application.GetRealWidth(68), +// TextSize = 60, +// IsBold = true, +// TextAlignment = TextAlignment.CenterLeft, +// TextColor = CSS_Color.FirstLevelTitleColor, +// Text = MainPage.cityInfo.temperature, +// }; +// topWeatherView.AddChidren(btnTemp); - var btnTempUint = new Button() - { - X = Application.GetRealWidth(109), - Y = Application.GetRealWidth(60), - Width = Application.GetRealWidth(20), - Height = Application.GetRealWidth(20), - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextColor = CSS_Color.TextualColor, - Text = "掳C", - }; - topWeatherView.AddChidren(btnTempUint); +// var btnTempUint = new Button() +// { +// X = Application.GetRealWidth(109), +// Y = Application.GetRealWidth(60), +// Width = Application.GetRealWidth(20), +// Height = Application.GetRealWidth(20), +// TextSize = CSS_FontSize.PromptFontSize_FirstLevel, +// TextColor = CSS_Color.TextualColor, +// Text = "掳C", +// }; +// topWeatherView.AddChidren(btnTempUint); - btnWatherText = new Button() - { - X = Application.GetRealWidth(109), - Y = Application.GetRealWidth(82), - Width = Application.GetRealWidth(200), - Height = Application.GetRealWidth(20), - TextColor = CSS_Color.TextualColor, - TextSize = CSS_FontSize.TextFontSize, - TextAlignment = TextAlignment.CenterLeft, - Text = MainPage.cityInfo.weather - }; - topWeatherView.AddChidren(btnWatherText); +// btnWatherText = new Button() +// { +// X = Application.GetRealWidth(109), +// Y = Application.GetRealWidth(82), +// Width = Application.GetRealWidth(200), +// Height = Application.GetRealWidth(20), +// TextColor = CSS_Color.TextualColor, +// TextSize = CSS_FontSize.TextFontSize, +// TextAlignment = TextAlignment.CenterLeft, +// Text = MainPage.cityInfo.weather +// }; +// topWeatherView.AddChidren(btnWatherText); - var btnTempUpperLimit = new Button() - { - X = Application.GetRealWidth(107), - Y = Application.GetRealWidth(101), - Width = Application.GetRealWidth(16), - Height = Application.GetRealWidth(16), - UnSelectedImagePath = "FunctionIcon/EnvirSensor/UpperLimit.png", - }; - topWeatherView.AddChidren(btnTempUpperLimit); +// var btnTempUpperLimit = new Button() +// { +// X = Application.GetRealWidth(107), +// Y = Application.GetRealWidth(101), +// Width = Application.GetRealWidth(16), +// Height = Application.GetRealWidth(16), +// UnSelectedImagePath = "FunctionIcon/EnvirSensor/UpperLimit.png", +// }; +// topWeatherView.AddChidren(btnTempUpperLimit); - var btnTempUpperLimitText = new Button() - { - X = btnTempUpperLimit.Right, - Y = Application.GetRealWidth(101), - Width = Application.GetRealWidth(42), - Height = Application.GetRealWidth(20), - TextColor = CSS_Color.TextualColor, - TextAlignment = TextAlignment.CenterLeft, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = $"{MainPage.cityInfo.highestTemperature}掳C", - }; - topWeatherView.AddChidren(btnTempUpperLimitText); +// var btnTempUpperLimitText = new Button() +// { +// X = btnTempUpperLimit.Right, +// Y = Application.GetRealWidth(101), +// Width = Application.GetRealWidth(42), +// Height = Application.GetRealWidth(20), +// TextColor = CSS_Color.TextualColor, +// TextAlignment = TextAlignment.CenterLeft, +// TextSize = CSS_FontSize.PromptFontSize_FirstLevel, +// Text = $"{MainPage.cityInfo.highestTemperature}掳C", +// }; +// topWeatherView.AddChidren(btnTempUpperLimitText); - var btnTempLowerLimit = new Button() - { - X = Application.GetRealWidth(156), - Y = Application.GetRealWidth(101), - Width = Application.GetRealWidth(16), - Height = Application.GetRealWidth(16), - UnSelectedImagePath = "FunctionIcon/EnvirSensor/LowerLimit.png", - }; - topWeatherView.AddChidren(btnTempLowerLimit); +// var btnTempLowerLimit = new Button() +// { +// X = Application.GetRealWidth(156), +// Y = Application.GetRealWidth(101), +// Width = Application.GetRealWidth(16), +// Height = Application.GetRealWidth(16), +// UnSelectedImagePath = "FunctionIcon/EnvirSensor/LowerLimit.png", +// }; +// topWeatherView.AddChidren(btnTempLowerLimit); - var btnTempLowerLimitText = new Button() - { - X = btnTempLowerLimit.Right, - Y = Application.GetRealWidth(101), - Width = Application.GetRealWidth(42), - Height = Application.GetRealWidth(20), - TextColor = CSS_Color.TextualColor, - TextAlignment = TextAlignment.CenterLeft, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = $"{MainPage.cityInfo.lowestTemperature}掳C", - }; - topWeatherView.AddChidren(btnTempLowerLimitText); +// var btnTempLowerLimitText = new Button() +// { +// X = btnTempLowerLimit.Right, +// Y = Application.GetRealWidth(101), +// Width = Application.GetRealWidth(42), +// Height = Application.GetRealWidth(20), +// TextColor = CSS_Color.TextualColor, +// TextAlignment = TextAlignment.CenterLeft, +// TextSize = CSS_FontSize.PromptFontSize_FirstLevel, +// Text = $"{MainPage.cityInfo.lowestTemperature}掳C", +// }; +// topWeatherView.AddChidren(btnTempLowerLimitText); - var btnValue = new Button() - { - X = Application.GetRealWidth(27), - Y = Application.GetRealWidth(119), - Width = Application.GetRealWidth(300), - Height = Application.GetRealWidth(34), - TextAlignment = TextAlignment.CenterLeft, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - TextColor = CSS_Color.TextualColor, - }; - topWeatherView.AddChidren(btnValue); - var valueText = Language.StringByID(StringId.EnvirSensorValueTip); - btnValue.Text = valueText.Replace("{0}", $"{MainPage.cityInfo.humidity}").Replace("{1}", $"{MainPage.cityInfo.pm25}").Replace("{2}", $"{MainPage.cityInfo.windLevel}"); - #endregion +// var btnValue = new Button() +// { +// X = Application.GetRealWidth(27), +// Y = Application.GetRealWidth(119), +// Width = Application.GetRealWidth(300), +// Height = Application.GetRealWidth(34), +// TextAlignment = TextAlignment.CenterLeft, +// TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, +// TextColor = CSS_Color.TextualColor, +// }; +// topWeatherView.AddChidren(btnValue); +// var valueText = Language.StringByID(StringId.EnvirSensorValueTip); +// btnValue.Text = valueText.Replace("{0}", $"{MainPage.cityInfo.humidity}").Replace("{1}", $"{MainPage.cityInfo.pm25}").Replace("{2}", $"{MainPage.cityInfo.windLevel}"); +// #endregion - #region contentView - FrameLayout contentView = new FrameLayout() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealWidth(239), - Height = Application.GetRealHeight(450), - }; - bodyView.AddChidren(contentView); +// #region contentView +// FrameLayout contentView = new FrameLayout() +// { +// Gravity = Gravity.CenterHorizontal, +// Y = Application.GetRealWidth(239), +// Height = Application.GetRealHeight(450), +// }; +// bodyView.AddChidren(contentView); - #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙 - room = new Room() { roomName = Language.StringByID(StringId.All) }; - btnFoorDownIcon = new Button() - { - Width = Application.GetMinRealAverage(16), - Height = Application.GetMinRealAverage(16), - X = Application.GetRealWidth(16), - Y = Application.GetRealHeight(18), - UnSelectedImagePath = "Public/DownIcon.png", - }; - contentView.AddChidren(btnFoorDownIcon); +// #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙 +// room = new Room() { roomName = Language.StringByID(StringId.All) }; +// btnFoorDownIcon = new Button() +// { +// Width = Application.GetMinRealAverage(16), +// Height = Application.GetMinRealAverage(16), +// X = Application.GetRealWidth(16), +// Y = Application.GetRealHeight(18), +// UnSelectedImagePath = "Public/DownIcon.png", +// }; +// contentView.AddChidren(btnFoorDownIcon); - btnRoom = new Button() - { - X = btnFoorDownIcon.Right, - Y = Application.GetRealHeight(18), - Width = Application.GetRealWidth(200), - Height = Application.GetMinRealAverage(16), - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.CenterLeft, - Text = room.roomName, - }; - contentView.AddChidren(btnRoom); +// btnRoom = new Button() +// { +// X = btnFoorDownIcon.Right, +// Y = Application.GetRealHeight(18), +// Width = Application.GetRealWidth(200), +// Height = Application.GetMinRealAverage(16), +// TextColor = CSS_Color.FirstLevelTitleColor, +// TextSize = CSS_FontSize.PromptFontSize_FirstLevel, +// TextAlignment = TextAlignment.CenterLeft, +// Text = room.roomName, +// }; +// contentView.AddChidren(btnRoom); - btnRoomClickRow = new Button() - { - Height = Application.GetRealHeight(40), - }; - contentView.AddChidren(btnRoomClickRow); +// btnRoomClickRow = new Button() +// { +// Height = Application.GetRealHeight(40), +// }; +// contentView.AddChidren(btnRoomClickRow); - #endregion - sensorListContentView = new VerticalScrolViewLayout() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(50), - Height = Application.GetRealHeight(400), - Radius = (uint)Application.GetRealWidth(12), - BorderColor = 0x00000000, - BorderWidth = 0, - }; - contentView.AddChidren(sensorListContentView); - sensorListView = new FrameLayout(); - sensorListContentView.AddChidren(sensorListView); +// #endregion +// sensorListContentView = new VerticalScrolViewLayout() +// { +// Gravity = Gravity.CenterHorizontal, +// Y = Application.GetRealHeight(50), +// Height = Application.GetRealHeight(400), +// Radius = (uint)Application.GetRealWidth(12), +// BorderColor = 0x00000000, +// BorderWidth = 0, +// }; +// contentView.AddChidren(sensorListContentView); +// sensorListView = new FrameLayout(); +// sensorListContentView.AddChidren(sensorListView); - LoadSenesorList(); +// LoadSenesorList(); - #endregion +// #endregion - //LoadEventList(); - LoadDialog_ChangeRoom(); +// //LoadEventList(); +// LoadDialog_ChangeRoom(); - new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView(); +// new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView(); - } +// } - /// <summary> - /// 鍔犺浇浼犳劅鍣ㄥ垪琛� - /// </summary> - void LoadSenesorList() - { - sensorListView.RemoveAll(); - sensorViewList.Clear(); +// /// <summary> +// /// 鍔犺浇浼犳劅鍣ㄥ垪琛� +// /// </summary> +// void LoadSenesorList() +// { +// sensorListView.RemoveAll(); +// sensorViewList.Clear(); - sensorList = new Dictionary<string, List<Function>>(); - int index = 0; - foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) - { - foreach (var sensorAttr in sensor.attributes) - { - if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value") - { - var flag = sensorAttr.key; - if (flag == "value") - { - flag = sensor.spk.Replace("sensor.", ""); - } - var newTemp = new Function() - { - name = sensor.name, - sid = sensor.sid, - deviceId = sensor.deviceId, - roomIds = sensor.roomIds, - spk = "sensor."+ flag, - attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = sensorAttr.state, curValue = sensorAttr.curValue } - , new FunctionAttributes {key = "spk",state = sensorAttr.key,curValue = sensorAttr.key } } - }; - //鍒嗙被鍔犲叆闆嗗悎 - if (sensorList.ContainsKey(flag)) - { - sensorList[flag].Add(newTemp); - } - else - { - sensorList.Add(flag, new List<Function>() { newTemp }); - } - } - } +// sensorList = new Dictionary<string, List<Function>>(); +// int index = 0; +// foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) +// { +// foreach (var sensorAttr in sensor.attributes) +// { +// if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value") +// { +// var flag = sensorAttr.key; +// if (flag == "value") +// { +// flag = sensor.spk.Replace("sensor.", ""); +// } +// var newTemp = new Function() +// { +// name = sensor.name, +// sid = sensor.sid, +// deviceId = sensor.deviceId, +// roomIds = sensor.roomIds, +// spk = "sensor."+ flag, +// attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = sensorAttr.state, curValue = sensorAttr.curValue } +// , new FunctionAttributes {key = "spk",state = sensorAttr.key,curValue = sensorAttr.key } } +// }; +// //鍒嗙被鍔犲叆闆嗗悎 +// if (sensorList.ContainsKey(flag)) +// { +// sensorList[flag].Add(newTemp); +// } +// else +// { +// sensorList.Add(flag, new List<Function>() { newTemp }); +// } +// } +// } - new System.Threading.Thread(() => - { - Control.Ins.SendReadCommand(sensor); - }) - { IsBackground = true }.Start(); - } +// new System.Threading.Thread(() => +// { +// Control.Ins.SendReadCommand(sensor); +// }) +// { IsBackground = true }.Start(); +// } - foreach(var sensorAssemble in sensorList) - { - var showList = sensorAssemble.Value; - if(room.roomId != "") - { - showList = sensorAssemble.Value.FindAll((obj) => obj.roomIds.Contains(room.roomId)); - } - if (showList != null && showList.Count > 0) - { - var sensorView = new SensorView(showList,index); - sensorListView.AddChidren(sensorView); - sensorViewList.Add(sensorView); - sensorView.LoadView(); +// foreach(var sensorAssemble in sensorList) +// { +// var showList = sensorAssemble.Value; +// if(room.roomId != "") +// { +// showList = sensorAssemble.Value.FindAll((obj) => obj.roomIds.Contains(room.roomId)); +// } +// if (showList != null && showList.Count > 0) +// { +// var sensorView = new SensorView(showList,index); +// sensorListView.AddChidren(sensorView); +// sensorViewList.Add(sensorView); +// sensorView.LoadView(); - index++; - } - } - sensorListView.Height = Application.GetRealWidth(124 * (index + 1) / 2); - } +// index++; +// } +// } +// sensorListView.Height = Application.GetRealWidth(124 * (index + 1) / 2); +// } - /// <summary> - /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢 - /// </summary> - void LoadDialog_ChangeRoom() - { - EventHandler<MouseEventArgs> eventHandler = (sender, e) => - { - var dialog = new Dialog(); - var dialogBody = new FrameLayout(); - dialog.AddChidren(dialogBody); - dialogBody.MouseUpEventHandler += (sender1, e1) => - { - dialog.Close(); - }; +// /// <summary> +// /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢 +// /// </summary> +// void LoadDialog_ChangeRoom() +// { +// EventHandler<MouseEventArgs> eventHandler = (sender, e) => +// { +// var dialog = new Dialog(); +// var dialogBody = new FrameLayout(); +// dialog.AddChidren(dialogBody); +// dialogBody.MouseUpEventHandler += (sender1, e1) => +// { +// dialog.Close(); +// }; - var dispalyView = new FrameLayout() - { - X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(266), - Width = Application.GetRealWidth(160), - Height = Application.GetRealHeight(110), - BackgroundImagePath = "PersonalCenter/HomeList1bg.png", - }; - dialogBody.AddChidren(dispalyView); +// var dispalyView = new FrameLayout() +// { +// X = Application.GetRealWidth(10), +// Y = Application.GetRealHeight(266), +// Width = Application.GetRealWidth(160), +// Height = Application.GetRealHeight(110), +// BackgroundImagePath = "PersonalCenter/HomeList1bg.png", +// }; +// dialogBody.AddChidren(dispalyView); - var contentView = new VerticalScrolViewLayout() - { - X = Application.GetRealWidth(8), - Y = Application.GetRealHeight(15), - Width = Application.GetRealWidth(150), - Height = Application.GetRealHeight(45 * 2), - ScrollEnabled = false - }; - dispalyView.AddChidren(contentView); +// var contentView = new VerticalScrolViewLayout() +// { +// X = Application.GetRealWidth(8), +// Y = Application.GetRealHeight(15), +// Width = Application.GetRealWidth(150), +// Height = Application.GetRealHeight(45 * 2), +// ScrollEnabled = false +// }; +// dispalyView.AddChidren(contentView); - if (SpatialInfo.CurrentSpatial.RoomList.Count < 2) - { - } - else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3) - { - dispalyView = new FrameLayout() - { - X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(266), - Width = Application.GetRealWidth(160), - Height = Application.GetRealHeight(155), - BackgroundImagePath = "PersonalCenter/HomeList2bg.png", - }; - dialogBody.AddChidren(dispalyView); +// if (SpatialInfo.CurrentSpatial.RoomList.Count < 2) +// { +// } +// else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3) +// { +// dispalyView = new FrameLayout() +// { +// X = Application.GetRealWidth(10), +// Y = Application.GetRealHeight(266), +// Width = Application.GetRealWidth(160), +// Height = Application.GetRealHeight(155), +// BackgroundImagePath = "PersonalCenter/HomeList2bg.png", +// }; +// dialogBody.AddChidren(dispalyView); - contentView.Height = Application.GetRealHeight(45 * 3); - dispalyView.AddChidren(contentView); - } - else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4) - { - dispalyView = new FrameLayout() - { - X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(266), - Width = Application.GetRealWidth(160), - Height = Application.GetRealHeight(200), - BackgroundImagePath = "PersonalCenter/HomeList3bg.png", - }; - dialogBody.AddChidren(dispalyView); +// contentView.Height = Application.GetRealHeight(45 * 3); +// dispalyView.AddChidren(contentView); +// } +// else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4) +// { +// dispalyView = new FrameLayout() +// { +// X = Application.GetRealWidth(10), +// Y = Application.GetRealHeight(266), +// Width = Application.GetRealWidth(160), +// Height = Application.GetRealHeight(200), +// BackgroundImagePath = "PersonalCenter/HomeList3bg.png", +// }; +// dialogBody.AddChidren(dispalyView); - contentView.Height = Application.GetRealHeight(45 * 4); - dispalyView.AddChidren(contentView); - } - else - { - dispalyView = new FrameLayout() - { - X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(266), - Width = Application.GetRealWidth(160), - Height = Application.GetRealHeight(245), - BackgroundImagePath = "PersonalCenter/HomeList4bg.png", - }; - dialogBody.AddChidren(dispalyView); +// contentView.Height = Application.GetRealHeight(45 * 4); +// dispalyView.AddChidren(contentView); +// } +// else +// { +// dispalyView = new FrameLayout() +// { +// X = Application.GetRealWidth(10), +// Y = Application.GetRealHeight(266), +// Width = Application.GetRealWidth(160), +// Height = Application.GetRealHeight(245), +// BackgroundImagePath = "PersonalCenter/HomeList4bg.png", +// }; +// dialogBody.AddChidren(dispalyView); - contentView.Height = Application.GetRealHeight(45 * 5); - contentView.ScrollEnabled = true; - dispalyView.AddChidren(contentView); - } +// contentView.Height = Application.GetRealHeight(45 * 5); +// contentView.ScrollEnabled = true; +// dispalyView.AddChidren(contentView); +// } - var showListRoom = new List<Room>(); - showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) }); - showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList); +// var showListRoom = new List<Room>(); +// showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) }); +// showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList); - foreach (var roomTemp in showListRoom) - { - string roomName = roomTemp.roomName; - var btnRoomName = new Button() - { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(112), - Height = Application.GetRealHeight(44), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - SelectedTextColor = CSS_Color.MainColor, - Text = roomName, - TextSize = CSS_FontSize.SubheadingFontSize, - IsSelected = btnRoom.Text == roomName, - IsMoreLines = true, - Tag = roomName - }; - contentView.AddChidren(btnRoomName); +// foreach (var roomTemp in showListRoom) +// { +// string roomName = roomTemp.roomName; +// var btnRoomName = new Button() +// { +// Gravity = Gravity.CenterHorizontal, +// Width = Application.GetRealWidth(112), +// Height = Application.GetRealHeight(44), +// TextAlignment = TextAlignment.CenterLeft, +// TextColor = CSS_Color.FirstLevelTitleColor, +// SelectedTextColor = CSS_Color.MainColor, +// Text = roomName, +// TextSize = CSS_FontSize.SubheadingFontSize, +// IsSelected = btnRoom.Text == roomName, +// IsMoreLines = true, +// Tag = roomName +// }; +// contentView.AddChidren(btnRoomName); - btnRoomName.MouseUpEventHandler += (senderH, en) => - { - dialog.Close(); - btnRoom.Text = roomName; - room = roomTemp; - LoadSenesorList(); - }; - } +// btnRoomName.MouseUpEventHandler += (senderH, en) => +// { +// dialog.Close(); +// btnRoom.Text = roomName; +// room = roomTemp; +// LoadSenesorList(); +// }; +// } - dialog.Show(); - }; +// dialog.Show(); +// }; - btnRoomClickRow.MouseUpEventHandler = eventHandler; - //btnFoorDownIcon.MouseUpEventHandler = eventHandler; - } +// btnRoomClickRow.MouseUpEventHandler = eventHandler; +// //btnFoorDownIcon.MouseUpEventHandler = eventHandler; +// } - #region event +// #region event - public static void LoadEvent_UpdataStatus(Function updateTemp) - { - Application.RunOnMainThread(() => - { - try - { - if (bodyView != null) - { - foreach (var sensorAttr in updateTemp.attributes) - { - if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value") - { - var flag = sensorAttr.key; - if (flag == "value") - { - flag = updateTemp.spk.Replace("sensor.", ""); - } +// public static void LoadEvent_UpdataStatus(Function updateTemp) +// { +// Application.RunOnMainThread(() => +// { +// try +// { +// if (bodyView != null) +// { +// foreach (var sensorAttr in updateTemp.attributes) +// { +// if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value") +// { +// var flag = sensorAttr.key; +// if (flag == "value") +// { +// flag = updateTemp.spk.Replace("sensor.", ""); +// } - foreach (var view in bodyView.sensorViewList) - { - if (view.Tag.ToString() == flag) - { - view.UpdataStatus(flag,updateTemp.sid, sensorAttr.state); - } - } +// foreach (var view in bodyView.sensorViewList) +// { +// if (view.Tag.ToString() == flag) +// { +// view.UpdataStatus(flag,updateTemp.sid, sensorAttr.state); +// } +// } - } - } +// } +// } - } - } - catch (Exception ex) - { - MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}"); - } - }); - } +// } +// } +// catch (Exception ex) +// { +// MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}"); +// } +// }); +// } - void LoadEvent_ChangeWeatherIcon(FrameLayout view) - { +// void LoadEvent_ChangeWeatherIcon(FrameLayout view) +// { - switch (MainPage.cityInfo.weather) - { - case "鏅�": - case "Sunny": - case "鏅村ぉ": - case "澶╂櫞": - case "Clear": - case "澶ч儴鏅存湕": - case "Mostly Sunny": - case "鏅存檪澶氶洸": - case "闄藉厜鍏呮矝": - case "Mostly Clear": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png"; - break; - case "澶氫簯": - case "Cloudy": - case "澶氶洸": - case "灏戜簯": - case "Partly Cloudy": - case "灏戦洸": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/1.png"; - break; - case "闃�": - case "Overcast": - case "闄板ぉ": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/2.png"; - break; - case "闃甸洦": - case "Showers": - case "闄i洦": - case "椹熼洦": - case "灞�閮ㄩ樀闆�": - case "Scattered Showers": - case "灞�鍦伴櫍闆�": - case "灞�閮ㄥ湴鍗�鎬ч闆�": - case "灏忛樀闆�": - case "Light Showers": - case "灏忛櫍闆�": - case "闆舵暎椹熼洦": - case "寮洪樀闆�": - case "Heavy Showers": - case "寮烽櫍闆�": - case "闁撲腑鏈夐闆�": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; - break; - case "闃甸洩": - case "Snow Showers": - case "闄i洩": - case "椹熼洩": - case "灏忛樀闆�": - case "Light Snow Showers": - case "灏忛櫍闆�": - case "闆舵暎椹熼洩": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; - break; - case "闆�": - case "Fog": - case "闇�": - case "钖勯湩": - case "鍐婚浘": - case "Freezing Fog": - case "鍑嶉湩": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/18.png"; - break; - case "娌欏皹鏆�": - case "Sandstorm": - case "娌欏〉鏆�": - case "寮烘矙灏樻毚": - case "Heavy Sandstorm": - case "寮锋矙濉垫毚": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/20.png"; - break; - case "娴皹": - case "Dust": - case "娴〉": - case "灏樺嵎椋�": - case "Dust Storm": - case "濉垫嵅棰�": - case "鎵矙": - case "Sand": - case "鎻氭矙": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/29.png"; - break; - case "闇�": - case "Haze": - case "鐓欓湠": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/45.png"; - break; - case "闆烽樀闆�": - case "Thundershower": - case "闆烽櫍闆�": - case "闆烽洦": - case "闆风數": - case "Lightning": - case "闆烽浕": - case "闆锋毚": - case "Thunderstorm": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/4.png"; - break; - case "闆烽樀闆ㄤ即鏈夊啺闆�": - case "Thundershower with Hail": - case "闆烽櫍闆ㄤ即鏈夊啺闆�": - case "闆烽洦浼存湁鍐伴浌": - case "鍐伴浌": - case "Hail": - case "鍐伴拡": - case "Needle Ice": - case "鍐伴嚌": - case "鍐扮矑": - case "Icy": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/5.png"; - break; - case "闆ㄥす闆�": - case "Sleet": - case "闆ㄥぞ闆�": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png"; - break; - case "灏忛洦": - case "Light Rain": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; - break; - case "涓洦": - case "Rain": - case "灏忓埌涓洦": - case "闆�": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; - break; - case "澶ч洦": - case "Heavy Rain": - case "涓埌澶ч洦": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; - break; - case "鏆撮洦": - case "Rainstorm": - case "璞洦": - case "澶ф毚闆�": - case "Heavy Rainstorm": - case "澶ц豹闆�": - case "鐗瑰ぇ鏆撮洦": - case "Extreme Rainstorm": - case "瓒呭ぇ璞洦": - case "澶у埌鏆撮洦": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; - break; - case "灏忛洩": - case "Light Snow": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; - break; - case "闆�": - case "涓洩": - case "灏忓埌涓洩": - case "Snow": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; - break; - case "澶ч洩": - case "Heavy Snow": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; - break; - case "鏆撮洩": - case "Blizzard": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; - break; - case "鍐婚洦": - case "Freezing Rain": - case "鍑嶉洦": - view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png"; - break; - } - } +// switch (MainPage.cityInfo.weather) +// { +// case "鏅�": +// case "Sunny": +// case "鏅村ぉ": +// case "澶╂櫞": +// case "Clear": +// case "澶ч儴鏅存湕": +// case "Mostly Sunny": +// case "鏅存檪澶氶洸": +// case "闄藉厜鍏呮矝": +// case "Mostly Clear": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png"; +// break; +// case "澶氫簯": +// case "Cloudy": +// case "澶氶洸": +// case "灏戜簯": +// case "Partly Cloudy": +// case "灏戦洸": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/1.png"; +// break; +// case "闃�": +// case "Overcast": +// case "闄板ぉ": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/2.png"; +// break; +// case "闃甸洦": +// case "Showers": +// case "闄i洦": +// case "椹熼洦": +// case "灞�閮ㄩ樀闆�": +// case "Scattered Showers": +// case "灞�鍦伴櫍闆�": +// case "灞�閮ㄥ湴鍗�鎬ч闆�": +// case "灏忛樀闆�": +// case "Light Showers": +// case "灏忛櫍闆�": +// case "闆舵暎椹熼洦": +// case "寮洪樀闆�": +// case "Heavy Showers": +// case "寮烽櫍闆�": +// case "闁撲腑鏈夐闆�": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; +// break; +// case "闃甸洩": +// case "Snow Showers": +// case "闄i洩": +// case "椹熼洩": +// case "灏忛樀闆�": +// case "Light Snow Showers": +// case "灏忛櫍闆�": +// case "闆舵暎椹熼洩": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; +// break; +// case "闆�": +// case "Fog": +// case "闇�": +// case "钖勯湩": +// case "鍐婚浘": +// case "Freezing Fog": +// case "鍑嶉湩": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/18.png"; +// break; +// case "娌欏皹鏆�": +// case "Sandstorm": +// case "娌欏〉鏆�": +// case "寮烘矙灏樻毚": +// case "Heavy Sandstorm": +// case "寮锋矙濉垫毚": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/20.png"; +// break; +// case "娴皹": +// case "Dust": +// case "娴〉": +// case "灏樺嵎椋�": +// case "Dust Storm": +// case "濉垫嵅棰�": +// case "鎵矙": +// case "Sand": +// case "鎻氭矙": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/29.png"; +// break; +// case "闇�": +// case "Haze": +// case "鐓欓湠": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/45.png"; +// break; +// case "闆烽樀闆�": +// case "Thundershower": +// case "闆烽櫍闆�": +// case "闆烽洦": +// case "闆风數": +// case "Lightning": +// case "闆烽浕": +// case "闆锋毚": +// case "Thunderstorm": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/4.png"; +// break; +// case "闆烽樀闆ㄤ即鏈夊啺闆�": +// case "Thundershower with Hail": +// case "闆烽櫍闆ㄤ即鏈夊啺闆�": +// case "闆烽洦浼存湁鍐伴浌": +// case "鍐伴浌": +// case "Hail": +// case "鍐伴拡": +// case "Needle Ice": +// case "鍐伴嚌": +// case "鍐扮矑": +// case "Icy": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/5.png"; +// break; +// case "闆ㄥす闆�": +// case "Sleet": +// case "闆ㄥぞ闆�": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png"; +// break; +// case "灏忛洦": +// case "Light Rain": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; +// break; +// case "涓洦": +// case "Rain": +// case "灏忓埌涓洦": +// case "闆�": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; +// break; +// case "澶ч洦": +// case "Heavy Rain": +// case "涓埌澶ч洦": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; +// break; +// case "鏆撮洦": +// case "Rainstorm": +// case "璞洦": +// case "澶ф毚闆�": +// case "Heavy Rainstorm": +// case "澶ц豹闆�": +// case "鐗瑰ぇ鏆撮洦": +// case "Extreme Rainstorm": +// case "瓒呭ぇ璞洦": +// case "澶у埌鏆撮洦": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png"; +// break; +// case "灏忛洩": +// case "Light Snow": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; +// break; +// case "闆�": +// case "涓洩": +// case "灏忓埌涓洩": +// case "Snow": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; +// break; +// case "澶ч洩": +// case "Heavy Snow": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; +// break; +// case "鏆撮洩": +// case "Blizzard": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png"; +// break; +// case "鍐婚洦": +// case "Freezing Rain": +// case "鍑嶉洦": +// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png"; +// break; +// } +// } - #endregion - } +// #endregion +// } - /// <summary> - /// 鍔犺浇浼犳劅鍣ㄥ垪琛� - /// </summary> - public class SensorView :FrameLayout - { - Button btnSensorValues; - Button btnLevel; +// /// <summary> +// /// 鍔犺浇浼犳劅鍣ㄥ垪琛� +// /// </summary> +// public class SensorView :FrameLayout +// { +// Button btnSensorValues; +// Button btnLevel; - List<Function> sensorList = new List<Function>(); - string imagePath = ""; - string iconPath = ""; - string sensorSPK = ""; - Sensor sensorTemp = new Sensor(); - double assembleValues = 0.0; +// List<Function> sensorList = new List<Function>(); +// string imagePath = ""; +// string iconPath = ""; +// string sensorSPK = ""; +// Sensor sensorTemp = new Sensor(); +// double assembleValues = 0.0; - public SensorView(List<Function> showList, int index)//,,string spk,double value) - { - sensorList = showList; - sensorSPK = showList[0].spk; - foreach (var s in showList) - { - assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", ".")); - } +// public SensorView(List<Function> showList, int index)//,,string spk,double value) +// { +// sensorList = showList; +// sensorSPK = showList[0].spk; +// foreach (var s in showList) +// { +// assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", ".")); +// } - this.X = Application.GetRealWidth(7); - this.Width = Application.GetRealWidth(182); - this.Height = Application.GetRealWidth(124); - this.Y = Application.GetRealWidth(124 * (index / 2)); - this.Tag = sensorSPK; +// this.X = Application.GetRealWidth(7); +// this.Width = Application.GetRealWidth(182); +// this.Height = Application.GetRealWidth(124); +// this.Y = Application.GetRealWidth(124 * (index / 2)); +// this.Tag = sensorSPK; - if (index % 2 != 0) - { - this.X = Application.GetRealWidth(189); - } +// if (index % 2 != 0) +// { +// this.X = Application.GetRealWidth(189); +// } - switch (sensorSPK) - { - case SPK.SensorCO2: - imagePath = "FunctionIcon/EnvirSensor/Co2Bg.png"; - iconPath = "FunctionIcon/EnvirSensor/Co2Icon.png"; - break; - case SPK.SensorPm25: - imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png"; - iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png"; - break; - case SPK.SensorTVOC: - imagePath = "FunctionIcon/EnvirSensor/TvocBg.png"; - iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png"; - break; - case SPK.SensorHumidity: - imagePath = "FunctionIcon/EnvirSensor/HumidityBg.png"; - iconPath = "FunctionIcon/EnvirSensor/HumidityIcon.png"; - break; - case SPK.SensorTemperature: - imagePath = "FunctionIcon/EnvirSensor/TempBg.png"; - iconPath = "FunctionIcon/EnvirSensor/TempIcon.png"; - break; - case SPK.SensorHcho: - imagePath = "FunctionIcon/EnvirSensor/HchoBg.png"; - iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png"; - break; - } - } +// switch (sensorSPK) +// { +// case SPK.SensorCO2: +// imagePath = "FunctionIcon/EnvirSensor/Co2Bg.png"; +// iconPath = "FunctionIcon/EnvirSensor/Co2Icon.png"; +// break; +// case SPK.SensorPm25: +// imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png"; +// iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png"; +// break; +// case SPK.SensorTVOC: +// imagePath = "FunctionIcon/EnvirSensor/TvocBg.png"; +// iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png"; +// break; +// case SPK.SensorHumidity: +// imagePath = "FunctionIcon/EnvirSensor/HumidityBg.png"; +// iconPath = "FunctionIcon/EnvirSensor/HumidityIcon.png"; +// break; +// case SPK.SensorTemperature: +// imagePath = "FunctionIcon/EnvirSensor/TempBg.png"; +// iconPath = "FunctionIcon/EnvirSensor/TempIcon.png"; +// break; +// case SPK.SensorHcho: +// imagePath = "FunctionIcon/EnvirSensor/HchoBg.png"; +// iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png"; +// break; +// } +// } - public void LoadView() - { - Function sensor = sensorList[0]; - this.BackgroundImagePath = imagePath; +// public void LoadView() +// { +// Function sensor = sensorList[0]; +// this.BackgroundImagePath = imagePath; - var btnIcon = new Button() - { - X = Application.GetRealWidth(23), - Y = Application.GetRealHeight(17), - Width = Application.GetRealWidth(32), - Height = Application.GetRealWidth(32), - UnSelectedImagePath = iconPath - }; - this.AddChidren(btnIcon); +// var btnIcon = new Button() +// { +// X = Application.GetRealWidth(23), +// Y = Application.GetRealHeight(17), +// Width = Application.GetRealWidth(32), +// Height = Application.GetRealWidth(32), +// UnSelectedImagePath = iconPath +// }; +// this.AddChidren(btnIcon); - btnIcon.MouseUpEventHandler = (sender, e) => - { - #region - var esp = new EnvironmentalSensorPage(sensor,sensorList); - MainPage.BasePageView.AddChidren(esp); - esp.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - #endregion - }; +// btnIcon.MouseUpEventHandler = (sender, e) => +// { +// #region +// var esp = new EnvironmentalSensorPage(sensor,sensorList); +// MainPage.BasePageView.AddChidren(esp); +// esp.LoadPage(); +// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; +// #endregion +// }; - var btnInfoIcon = new Button() - { - X = Application.GetRealWidth(139), - Y = Application.GetRealHeight(21), - Width = Application.GetRealWidth(24), - Height = Application.GetRealWidth(24), - UnSelectedImagePath = "FunctionIcon/EnvirSensor/InfoIcon.png", - }; - this.AddChidren(btnInfoIcon); - btnInfoIcon.MouseUpEventHandler = (sender, e) => - { - LoadInfo(sensorSPK); - }; +// var btnInfoIcon = new Button() +// { +// X = Application.GetRealWidth(139), +// Y = Application.GetRealHeight(21), +// Width = Application.GetRealWidth(24), +// Height = Application.GetRealWidth(24), +// UnSelectedImagePath = "FunctionIcon/EnvirSensor/InfoIcon.png", +// }; +// this.AddChidren(btnInfoIcon); +// btnInfoIcon.MouseUpEventHandler = (sender, e) => +// { +// LoadInfo(sensorSPK); +// }; - var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues); - var levelTextList = sensorTemp.GetLevelTextList(sensorSPK); - btnLevel = new Button() - { - X = Application.GetRealWidth(25), - Y = Application.GetRealWidth(59), - Width = Application.GetRealWidth(100), - Height = Application.GetRealWidth(32), - TextAlignment = TextAlignment.CenterLeft, - TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1], - TextSize = CSS_FontSize.SubheadingFontSize, - TextID = levelTextList[curLevel - 1], - Tag = "SensorLevel", - }; - this.AddChidren(btnLevel); +// var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues); +// var levelTextList = sensorTemp.GetLevelTextList(sensor); +// btnLevel = new Button() +// { +// X = Application.GetRealWidth(25), +// Y = Application.GetRealWidth(59), +// Width = Application.GetRealWidth(100), +// Height = Application.GetRealWidth(32), +// TextAlignment = TextAlignment.CenterLeft, +// TextColor = sensorTemp.GetLevelColorList(sensor)[curLevel - 1], +// TextSize = CSS_FontSize.SubheadingFontSize, +// Text = levelTextList[curLevel - 1], +// Tag = "SensorLevel", +// }; +// this.AddChidren(btnLevel); - btnLevel.MouseUpEventHandler = (sender, e) => - { - #region - var esp = new EnvironmentalSensorPage(sensor,sensorList); - MainPage.BasePageView.AddChidren(esp); - esp.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - #endregion - }; +// btnLevel.MouseUpEventHandler = (sender, e) => +// { +// #region +// var esp = new EnvironmentalSensorPage(sensor,sensorList); +// MainPage.BasePageView.AddChidren(esp); +// esp.LoadPage(); +// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; +// #endregion +// }; - btnSensorValues = new Button() - { - X = Application.GetRealWidth(25), - Y = Application.GetRealWidth(83), - Width = Application.GetRealWidth(100), - Height = Application.GetRealWidth(27), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - IsBold = true, - Text = assembleValues.ToString(), - Tag = "SensorValues" - }; - this.AddChidren(btnSensorValues); - btnSensorValues.MouseUpEventHandler = (sender, e) => - { - #region - var esp = new EnvironmentalSensorPage(sensor,sensorList); - MainPage.BasePageView.AddChidren(esp); - esp.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - #endregion - }; - } +// btnSensorValues = new Button() +// { +// X = Application.GetRealWidth(25), +// Y = Application.GetRealWidth(83), +// Width = Application.GetRealWidth(100), +// Height = Application.GetRealWidth(27), +// TextAlignment = TextAlignment.CenterLeft, +// TextColor = CSS_Color.PromptingColor1, +// TextSize = CSS_FontSize.PromptFontSize_FirstLevel, +// IsBold = true, +// Text = assembleValues.ToString(), +// Tag = "SensorValues" +// }; +// this.AddChidren(btnSensorValues); +// btnSensorValues.MouseUpEventHandler = (sender, e) => +// { +// #region +// var esp = new EnvironmentalSensorPage(sensor,sensorList); +// MainPage.BasePageView.AddChidren(esp); +// esp.LoadPage(); +// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; +// #endregion +// }; +// } - /// <summary> - /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭� - /// </summary> - void LoadInfo(string sensorSPK) - { - var levelColorList = sensorTemp.GetLevelColorList(sensorSPK); - var levelTextList = sensorTemp.GetLevelTextList(sensorSPK); - Dialog dialog = new Dialog(); +// /// <summary> +// /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭� +// /// </summary> +// void LoadInfo(string sensorSPK) +// { +// var levelColorList = sensorTemp.GetLevelColorList(sensorSPK); +// var levelTextList = sensorTemp.GetLevelTextList(sensorSPK); +// Dialog dialog = new Dialog(); - FrameLayout dialogBodyView = new FrameLayout(); - dialog.AddChidren(dialogBodyView); - dialogBodyView.MouseUpEventHandler = (sender, e) => - { - dialog.Close(); - }; - VerticalScrolViewLayout infoView = new VerticalScrolViewLayout() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20), - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count), - Radius = (uint)Application.GetRealWidth(12), - BackgroundColor = CSS_Color.MainBackgroundColor, - Animate = Animate.DownToUp, - ScrollEnabled = false, - AnimateSpeed = 0.3f, - }; - dialogBodyView.AddChidren(infoView); +// FrameLayout dialogBodyView = new FrameLayout(); +// dialog.AddChidren(dialogBodyView); +// dialogBodyView.MouseUpEventHandler = (sender, e) => +// { +// dialog.Close(); +// }; +// VerticalScrolViewLayout infoView = new VerticalScrolViewLayout() +// { +// Gravity = Gravity.CenterHorizontal, +// Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20), +// Width = Application.GetRealWidth(343), +// Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count), +// Radius = (uint)Application.GetRealWidth(12), +// BackgroundColor = CSS_Color.MainBackgroundColor, +// Animate = Animate.DownToUp, +// ScrollEnabled = false, +// AnimateSpeed = 0.3f, +// }; +// dialogBodyView.AddChidren(infoView); - Button btnTitle = new Button() - { - Height = Application.GetRealHeight(50), - TextColor = CSS_Color.FirstLevelTitleColor, - IsBold = true, - TextSize = CSS_FontSize.SubheadingFontSize, - TextAlignment = TextAlignment.Center, - }; - infoView.AddChidren(btnTitle); +// Button btnTitle = new Button() +// { +// Height = Application.GetRealHeight(50), +// TextColor = CSS_Color.FirstLevelTitleColor, +// IsBold = true, +// TextSize = CSS_FontSize.SubheadingFontSize, +// TextAlignment = TextAlignment.Center, +// }; +// infoView.AddChidren(btnTitle); - switch (sensorSPK) - { - case SPK.SensorPm25: - btnTitle.Text = "PM2.5(ug/m虏)"; - break; - case SPK.SensorTemperature: - btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)"; - break; - case SPK.SensorTVOC: - btnTitle.Text = "TVOC(PPB)"; - break; - case SPK.SensorCO2: - btnTitle.Text = "CO2(PPM)"; - break; - case SPK.SensorHumidity: - btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; - break; - case SPK.SensorHcho: - btnTitle.Text = Language.StringByID(StringId.Formaldehyde) + "(mg/m3)"; - break; - } +// switch (sensorSPK) +// { +// case SPK.SensorPm25: +// btnTitle.Text = "PM2.5(ug/m虏)"; +// break; +// case SPK.SensorTemperature: +// btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)"; +// break; +// case SPK.SensorTVOC: +// btnTitle.Text = "TVOC(PPB)"; +// break; +// case SPK.SensorCO2: +// btnTitle.Text = "CO2(PPM)"; +// break; +// case SPK.SensorHumidity: +// btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; +// break; +// case SPK.SensorHcho: +// btnTitle.Text = Language.StringByID(StringId.Formaldehyde) + "(mg/m3)"; +// break; +// } - FrameLayout subTitleView = new FrameLayout() - { - Height = Application.GetRealHeight(44), - }; - infoView.AddChidren(subTitleView); +// FrameLayout subTitleView = new FrameLayout() +// { +// Height = Application.GetRealHeight(44), +// }; +// infoView.AddChidren(subTitleView); - subTitleView.AddChidren(new Button() - { - X = Application.GetRealWidth(20), - Width = Application.GetRealWidth(100), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - IsBold = true, - TextID = StringId.IntervalValue, - }); +// subTitleView.AddChidren(new Button() +// { +// X = Application.GetRealWidth(20), +// Width = Application.GetRealWidth(100), +// TextAlignment = TextAlignment.CenterLeft, +// TextColor = CSS_Color.FirstLevelTitleColor, +// TextSize = CSS_FontSize.TextFontSize, +// IsBold = true, +// TextID = StringId.IntervalValue, +// }); - subTitleView.AddChidren(new Button() - { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(100), - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - IsBold = true, - TextID = StringId.LevelSensor, - }); +// subTitleView.AddChidren(new Button() +// { +// Gravity = Gravity.CenterHorizontal, +// Width = Application.GetRealWidth(100), +// TextAlignment = TextAlignment.Center, +// TextColor = CSS_Color.FirstLevelTitleColor, +// TextSize = CSS_FontSize.TextFontSize, +// IsBold = true, +// TextID = StringId.LevelSensor, +// }); - subTitleView.AddChidren(new Button() - { - X = Application.GetRealWidth(223), - Width = Application.GetRealWidth(100), - TextAlignment = TextAlignment.CenterRight, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - IsBold = true, - TextID = StringId.ColorValue, - }); - for (int index = 0; index < levelTextList.Count; index++) - { - infoView.AddChidren(new Button() - { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(303), - Height = Application.GetRealWidth(1), - BackgroundColor = CSS_Color.DividingLineColor, - }); +// subTitleView.AddChidren(new Button() +// { +// X = Application.GetRealWidth(223), +// Width = Application.GetRealWidth(100), +// TextAlignment = TextAlignment.CenterRight, +// TextColor = CSS_Color.FirstLevelTitleColor, +// TextSize = CSS_FontSize.TextFontSize, +// IsBold = true, +// TextID = StringId.ColorValue, +// }); +// for (int index = 0; index < levelTextList.Count; index++) +// { +// infoView.AddChidren(new Button() +// { +// Gravity = Gravity.CenterHorizontal, +// Width = Application.GetRealWidth(303), +// Height = Application.GetRealWidth(1), +// BackgroundColor = CSS_Color.DividingLineColor, +// }); - FrameLayout subInfoView = new FrameLayout() - { - Height = Application.GetRealHeight(44), - }; - infoView.AddChidren(subInfoView); +// FrameLayout subInfoView = new FrameLayout() +// { +// Height = Application.GetRealHeight(44), +// }; +// infoView.AddChidren(subInfoView); - subInfoView.AddChidren(new Button() - { - X = Application.GetRealWidth(20), - Width = Application.GetRealWidth(100), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - IsBold = true, - Text = sensorTemp.GetIntervalValue(sensorSPK)[index] - }); +// subInfoView.AddChidren(new Button() +// { +// X = Application.GetRealWidth(20), +// Width = Application.GetRealWidth(100), +// TextAlignment = TextAlignment.CenterLeft, +// TextColor = CSS_Color.FirstLevelTitleColor, +// TextSize = CSS_FontSize.TextFontSize, +// IsBold = true, +// Text = sensorTemp.GetIntervalValue(sensorSPK)[index] +// }); - subInfoView.AddChidren(new Button() - { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(100), - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - IsBold = true, - TextID = levelTextList[index] - }); +// subInfoView.AddChidren(new Button() +// { +// Gravity = Gravity.CenterHorizontal, +// Width = Application.GetRealWidth(100), +// TextAlignment = TextAlignment.Center, +// TextColor = CSS_Color.FirstLevelTitleColor, +// TextSize = CSS_FontSize.TextFontSize, +// IsBold = true, +// TextID = levelTextList[index] +// }); - subInfoView.AddChidren(new Button() - { - X = Application.GetRealWidth(285), - Gravity = Gravity.CenterVertical, - Width = Application.GetRealWidth(38), - Height = Application.GetRealHeight(18), - Radius = (uint)Application.GetRealWidth(4), - BackgroundColor = levelColorList[index] - }); - } +// subInfoView.AddChidren(new Button() +// { +// X = Application.GetRealWidth(285), +// Gravity = Gravity.CenterVertical, +// Width = Application.GetRealWidth(38), +// Height = Application.GetRealHeight(18), +// Radius = (uint)Application.GetRealWidth(4), +// BackgroundColor = levelColorList[index] +// }); +// } - dialog.Show(); - } +// dialog.Show(); +// } - public void calculateAverage() - { - assembleValues = 0; - foreach (var s in sensorList) - { - assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", ".")); - } - } +// public void calculateAverage() +// { +// assembleValues = 0; +// foreach (var s in sensorList) +// { +// assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", ".")); +// } +// } - /// <summary> - /// 鏇存柊鐘舵�� - /// </summary> - /// <param name="updateTemp"></param> - public void UpdataStatus(string spk ,string sid,string value) - { - try - { - if (spk == sensorSPK) - { - var temp = sensorList.Find((obj) => obj.sid == sid); - if(temp!= null) - { - temp.SetAttrState("value", value); - } - calculateAverage(); +// /// <summary> +// /// 鏇存柊鐘舵�� +// /// </summary> +// /// <param name="updateTemp"></param> +// public void UpdataStatus(string spk ,string sid,string value) +// { +// try +// { +// if (spk == sensorSPK) +// { +// var temp = sensorList.Find((obj) => obj.sid == sid); +// if(temp!= null) +// { +// temp.SetAttrState("value", value); +// } +// calculateAverage(); - btnSensorValues.Text = assembleValues.ToString(); +// btnSensorValues.Text = assembleValues.ToString(); - var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues); +// var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues); - btnLevel.TextID = sensorTemp.GetLevelTextList(sensorSPK)[curLevel- 1]; - btnLevel.TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1]; - } - } - catch (Exception ex) - { - MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}"); - } - } +// btnLevel.TextID = sensorTemp.GetLevelTextList(sensorSPK)[curLevel- 1]; +// btnLevel.TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1]; +// } +// } +// catch (Exception ex) +// { +// MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}"); +// } +// } - } +// } -} +//} diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs index ea27379..d7acf79 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs @@ -347,8 +347,8 @@ /// </summary> void LoadSensorDiv(Function sensor,int index) { - var levelColorList = sensorTemp.GetLevelColorList(sensor.spk); - var levelTextList = sensorTemp.GetLevelTextList(sensor.spk); + var levelColorList = sensorTemp.GetLevelColorList(sensor); + var levelTextList = sensorTemp.GetLevelTextList(sensor); { var sensorTag = sensor.spk + sensor.sid + sensor.deviceId; FrameLayout sensorView = new FrameLayout() @@ -438,9 +438,9 @@ Width = Application.GetRealWidth(100), Height = Application.GetRealWidth(32), TextAlignment = TextAlignment.CenterLeft, - TextColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1], + TextColor = sensorTemp.GetLevelColorList(sensor)[sensorTemp.GetCurLevel(sensor) - 1], TextSize = CSS_FontSize.SubheadingFontSize, - TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1], + Text = levelTextList[sensorTemp.GetCurLevel(sensor) - 1], Tag = "SensorLevel", }; sensorView.AddChidren(btnLevel); @@ -488,8 +488,8 @@ /// </summary> void LoadInfo(Function sensor) { - var levelColorList = sensorTemp.GetLevelColorList(sensor.spk); - var levelTextList = sensorTemp.GetLevelTextList(sensor.spk); + var levelColorList = sensorTemp.GetLevelColorList(sensor); + var levelTextList = sensorTemp.GetLevelTextList(sensor); Dialog dialog = new Dialog(); FrameLayout dialogBodyView = new FrameLayout(); @@ -525,22 +525,22 @@ switch (sensor.spk) { case SPK.SensorPm25: - btnTitle.Text = "PM2.5(ug/m虏)"; + btnTitle.Text = $"PM2.5({sensorTemp.Unit(sensor)})"; break; case SPK.SensorTemperature: - btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)"; + btnTitle.Text = Language.StringByID(StringId.Temp) + $"({sensorTemp.Unit(sensor)})"; break; case SPK.SensorTVOC: - btnTitle.Text = "TVOC(PPB)"; + btnTitle.Text = $"TVOC({sensorTemp.Unit(sensor)})"; break; case SPK.SensorCO2: - btnTitle.Text = "CO2(PPM)"; + btnTitle.Text = $"CO2({sensorTemp.Unit(sensor)})"; break; case SPK.SensorHumidity: - btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; + btnTitle.Text = Language.StringByID(StringId.Humidity) + $"({sensorTemp.Unit(sensor)})"; break; case SPK.SensorHcho: - btnTitle.Text = Language.StringByID(StringId.Formaldehyde) +"(mg/m3)"; + btnTitle.Text = Language.StringByID(StringId.Formaldehyde) +$"({sensorTemp.Unit(sensor)})"; break; } @@ -606,7 +606,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsBold = true, - Text = sensorTemp.GetIntervalValue(sensor.spk)[index] + Text = sensorTemp.GetIntervalValue(sensor)[index] }); subInfoView.AddChidren(new Button() @@ -617,7 +617,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsBold = true, - TextID = levelTextList[index] + Text = levelTextList[index] }); subInfoView.AddChidren(new Button() @@ -865,16 +865,16 @@ } else if (tag == "SensorLevel") { - (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; - (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + (btn as Button).Text = bodyView.sensorTemp.GetLevelTextList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; } } } else if (btn.GetType() == typeof(ArcSeekBar)) { - (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; - (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp.spk).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp); + (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp); } } } diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs index 698b5aa..0505d7d 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs @@ -149,383 +149,383 @@ historyDataView.AddChidren(myEchartsView); #region 搴曢儴绛夌骇鎻愮ず - HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealWidth(348), - Width = Application.GetRealWidth(303), - Height = Application.GetRealHeight(30), - }; - diagramView.AddChidren(tipValuesView); + //HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout() + //{ + // Gravity = Gravity.CenterHorizontal, + // Y = Application.GetRealWidth(348), + // Width = Application.GetRealWidth(303), + // Height = Application.GetRealHeight(30), + //}; + //diagramView.AddChidren(tipValuesView); - Button btnColorTip = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = tipValuesView.Bottom, - Width = Application.GetRealWidth(303), - Height = Application.GetRealHeight(7), - UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SensorColorTipBg.png", - }; - diagramView.AddChidren(btnColorTip); + //Button btnColorTip = new Button() + //{ + // Gravity = Gravity.CenterHorizontal, + // Y = tipValuesView.Bottom, + // Width = Application.GetRealWidth(303), + // Height = Application.GetRealHeight(7), + // UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SensorColorTipBg.png", + //}; + //diagramView.AddChidren(btnColorTip); - HorizontalScrolViewLayout tipTextView = new HorizontalScrolViewLayout() - { - Gravity = Gravity.CenterHorizontal, - Y = btnColorTip.Bottom, - Width = Application.GetRealWidth(303), - Height = Application.GetRealHeight(30), - }; - diagramView.AddChidren(tipTextView); + //HorizontalScrolViewLayout tipTextView = new HorizontalScrolViewLayout() + //{ + // Gravity = Gravity.CenterHorizontal, + // Y = btnColorTip.Bottom, + // Width = Application.GetRealWidth(303), + // Height = Application.GetRealHeight(30), + //}; + //diagramView.AddChidren(tipTextView); - switch (function.spk) - { - case SPK.SensorPm25: - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "35", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "75", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "115", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.Great, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.Good, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.MildPollution, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.HeavyPollution, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - break; - //case SPK.SensorPm25: - //_intervalValue.Add("0 ~ 35"); - //_intervalValue.Add("36 ~ 75"); - //_intervalValue.Add("76 ~ 115"); - //_intervalValue.Add("115 ~"); - //_levelTextList.Add(StringId.Great); - //_levelTextList.Add(StringId.Good); - //_levelTextList.Add(StringId.MildPollution); - //_levelTextList.Add(StringId.HeavyPollution); - //break; - case SPK.SensorCO2: - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "1000", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "2000", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "5000", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTipCO2Level1, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTipCO2Level2, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTipCO2Level3, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTipCO2Level4, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - break; - case SPK.SensorTemperature: - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(50), - Text = "18掳C", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(50), - Text = "20掳C", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(50), - Text = "25掳C", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(50), - Text = "27掳C", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(50), - Text = "30掳C", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(50), - Text = "33掳C", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - //_intervalValue.Add("~ 18掳C"); - //_intervalValue.Add("18 ~ 20掳C"); - //_intervalValue.Add("20 ~ 25掳C"); - //_intervalValue.Add("25 ~ 27掳C"); - //_intervalValue.Add("27 ~ 30掳C"); - //_intervalValue.Add("30 ~ 33掳C"); - //_intervalValue.Add("33掳C ~"); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(43), - TextID = StringId.ExtremelyCold, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(43), - TextID = StringId.SlightlyCold, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(43), - TextID = StringId.Cold, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(43), - TextID = StringId.Comfortable, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(43), - TextID = StringId.TepidFever, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(43), - TextID = StringId.Heat_SensorTip, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(43), - TextID = StringId.ExtremeHeat, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - //_levelTextList.Add(StringId.ExtremelyCold); - //_levelTextList.Add(StringId.); - //_levelTextList.Add(StringId.); - //_levelTextList.Add(StringId.); - //_levelTextList.Add(StringId.); - //_levelTextList.Add(StringId.); - //_levelTextList.Add(StringId.ExtremeHeat); - break; - case SPK.SensorTVOC: - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "0.6", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "2", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - Text = "5", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTVOCTipLevel1, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTVOCTipLevel2, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTVOCTipLevel3, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(75), - TextID = StringId.SensorReferenceTVOCTipLevel4, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - break; - case SPK.SensorHumidity: - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(151), - Text = "40%", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipValuesView.AddChidren(new Button() - { - Width = Application.GetRealWidth(151), - Text = "70%", - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - TextID = StringId.SensorReferenceHumidityTipLevel1, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - TextID = StringId.SensorReferenceHumidityTipLevel2, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - tipTextView.AddChidren(new Button() - { - Width = Application.GetRealWidth(101), - TextID = StringId.SensorReferenceHumidityTipLevel3, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - }); - break; - } + //switch (function.spk) + //{ + // case SPK.SensorPm25: + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "35", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "75", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "115", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.Great, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.Good, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.MildPollution, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.HeavyPollution, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // break; + // //case SPK.SensorPm25: + // //_intervalValue.Add("0 ~ 35"); + // //_intervalValue.Add("36 ~ 75"); + // //_intervalValue.Add("76 ~ 115"); + // //_intervalValue.Add("115 ~"); + // //_levelTextList.Add(StringId.Great); + // //_levelTextList.Add(StringId.Good); + // //_levelTextList.Add(StringId.MildPollution); + // //_levelTextList.Add(StringId.HeavyPollution); + // //break; + // case SPK.SensorCO2: + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "1000", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "2000", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "5000", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTipCO2Level1, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTipCO2Level2, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTipCO2Level3, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTipCO2Level4, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // break; + // case SPK.SensorTemperature: + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(50), + // Text = "18掳C", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(50), + // Text = "20掳C", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(50), + // Text = "25掳C", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(50), + // Text = "27掳C", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(50), + // Text = "30掳C", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(50), + // Text = "33掳C", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // //_intervalValue.Add("~ 18掳C"); + // //_intervalValue.Add("18 ~ 20掳C"); + // //_intervalValue.Add("20 ~ 25掳C"); + // //_intervalValue.Add("25 ~ 27掳C"); + // //_intervalValue.Add("27 ~ 30掳C"); + // //_intervalValue.Add("30 ~ 33掳C"); + // //_intervalValue.Add("33掳C ~"); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(43), + // TextID = StringId.ExtremelyCold, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(43), + // TextID = StringId.SlightlyCold, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(43), + // TextID = StringId.Cold, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(43), + // TextID = StringId.Comfortable, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(43), + // TextID = StringId.TepidFever, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(43), + // TextID = StringId.Heat_SensorTip, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(43), + // TextID = StringId.ExtremeHeat, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // //_levelTextList.Add(StringId.ExtremelyCold); + // //_levelTextList.Add(StringId.); + // //_levelTextList.Add(StringId.); + // //_levelTextList.Add(StringId.); + // //_levelTextList.Add(StringId.); + // //_levelTextList.Add(StringId.); + // //_levelTextList.Add(StringId.ExtremeHeat); + // break; + // case SPK.SensorTVOC: + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "0.6", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "2", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // Text = "5", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTVOCTipLevel1, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTVOCTipLevel2, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTVOCTipLevel3, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(75), + // TextID = StringId.SensorReferenceTVOCTipLevel4, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // break; + // case SPK.SensorHumidity: + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(151), + // Text = "40%", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipValuesView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(151), + // Text = "70%", + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // TextID = StringId.SensorReferenceHumidityTipLevel1, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // TextID = StringId.SensorReferenceHumidityTipLevel2, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // tipTextView.AddChidren(new Button() + // { + // Width = Application.GetRealWidth(101), + // TextID = StringId.SensorReferenceHumidityTipLevel3, + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.FirstLevelTitleColor, + // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + // }); + // break; + //} #endregion @@ -659,6 +659,10 @@ int index = 1; foreach (var tempSensor in sensorList) { + if (index > 5) + { + break; + } if (tempSensor.sid == function.sid) { continue; diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs index 09d981d..fc62ae0 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs @@ -155,7 +155,11 @@ function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); - d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime)); + d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime)); + if (dimmerBar.Progress > 0) + { + d.Add(FunctionAttributeKey.OnOff, "on"); + } Control.Ins.SendWriteCommand(function, d); //function.fadeTime = barFadeTime.Progress; btnBrightnessText.Text = dimmerBar.Progress + "%"; diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs index 400c887..3205232 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs @@ -93,6 +93,7 @@ dimmerBar.OnStartTrackingTouchEvent = (sender, e) => { onDimmerBar = true; + dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); }; dimmerBar.OnStopTrackingTouchEvent = (sender, e) => { @@ -100,13 +101,17 @@ function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); + if(dimmerBar.Progress > 0) + { + d.Add(FunctionAttributeKey.OnOff, "on"); + } Control.Ins.SendWriteCommand(function, d); btnBrightnessText.Text = dimmerBar.Progress + "%"; }; //20201223 鍒犻櫎婊戝姩鍙戦�佸懡浠わ紝闃叉鎺т欢璺冲姩 dimmerBar.OnProgressChangedEvent = (sender, e) => { - dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + //function.fadeTime = 0; //if (!btnSwitch.IsSelected) //{ diff --git a/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs new file mode 100644 index 0000000..abb5549 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs @@ -0,0 +1,174 @@ +锘縰sing System; +using HDL_ON.Entity; +using HDL_ON.Stan; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI +{ + public class EnvironmentPanelPage : DeviceFunction4CardCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鍥炬爣 + /// </summary> + private IconViewControl btnIcon = null; + /// <summary> + /// 鏂囨湰鎺т欢 + /// </summary> + private NormalViewControl btnSuctionView = null; + + Function acDevice; + Function fhDevice; + Function airFreshDevice; + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭 + /// </summary> + public override void InitFrameWhiteContent() + { + base.ShowColltionButton = false; + base.SetTitleText(Language.StringByID(StringId.SmartPanel)); + foreach (var sid in device.targetSids) + { + var targetObj = FunctionList.List.Functions.Find((obj) => sid == obj.sid); + if (targetObj == null) + { + continue; + } + if (SPK.AcSpkList().Contains(targetObj.spk)) + { + acDevice = targetObj; + } + else if (SPK.FhSpkList().Contains(targetObj.spk)) + { + fhDevice = targetObj; + } + else if (SPK.AirFreshSpkList().Contains(targetObj.spk)) + { + airFreshDevice = targetObj; + } + } + + //娣诲姞绗簩绱㈠紩椤� + this.Add4Page(); + //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + this.InitFrameWhiteContent1(); + //鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭 + this.InitFrameWhiteContent2(); + this.InitFrameWhiteContent3(); + //鍒锋柊鐣岄潰鐘舵�� + //this.RefreshFormStatu(); + //璇诲彇鐘舵�� + //new System.Threading.Thread(() => + //{ + // DriverLayer.Control.Ins.SendReadCommand(device); + //}) + //{ IsBackground = true }.Start(); + } + + /// <summary> + /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + /// </summary> + private void InitFrameWhiteContent1() + { + btnIcon = new IconViewControl(198) + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealWidth(146), + UnSelectedImagePath = "FunctionIcon/Panel/PanelHelpNormalBgIcon.png", + SelectedImagePath = "FunctionIcon/Panel/PanelHelpAlarmBgIcon.png", + }; + FrameWhiteCentet1.AddChidren(btnIcon); + + btnSuctionView = new NormalViewControl(300, 84, true) + { + Gravity = Gravity.CenterHorizontal, + Y = btnIcon.Bottom, + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.MainColor, + SelectedTextColor = CSS_Color.AuxiliaryColor2, + //BackgroundColor = 0xFFFF0000 + }; + FrameWhiteCentet1.AddChidren(btnSuctionView); + } + + /// <summary> + /// 鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭 + /// </summary> + private void InitFrameWhiteContent2() + { + var acPage = new UI2.FuntionControlView.Panel.AcContentView(acDevice); + FrameWhiteCentet2.AddChidren(acPage); + acPage.InitContent(); + } + + private void InitFrameWhiteContent3() + { + var fhPage = new FhContentView(fhDevice); + FrameWhiteCentet3.AddChidren(fhPage); + fhPage.InitContentView(true); + } + + #endregion + + #region 鈻� 璁惧鐘舵�佸弽棣坃______________________ + + /// <summary> + /// 璁惧鐘舵�佸弽棣� + /// </summary> + /// <param name="i_LocalDevice"></param> + public override void DeviceStatuPush(Function i_LocalDevice) + { + //涓嶆槸鍚屼竴涓笢瑗� + if (this.device.sid != i_LocalDevice.sid) { return; } + + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + } + + #endregion + + #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________ + + #endregion + + #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________ + + /// <summary> + /// 鍒锋柊鐣岄潰鐘舵�� + /// </summary> + private void RefreshFormStatu() + { + Application.RunOnMainThread(() => { + var temp = device.attributes.Find((sta) => sta.key == "alarm_status"); + if (temp != null) + { + if (temp.state == "alarm") + { + btnIcon.IsSelected = true; + btnSuctionView.TextID = StringId.InAlarm; + btnSuctionView.IsSelected = true; + } + else + { + btnIcon.IsSelected = false; + btnSuctionView.TextID = StringId.SensorNormalState; + btnSuctionView.IsSelected = false; + } + } + }); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + #endregion + } +} diff --git a/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs new file mode 100644 index 0000000..1350a45 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs @@ -0,0 +1,142 @@ +锘縰sing System; +using HDL_ON.Entity; +using HDL_ON.Stan; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI.UI2.FuntionControlView.Panel +{ + public class PanelHelpPage : DeviceFunctionCardCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鍥炬爣 + /// </summary> + private IconViewControl btnIcon = null; + /// <summary> + /// 鏂囨湰鎺т欢 + /// </summary> + private NormalViewControl btnSuctionView = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭 + /// </summary> + public override void InitFrameWhiteContent() + { + base.ShowColltionButton = false; + base.SetTitleText(Language.StringByID(StringId.SmartPanel)); + + //娣诲姞绗簩绱㈠紩椤� + this.AddSecondPage(); + //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + this.InitFrameWhiteContent1(); + //鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭 + this.InitFrameWhiteContent2(); + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + //璇诲彇鐘舵�� + new System.Threading.Thread(() => + { + DriverLayer.Control.Ins.SendReadCommand(device); + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + /// </summary> + private void InitFrameWhiteContent1() + { + btnIcon = new IconViewControl(198) + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealWidth(146), + UnSelectedImagePath = "FunctionIcon/Panel/PanelHelpNormalBgIcon.png", + SelectedImagePath = "FunctionIcon/Panel/PanelHelpAlarmBgIcon.png", + }; + FrameWhiteCentet1.AddChidren(btnIcon); + + btnSuctionView = new NormalViewControl(300, 84, true) + { + Gravity = Gravity.CenterHorizontal, + Y = btnIcon.Bottom, + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.MainColor, + SelectedTextColor = CSS_Color.AuxiliaryColor2, + //BackgroundColor = 0xFFFF0000 + }; + FrameWhiteCentet1.AddChidren(btnSuctionView); + } + + /// <summary> + /// 鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭 + /// </summary> + private void InitFrameWhiteContent2() + { + var paging = new ArmSensorHistroyPaging(device); + paging.InitFrame(FrameWhiteCentet2); + } + + #endregion + + #region 鈻� 璁惧鐘舵�佸弽棣坃______________________ + + /// <summary> + /// 璁惧鐘舵�佸弽棣� + /// </summary> + /// <param name="i_LocalDevice"></param> + public override void DeviceStatuPush(Function i_LocalDevice) + { + //涓嶆槸鍚屼竴涓笢瑗� + if (this.device.sid != i_LocalDevice.sid) { return; } + + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + } + + #endregion + + #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________ + + #endregion + + #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________ + + /// <summary> + /// 鍒锋柊鐣岄潰鐘舵�� + /// </summary> + private void RefreshFormStatu() + { + Application.RunOnMainThread(() => { + var temp = device.attributes.Find((sta) => sta.key == "alarm_status"); + if (temp != null) + { + if (temp.state == "alarm") + { + btnIcon.IsSelected = true; + btnSuctionView.TextID = StringId.InAlarming; + btnSuctionView.IsSelected = true; + } + else + { + btnIcon.IsSelected = false; + btnSuctionView.TextID = StringId.Monitoring; + btnSuctionView.IsSelected = false; + } + } + }); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + #endregion + } +} diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs index fc82b32..36e51aa 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs @@ -132,6 +132,11 @@ /// </summary> public string deviceName = string.Empty; /// <summary> + /// 鍖哄垎鏄媱鑰愬厠杩樻槸鑷爺 + /// 鐩墠鍙湁鑷爺鏈夊�硷細door.gate + /// </summary> + public string spk = string.Empty; + /// <summary> /// 璁惧id銆佸簭鍒楀彿銆乽uid /// </summary> public string deviceId = string.Empty; diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs index 6d0dd75..b1c8fb3 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs @@ -2,14 +2,16 @@ using HDL_ON.UI.Music; using System.Collections.Generic; using Shared; -using HDL_ON.Stan; -using ZXing.QrCode.Internal; -using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod; +using HDL_ON.UI.CSS; namespace HDL_ON.UI.UI2.FuntionControlView.Video { public class VideoMainView : FrameLayout { + + List<Video> ximoVideoList = new List<Video>(); + + /// <summary> /// 鍔犺浇鍙瀵硅UI /// </summary> @@ -17,6 +19,8 @@ /// <param name="videoList">鍙瀵硅鍒楄〃</param> public void Show(List<CallView> listCall, List<Video> videoList) { + ximoVideoList = videoList.FindAll((obj) => obj.spk == "door.gate"); + #region 甯冨眬鐣岄潰 this.BackgroundColor = MusicColor.ViewColor; var topView = new TopView(); @@ -191,11 +195,17 @@ }; bjFl.AddChidren(vv); - bool bol = haveFlVideo(videoList); + bool bol = haveQRCodeVideo(videoList); if (bol) { //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�,铏氭嫙涓�涓嚭鏉� - videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100" }); + videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100",devType = "100" }); + } + if (ximoVideoList.Count > 0) + { + //寰樺緤鎶ヨ + videoList.Add(new Video { deviceName = Language.StringByID(StringId.WanderingAlarm), interphoneType = "222", devType = "222" }); + } //鏁扮粍涓暟 //int value = 15; @@ -217,10 +227,13 @@ }; vv.AddChidren(fL); int line = 0; + + #endregion for (int i = 1, j = 0; i <= videoList.Count; i++, j++) { var video = videoList[i - 1]; + #region var fLayout = new FrameLayout { @@ -239,6 +252,7 @@ UnSelectedImagePath = "VideoIcon/weiqiangji.png", }; fLayout.AddChidren(iconBtn); + var deviceNameBtn = new Button { @@ -267,19 +281,28 @@ //闂ㄥ彛鏈虹殑鐐瑰嚮浜嬩欢 clickBtn.MouseUpEventHandler += (sender, e) => { + if (video.devType == "VisitorQrCode") + { + + return; + } + else if (video.devType == "FaceManagement") + { + + return; + } + var video2 = clickBtn.Tag as Video; if (video2.devType == "100") { - //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨� - VideoSend.GetQRcode(this, video2, (tag, paw) => - { - if (tag) - { - //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥 - View.ShowDialog showDialog = new View.ShowDialog(); - showDialog.QRcode(paw); - } - }); + ChooseVideoShowQRCode(); + + } + else if(video2.devType == "222") + { + ChooseAlarmShow(); + + } else { @@ -544,20 +567,273 @@ //鍒ゆ柇鏄惁鏈� 涓版灄鍙瀵硅 - private bool haveFlVideo(List<Video> videoList) + private bool haveQRCodeVideo(List<Video> videoList) { bool bol = false; for (int i = 0; i < videoList.Count; i++) { var _video = videoList[i]; - if (_video.interphoneType == "FLVI") + if (_video.interphoneType == "FLVI"|| _video.spk == "door.gate") + { return true; + } } return bol; } + + /// <summary> + /// 鑾峰彇闂ㄧ浜岀淮鐮� + /// </summary> + public void ChooseVideoShowQRCode() + { + Dialog dialog = new Dialog() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + + FrameLayout dialogView = new FrameLayout(); + dialog.AddChidren(dialogView); + dialogView.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + + var contentView = new FrameLayout() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(280), + BackgroundColor = CSS_Color.MainBackgroundColor, + BorderColor = 0x00000000, + BorderWidth = 0, + Radius = (uint)Application.GetMinRealAverage(10), + }; + dialogView.AddChidren(contentView); + + var btnTitle = new Button() + { + Height = Application.GetRealHeight(64), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.FirstLevelTitleColor, + TextID = StringId.menjinerweima, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + contentView.AddChidren(btnTitle); + + var listView = new VerticalScrolViewLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(70), + Width = Application.GetRealWidth(230), + Height = Application.GetRealHeight(200), + }; + contentView.AddChidren(listView); + + //if (ximoVideoList.Count == 1) + { + Loading loading = new Loading(); + contentView.AddChidren(loading); + loading.Start(""); + new System.Threading.Thread(() => + { + try + { + var pack = VideoSend.GetQRcode(); + var pairs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AccessControlQRode>>(pack.Data.ToString()); + if (pairs.Count > 0) + { + Application.RunOnMainThread(() => + { + ImageView codeImage = new ImageView() + { + Gravity = Gravity.Center, + Height = Application.GetRealWidth(320), + Width = Application.GetRealWidth(320), + ImageBytes = Scan.BytesFromText(pairs[0].qrcode, Application.GetRealWidth(200), Application.GetRealWidth(200)), + }; + dialogView.AddChidren(codeImage); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"鑾峰彇闂ㄧ浜岀淮鐮佸紓甯革細{ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + if (loading != null) + { + loading.Hide(); + loading.RemoveFromParent(); + } + }); + } + }) + { IsBackground = true }.Start(); + } + //else + //{ + + // foreach (var v in ximoVideoList) + // { + // Button btnMsg = new Button() + // { + // Gravity = Gravity.CenterHorizontal, + // Height = Application.GetRealHeight(50), + // Width = Application.GetRealHeight(160), + // TextAlignment = TextAlignment.Center, + // TextColor = CSS_Color.TextualColor, + // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + // Text = v.deviceName, + // Radius = (uint)Application.GetRealWidth(5), + // BackgroundColor = CSS_Color.DividingLineColor, + // IsMoreLines = true, + // }; + // listView.AddChidren(btnMsg); + + // listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); + + // btnMsg.MouseUpEventHandler = (sender, e) => + // { + + + // if (v.spk == "door.gate") + // { + + // return; + // } + + // //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨� + // VideoSend.GetQRcode(this, v, (tag, paw) => + // { + // if (tag) + // { + // //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥 + // View.ShowDialog showDialog = new View.ShowDialog(); + // showDialog.QRcode(paw); + // } + // }); + // dialog.Close(); + // }; + // } + //} + dialog.Show(); + + } + + /// <summary> + /// 閫夋嫨寰樺緤鎶ヨ鍒楄〃鏄剧ず + /// </summary> + public void ChooseAlarmShow() + { + if (ximoVideoList.Count == 1) + { + var wanderingAlarmPage = new WanderingAlarmPage(ximoVideoList[0].deviceId); + MainPage.BasePageView.AddChidren(wanderingAlarmPage); + wanderingAlarmPage.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + + } + else + { + Dialog dialog = new Dialog() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + + FrameLayout dialogView = new FrameLayout(); + dialog.AddChidren(dialogView); + dialogView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + var contentView = new FrameLayout() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(280), + BackgroundColor = CSS_Color.MainBackgroundColor, + BorderColor = 0x00000000, + BorderWidth = 0, + Radius = (uint)Application.GetMinRealAverage(10), + }; + dialogView.AddChidren(contentView); + + var btnTitle = new Button() + { + Height = Application.GetRealHeight(64), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.FirstLevelTitleColor, + TextID = StringId.WanderingAlarm, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + contentView.AddChidren(btnTitle); + + var listView = new VerticalScrolViewLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(70), + Width = Application.GetRealWidth(230), + Height = Application.GetRealHeight(200), + }; + contentView.AddChidren(listView); + + + foreach (var v in ximoVideoList) + { + Button btnMsg = new Button() + { + Gravity = Gravity.CenterHorizontal, + Height = Application.GetRealHeight(50), + Width = Application.GetRealHeight(160), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = v.deviceName, + Radius = (uint)Application.GetRealWidth(5), + BackgroundColor = CSS_Color.DividingLineColor, + IsMoreLines = true, + }; + listView.AddChidren(btnMsg); + + listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); + + btnMsg.MouseUpEventHandler = (sender, e) => + { + + + var wanderingAlarmPage = new WanderingAlarmPage(v.deviceId); + MainPage.BasePageView.AddChidren(wanderingAlarmPage); + wanderingAlarmPage.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + + dialog.Close(); + }; + } + dialog.Show(); + } + + } + + } + public class AccessControlQRode + { + public string title = string.Empty; + public string codeType = string.Empty; + public string userName = string.Empty; + public string houseFullName = string.Empty; + public string communityName = string.Empty; + public string desc = string.Empty; + public string businessType = string.Empty; + public string qrcode = string.Empty; + } + + } diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs index ae759bb..9388f8b 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs @@ -3,6 +3,7 @@ using System.IO; using System.Net; using HDL_ON.DAL.Server; +using HDL_ON.Entity; using HDL_ON.UI.UI2.PersonalCenter.PirDevice; using Newtonsoft.Json.Linq; using Shared; @@ -81,6 +82,18 @@ return revertObj; } + public static ResponsePackNew GetQRcode() + { + var jobject = new JObject(); + jobject.Add("userId", UserInfo.Current.ID); + jobject.Add("userType", "C"); + jobject.Add("houseId", DB_ResidenceData.Instance.CurrentRegion.id); + jobject.Add("codeSecond", "60"); + var requestJson = HttpUtil.GetSignRequestJson(jobject);//鏁版嵁绛惧悕 + var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_OwnerQRCode, requestJson); + return revertObj; + } + /// <summary> /// 涓婃姤鍔ㄦ�佸紑閿佸瘑鐮�(娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥) /// </summary> @@ -90,12 +103,21 @@ bool if_bool = false; //涓存椂瀵嗙爜 string pwd = VideoMethod.GetCode(); - var jobject = new JObject(); jobject.Add("communityID", video.flRoomBindVO.flCmtId);//绀惧尯ID - jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//寮�濮嬫椂闂� - jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//鏈夋晥鏃堕棿 - jobject.Add("unitno", video.flRoomBindVO.flBuildingId);//鍗曞厓鍙� - jobject.Add("roomno", video.flRoomBindVO.flRoomId);//鎴块棿鍙� - jobject.Add("code", pwd); jobject.Add("userKey", video.flRoomBindVO.id); jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp()); jobject.Add("secretKey", video.flRoomBindVO.flSecretKey); jobject.Add("method", "setdynamicpwd"); jobject.Add("numTimes", "5"); + var jobject = new JObject(); + + + jobject.Add("communityID", video.flRoomBindVO.flCmtId);//绀惧尯ID + jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//寮�濮嬫椂闂� + jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//鏈夋晥鏃堕棿 + jobject.Add("unitno", video.flRoomBindVO.flBuildingId);//鍗曞厓鍙� + jobject.Add("roomno", video.flRoomBindVO.flRoomId);//鎴块棿鍙� + jobject.Add("code", pwd); + jobject.Add("userKey", video.flRoomBindVO.id); + jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp()); + jobject.Add("secretKey", video.flRoomBindVO.flSecretKey); + jobject.Add("method", "setdynamicpwd"); + jobject.Add("numTimes", "5"); + //鍔犺浇log Loading loading = new Loading(); frame.AddChidren(loading); @@ -104,7 +126,9 @@ { try { - var str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST"); + string str = ""; + + str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST"); if (!string.IsNullOrEmpty(str)) { var json = JObject.Parse(str); diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs new file mode 100644 index 0000000..d6b5a5e --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs @@ -0,0 +1,231 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.DAL.Server; +using HDL_ON.UI.CSS; +using Shared; +namespace HDL_ON.UI.UI2.FuntionControlView.Video +{ + public class WanderingAlarmPage : FrameLayout + { + FrameLayout bodyView; + string deviceId; + public WanderingAlarmPage(string deviceId) + { + bodyView = this; + this.deviceId = deviceId; + } + + VerticalScrolViewLayout contentView; + + public void LoadPage() + { + bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; + new TopViewDiv(bodyView, Language.StringByID(StringId.WanderingAlarm)).LoadTopView(); + + var btnTipMsg = new Button() + { + Y = Application.GetRealHeight(64), + X = Application.GetRealWidth(20), + Height = Application.GetRealHeight(58), + Width = Application.GetRealWidth(318), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = "*鍙瀵硅鍙互鑷姩璇嗗埆闂ㄥ彛鍙枒浜哄憳锛屽苟鍙戣捣寰樺緤鎶ヨ璁板綍" + }; + if(Language.CurrentLanguage != "Chinese") + { + btnTipMsg.Text = "*Visual intercom can automatically identify suspicious persons at the door and initiate wandering alarm records"; + } + bodyView.AddChidren(btnTipMsg); + + contentView = new VerticalScrolViewLayout() + { + Y = Application.GetRealHeight(64 + 62), + Height = Application.GetRealHeight(550), + }; + bodyView.AddChidren(contentView); + + LoadCloudData(20, 1); + } + + /// <summary> + /// 璇诲彇浜戠鏁版嵁 + /// </summary> + void LoadCloudData(int pageCount,int pageNo) + { + Loading loading = new Loading(); + bodyView.AddChidren(loading); + loading.Start(""); + new System.Threading.Thread(() => { + try + { + HttpServerRequest http = new HttpServerRequest(); + var pack = http.GetAlarmRecords(deviceId, pageCount,pageNo); + if (pack.Code == StateCode.SUCCESS) + { + var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<AlarmRecordInfoPack>(pack.Data.ToString()); + Application.RunOnMainThread(() => + { + LoadSceneGallery(obj); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"璇诲彇寰樺緤鎶ヨ鏁版嵁寮傚父锛歿ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + if (loading != null) + { + loading.Hide(); + loading.RemoveFromParent(); + } + }); + } + }) + { IsBackground = true }.Start(); + + } + + /// <summary> + /// 鍔犺浇鍦烘櫙鍥惧簱 + /// </summary> + void LoadSceneGallery(AlarmRecordInfoPack pack) + { + FrameLayout sceneImageRow = new FrameLayout() + { + Height = Application.GetRealWidth(128), + }; + new System.Threading.Thread(() => + { + for (int i = 0; i < pack.list.Count; i++) + { + var item = pack.list[i]; + + var imageBytes = ImageUtlis.Current.DownImageByImageUrl(item.alarmImg); + Application.RunOnMainThread(() => + { + var sceneImageView = new ImageView() + { + Width = Application.GetRealWidth(172), + Height = Application.GetRealHeight(90), + Radius = (uint)Application.GetRealWidth(12), + ImageBytes = imageBytes + }; + var btnTime = new Button() + { + Width = Application.GetRealHeight(160), + Height = Application.GetRealHeight(41), + Y = Application.GetRealHeight(90), + Text = Utlis.UnixToDateTimeMS(item.alarmTime).ToString(), + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.Center + }; + if (i % 2 == 0) + { + sceneImageRow = new FrameLayout() + { + Height = Application.GetRealHeight(90 + 53), + }; + contentView.AddChidren(sceneImageRow); + sceneImageView.X = Application.GetRealWidth(10); + sceneImageRow.AddChidren(sceneImageView); + btnTime.X = Application.GetRealWidth(10); + sceneImageRow.AddChidren(btnTime); + + } + else + { + sceneImageView.X = Application.GetRealWidth(194); + sceneImageRow.AddChidren(sceneImageView); + + btnTime.X = Application.GetRealWidth(194); + sceneImageRow.AddChidren(btnTime); + } + + + sceneImageView.MouseUpEventHandler = (sender, e) => + { + Dialog dialog = new Dialog(); + + FrameLayout dialogContentView = new FrameLayout(); + dialog.AddChidren(dialogContentView); + dialogContentView.MouseUpEventHandler = (sender2, e2) => + { + dialog.Close(); + }; + ImageView btnImage = new ImageView() + { + Gravity = Gravity.Center, + Height = Application.GetRealHeight(211), + ImageBytes = sceneImageView.ImageBytes, + }; + dialogContentView.AddChidren(btnImage); + + + dialog.Show(); + }; + + }); + System.Threading.Thread.Sleep(20); + + } + Application.RunOnMainThread(() => + { + if (pack.totalPage > pack.pageNo) + { + var btnLoadMore = new Button() + { + TextAlignment = TextAlignment.Center, + TextID = StringId.GetMore, + Height = Application.GetRealHeight(60), + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + }; + contentView.AddChidren(btnLoadMore); + btnLoadMore.MouseUpEventHandler = (sender, e) => + { + LoadCloudData(20, pack.pageNo + 1); + btnLoadMore.RemoveFromParent(); + }; + } + }); + + }) + { IsBackground = true }.Start(); + } + + + } + + public class AlarmRecordInfoPack + { + public int totalCount = 0; + + public int totalPage = 0; + + public int pageNo = 0; + + public int pageSize = 0; + + public List<AlarmRecordInfo> list = new List<AlarmRecordInfo>(); + } + + /// <summary> + /// 寰樺緤鎶ヨ淇℃伅 + /// </summary> + public class AlarmRecordInfo + { + public string alarmImg = string.Empty; + + public long alarmTime; + + public string alarmType = string.Empty; + + public string alarmTypeDesc = string.Empty; + } +} diff --git a/SiriIntents/Server/HttpUtil.cs b/SiriIntents/Server/HttpUtil.cs index f61de04..56a78a0 100644 --- a/SiriIntents/Server/HttpUtil.cs +++ b/SiriIntents/Server/HttpUtil.cs @@ -16,8 +16,8 @@ /// 鍥哄畾鍩熷悕,姝e紡鐜 /// 鍏叡鍩熷悕灏辫繎瑙f瀽 /// </summary> - public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; - //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm + //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; + public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm /// <summary> /// RegionMark /// </summary> -- Gitblit v1.8.0