From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 06 六月 2023 11:51:12 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' --- HDL-ON_iOS/ViewController.cs | 2 HDL-ON_Android/Properties/AndroidManifest.xml | 2 HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 1 HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 10 HDL-ON_Android/Assets/Language.ini | 16 + HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 57 +++++ HDL-ON_iOS/HDL-ON_iOS.csproj | 27 ++ HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 103 +++++++++++ HDL_ON/UI/UI2/UserPage.cs | 10 HDL_ON/Common/ApiUtlis.cs | 3 HDL_ON/Entity/Function/SecurityAlarm.cs | 2 HDL-ON_iOS/AppDelegate.cs | 36 ++-- HDL_ON/DAL/Mqtt/MqttClient.cs | 2 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs | 137 +++++++++++++++ HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs | 2 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 8 HDL-ON_iOS/Info.plist | 4 HDL-ON_iOS/Resources/Language.ini | 16 + HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 10 HDL-ON_Android/Resources/Resource.designer.cs | 2 HDL_ON/UI/MainPage.cs | 3 SiriIntents/Server/HttpUtil.cs | 4 HDL_ON/Entity/FunctionList.cs | 1 HDL_ON/Entity/Function/Function.cs | 5 HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs | 4 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs | 8 HDL_ON/UI/UI2/UserPageBLL.cs | 18 -- HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs | 16 + HDL_ON/Common/R.cs | 13 + 29 files changed, 455 insertions(+), 67 deletions(-) diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 5edc896..9b3e021 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -1149,6 +1149,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -2432,6 +2435,10 @@ 7166=鎽勫儚澶� 7167=鎬绘帶寮�鍏� 7168=PM10 +7169=鎸佺画鏃堕棿 +7170=浜轰綋瀛樺湪妫�娴� +7171=鎸佺画 + 8501=瑙嗛闂ㄩ攣 @@ -3711,6 +3718,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -4985,6 +4995,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -6258,6 +6271,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml index bd9897e..3d9ee18 100644 --- a/HDL-ON_Android/Properties/AndroidManifest.xml +++ b/HDL-ON_Android/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@ 锘�<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.8.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202306011"> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.8.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202306051"> <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <!--鍙嬬洘--> diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs index b127030..acf2224 100644 --- a/HDL-ON_Android/Resources/Resource.designer.cs +++ b/HDL-ON_Android/Resources/Resource.designer.cs @@ -14,7 +14,7 @@ { - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.8.165")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] public partial class Resource { diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs index 36f83cb..e2c07be 100644 --- a/HDL-ON_iOS/AppDelegate.cs +++ b/HDL-ON_iOS/AppDelegate.cs @@ -199,12 +199,12 @@ public override void DidEnterBackground(UIApplication application) { //璁剧疆鍏ㄨ閫氱姸鎬� - string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion; - string errorVersion = "16.2.0"; - if (systemVersion.CompareTo(errorVersion) < 0)///鍏ㄨ閫氫笉鍏煎ios16浠ヤ笂鐨勭郴缁燂紝涓嶈鍔犺浇杩欎釜鍏� - { - Shared.IOS.HDLFVSDK.Video.FVapplicationDidEnterBackground(application); - } + //string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion; + //string errorVersion = "16.2.0"; + //if (systemVersion.CompareTo(errorVersion) < 0)///鍏ㄨ閫氫笉鍏煎ios16浠ヤ笂鐨勭郴缁燂紝涓嶈鍔犺浇杩欎釜鍏� + //{ + // Shared.IOS.HDLFVSDK.Video.FVapplicationDidEnterBackground(application); + //} //SharedMethod.SharedMethod.IsBackground = true; //MainPage.IsEnterBackground = true; ////杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵�� @@ -231,12 +231,12 @@ public override void OnActivated(UIApplication application) { //璁剧疆鍏ㄨ閫氱姸鎬� - string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion; - string errorVersion = "16.2.0"; - if (systemVersion.CompareTo(errorVersion) < 0)///鍏ㄨ閫氫笉鍏煎ios16浠ヤ笂鐨勭郴缁燂紝涓嶈鍔犺浇杩欎釜鍏� - { - Shared.IOS.HDLFVSDK.Video.FVapplicationDidBecomeActive(application); - } + //string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion; + //string errorVersion = "16.2.0"; + //if (systemVersion.CompareTo(errorVersion) < 0)///鍏ㄨ閫氫笉鍏煎ios16浠ヤ笂鐨勭郴缁燂紝涓嶈鍔犺浇杩欎釜鍏� + //{ + // Shared.IOS.HDLFVSDK.Video.FVapplicationDidBecomeActive(application); + //} Console.WriteLine("OnActivated"); base.OnActivated(application); //HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway(); @@ -294,12 +294,12 @@ { //璁剧疆鍏ㄨ閫氱姸鎬� - string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion; - string errorVersion = "16.2.0"; - if (systemVersion.CompareTo(errorVersion) < 0)///鍏ㄨ閫氫笉鍏煎ios16浠ヤ笂鐨勭郴缁燂紝涓嶈鍔犺浇杩欎釜鍏� - { - Shared.IOS.HDLFVSDK.Video.FVapplication(application, new NSDictionary()); - } + //string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion; + //string errorVersion = "16.2.0"; + //if (systemVersion.CompareTo(errorVersion) < 0)///鍏ㄨ閫氫笉鍏煎ios16浠ヤ笂鐨勭郴缁燂紝涓嶈鍔犺浇杩欎釜鍏� + //{ + // Shared.IOS.HDLFVSDK.Video.FVapplication(application, new NSDictionary()); + //} Console.WriteLine("111111111111"); SetCurrentLanguage(); //Shared.Application.FontSize = 12; diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj index f55067f..e420bca 100644 --- a/HDL-ON_iOS/HDL-ON_iOS.csproj +++ b/HDL-ON_iOS/HDL-ON_iOS.csproj @@ -80,6 +80,8 @@ <Reference Include="System.Xml" /> <Reference Include="System.Core" /> <Reference Include="Xamarin.iOS" /> + <Reference Include="System.Numerics" /> + <Reference Include="System.Numerics.Vectors" /> <Reference Include="System.Web.Services" /> <Reference Include="Shared.IOS.TBL"> <HintPath>..\DLL\Shared.IOS.TBL.dll</HintPath> @@ -118,10 +120,16 @@ </ItemGroup> <ItemGroup> <PackageReference Include="Newtonsoft.Json"> - <Version>13.0.3</Version> + <Version>13.0.1</Version> </PackageReference> <PackageReference Include="MQTTnet"> <Version>3.1.0</Version> + </PackageReference> + <PackageReference Include="Microsoft.AppCenter.Analytics"> + <Version>4.4.0</Version> + </PackageReference> + <PackageReference Include="Microsoft.AppCenter.Crashes"> + <Version>4.4.0</Version> </PackageReference> <PackageReference Include="ZXing.Net.Mobile"> <Version>2.4.1</Version> @@ -439,6 +447,20 @@ <ImageAsset Include="Assets.xcassets\wifi_bg.imageset\wifi_bg.png" /> <ImageAsset Include="Assets.xcassets\device_bg.imageset\Contents.json" /> <ImageAsset Include="Assets.xcassets\device_bg.imageset\device_bg.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\12422688.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\8281792.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\26881242.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1792828.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\11252436.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\24361125.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640960.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\6401136.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\320480.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640960-1.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\6401136-1.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\12422208.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\7501334.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\22081242.png" /> <ImageAsset Include="Resources\Assets.xcassets\Contents.json" /> <ImageAsset Include="Resources\Assets.xcassets\launchIcon2.imageset\Contents.json" /> <ImageAsset Include="Resources\Assets.xcassets\launchIcon2.imageset\launchIcon2.png" /> @@ -1566,7 +1588,6 @@ <BundleResource Include="Resources\Phone\FunctionIcon\Icon\securitydoorezviz.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorlockClose1.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorLockOpen1.png" /> - <BundleResource Include="Resources\Phone\LogicIcon\selectlocation.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> @@ -1588,6 +1609,8 @@ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\58x58-1.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\40x40-2.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\80x80-1.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\.DS_Store" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Contents.json" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\1024.png" /> </ItemGroup> <ItemGroup> diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist index 6313305..d45f503 100644 --- a/HDL-ON_iOS/Info.plist +++ b/HDL-ON_iOS/Info.plist @@ -11,7 +11,7 @@ <key>CFBundleName</key> <string>On Pro</string> <key>CFBundleShortVersionString</key> - <string>1.7.6</string> + <string>1.8.0</string> <key>CFBundleURLTypes</key> <array> <dict> @@ -36,7 +36,7 @@ </dict> </array> <key>CFBundleVersion</key> - <string>1.7.6</string> + <string>1.8.0</string> <key>LSApplicationQueriesSchemes</key> <array> <string>weixinULAPI</string> diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index 5edc896..9b3e021 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -1149,6 +1149,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -2432,6 +2435,10 @@ 7166=鎽勫儚澶� 7167=鎬绘帶寮�鍏� 7168=PM10 +7169=鎸佺画鏃堕棿 +7170=浜轰綋瀛樺湪妫�娴� +7171=鎸佺画 + 8501=瑙嗛闂ㄩ攣 @@ -3711,6 +3718,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -4985,6 +4995,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -6258,6 +6271,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity diff --git a/HDL-ON_iOS/ViewController.cs b/HDL-ON_iOS/ViewController.cs index 7b984a0..52dee5d 100644 --- a/HDL-ON_iOS/ViewController.cs +++ b/HDL-ON_iOS/ViewController.cs @@ -26,7 +26,7 @@ { base.ViewDidLoad(); - HDL_ON.MainPage.ShowAsync(); + HDL_ON.MainPage.Show(); try { diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs index ae98d39..5980873 100644 --- a/HDL_ON/Common/ApiUtlis.cs +++ b/HDL_ON/Common/ApiUtlis.cs @@ -78,7 +78,10 @@ public void DownloadData() { if (MainPage.InternetStatus == 0 || MainPage.NoLoginMode) + { + DownloadDataComplete = true; return; + } endTime1 = DateTime.Now.AddSeconds(25); complateDevice = complateScene = false; diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 1d4c2ab..971b2ab 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -3238,6 +3238,19 @@ /// PM210 /// </summary> public const int pm10 = 7168; + /// <summary> + /// 鎸佺画鏃堕棿 + /// </summary> + public const int chixushijian = 7169; + /// <summary> + /// 浜轰綋瀛樺湪妫�娴� + /// </summary> + public const int rentijiance = 7170; + /// <summary> + /// 鎸佺画 + /// </summary> + public const int chixu = 7171; + /// <summary> /// 瑙嗛闂ㄩ攣 diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs index d5cd85e..b6be181 100644 --- a/HDL_ON/DAL/Mqtt/MqttClient.cs +++ b/HDL_ON/DAL/Mqtt/MqttClient.cs @@ -683,7 +683,7 @@ } catch (Exception ex) { - Utlis.WriteLine($"error:" + ex.Message); + Utlis.WriteLine($"mqtt杩炴帴寮傚父 error:" + ex.Message); //mqtt杩炴帴寮傚父锛屾竻绌烘湰鍦癿qtt淇℃伅锛屽彲鑳介渶瑕侀噸鏂拌幏鍙栵細wxr MqttInfoConfig.Current.Refresh(); } diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 6e468e9..171de78 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -1681,6 +1681,10 @@ /// </summary> public const string SensorPir = "sensor.pir"; /// <summary> + /// 浜轰綋瀛樺湪浼犳劅鍣� + /// </summary> + public const string SensorPirHold = "sensor.pir_hold"; + /// <summary> /// 锛堥棬绐椾紶鎰熷櫒锛� /// </summary> public const string SensorDoorWindow = "sensor.doorwindow"; @@ -1735,6 +1739,7 @@ var spkList = new List<string>(); //spkList.Add(SensorLight); spkList.Add(SensorPir); + spkList.Add(SensorPirHold); spkList.Add(SensorHelp); spkList.Add(SensorDoorWindow); spkList.Add(SensorSmoke); diff --git a/HDL_ON/Entity/Function/SecurityAlarm.cs b/HDL_ON/Entity/Function/SecurityAlarm.cs index 4ff0b58..1ddb0b9 100644 --- a/HDL_ON/Entity/Function/SecurityAlarm.cs +++ b/HDL_ON/Entity/Function/SecurityAlarm.cs @@ -336,6 +336,7 @@ } break; case SPK.SensorPir: + case SPK.SensorPirHold: if (inputValue == "true") { text += Language.StringByID(StringId.youren) + " "; @@ -394,6 +395,7 @@ } break; case SPK.SensorPir: + case SPK.SensorPirHold: foreach (var con in condition) { if (con.value == "true") diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index bb14283..cf7a775 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -258,6 +258,7 @@ var spkList = new List<string>() { SPK.SensorPir, + SPK.SensorPirHold, SPK.SensorDoorWindow, SPK.SensorSmoke, SPK.SensorWater, diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs index 4f1d9af..c9bf8be 100644 --- a/HDL_ON/UI/MainPage.cs +++ b/HDL_ON/UI/MainPage.cs @@ -454,7 +454,8 @@ addResidencePage.LoadView(); return; } - new System.Threading.Thread(async () => + + new System.Threading.Thread(() => { try { diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs index 3c7a086..32da33a 100644 --- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs +++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs @@ -166,6 +166,7 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.SensorPir: + case SPK.SensorPirHold: var pirPage = new SensorPirPage(); pirPage.ShowColltionButton = false; pirPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 4f2d2b4..0c52ed6 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -455,7 +455,8 @@ }; btnPm25Values.Width = btnPm25Values.GetTextWidth(); environmentalView.AddChidren(btnPm25Values); -#endregion + #endregion + btnSecurityStatus = new Button() { @@ -604,9 +605,9 @@ TextAlignment = TextAlignment.Center, }; changeView.AddChidren(btnChangeScene); -#endregion + #endregion -#region ContextView + #region ContextView contentView = new PageLayout() { //Y = changeView.Bottom, @@ -619,7 +620,7 @@ LoadContentView(); -#endregion + #endregion } catch (Exception ex) { @@ -633,6 +634,7 @@ /// </summary> void LoadContentView() { + if (!Common.ApiUtlis.Ins.DownloadDataComplete && !MainPage.NoLoginMode) { var waitPage = new Loading(); diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs index 5c82a1c..3bf20a9 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs @@ -818,6 +818,10 @@ /// </summary> void GetUnreadPushMessages() { + if (MainPage.NoLoginMode) + { + return; + } System.Threading.Tasks.Task.Run(() => { try @@ -922,6 +926,10 @@ /// </summary> void RegisterGetPushMessageAction() { + if (MainPage.NoLoginMode) + { + return; + } Action RegisterGetPushMessageAction = () => { if (bodyView != null) { diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 0cf91cc..32a9a61 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -36,6 +36,12 @@ /// 鍙瀵硅涓撶敤 /// </summary> private string identifier; + /// <summary> + /// 浜轰綋浼犳劅鍣ㄦ寔缁椂闂翠笓鐢� + /// </summary> + private string hold_time=string.Empty; + + private static ConditionDeviceFunList m_Current = null; @@ -184,6 +190,59 @@ if (edit) { GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //浜轰綋瀛樺湪浼犳劅鍣� + case SPK.SensorPirHold: + { + + + LogicView.FunTypeView view1 = new LogicView.FunTypeView(); + view1.btnText.TextID = StringId.rentijiance; + view1.btnText.Name = Language.StringByID(StringId.rentijiance); + fLayout.AddChidren(view1.FLayoutView()); + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view1.btnState, StringId.youren, StringId.wuren); + + }; + + LogicView.FunTypeView view2 = new LogicView.FunTypeView(); + view2.frameLayout.Y = view1.frameLayout.Bottom; + view2.btnText.TextID = StringId.chixushijian; + fLayout.AddChidren(view2.FLayoutView()); + view2.btnClick.MouseUpEventHandler += (sender, e) => + { + //涓荤晫闈㈡帶浠� + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout); + TimeView(fLayout, device, view2.btnState); + + }; + + + if (edit) + { + try + { + Input inputs = Logic.currlogic.input[index]; + if (!string.IsNullOrEmpty(inputs.hold_time) && int.Parse(inputs.hold_time) > 0) + { + int time = int.Parse(inputs.hold_time); + int h = time / (60 * 60); + int m = time % (60 * 60) / 60; + int s = (time % (60 * 60) % 60); + view2.btnState.Text = inputs.hold_time + "s"; + view2.btnState.Name = h + ":" + m + ":" + s; + this.hold_time = inputs.hold_time; + } + } + catch { } + GetEditState(device, index, view1.btnState, view2.btnState, null, null); } } break; @@ -694,6 +753,11 @@ inputDevice.condition_type = "9"; inputDevice.identifier = this.identifier; } + else if (device.spk == SPK.SensorPirHold) + { + //浜轰綋瀛樺湪浼犳劅鍣� + inputDevice.hold_time = this.hold_time; + } if (edit) @@ -737,6 +801,7 @@ } } + /// <summary> /// 璁惧閫夋嫨鏉′欢鐣岄潰 /// </summary> @@ -779,6 +844,7 @@ } } break; + case SPK.SensorPirHold: case SPK.SensorDuiShe: case SPK.SensorShanLan: case SPK.SensorPir: @@ -1191,6 +1257,43 @@ } /// <summary> + /// 鏃堕棿鏂规硶 + /// </summary> + /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param> + /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param> + /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param> + private void TimeView(FrameLayout fLayout,Function device, Button button) + { + + LogicView.TimeView timePointView = new LogicView.TimeView(); + timePointView.FLayoutView(fLayout); + timePointView.Time(fLayout, button.Name, (timeValue) => + { + try + { + if (timeValue.Contains(":")) + { + string[] ary = timeValue.Split(':'); + + int h = int.Parse(ary[0]) * 60 * 60; + int m = int.Parse(ary[1]) * 60; + int s = int.Parse(ary[2]); + this.hold_time = (h + m + s).ToString(); + if (button != null) + { + button.Text = this.hold_time + "s"; + button.Name = timeValue; + } + selectedState = device.spk + "_" + timeValue; + } + } + catch { } + + }); + + } + + /// <summary> /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� /// </summary> /// <param name="device">缂栬緫璁惧</param> diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 7055171..014f3bb 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -247,7 +247,7 @@ { inputView.btnState.Text = Language.StringByID(StringId.kaiqi); } - + } break; case SPK.SensorUtrasonic: @@ -307,12 +307,14 @@ { string value = this.GetValue(dicList); inputView.btnState.Text = Language.StringByID(StringId.wuren); - if (value == "fall") { + if (value == "fall") + { inputView.btnState.Text = Language.StringByID(StringId.diedao); } } break; - case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin: + case SPK.SensorEnvironment: + case SPK.SensorEnvironmentHailin: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: { @@ -376,7 +378,7 @@ case SPK.SensorTemperature: { - string str =this.GetText(dicList, "temperature"); + string str = this.GetText(dicList, "temperature"); inputView.btnState.Text = str; } break; @@ -451,7 +453,7 @@ } - + } inputView.btnState.Text = s; } @@ -462,7 +464,32 @@ { inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); } - + + } + break; + case SPK.SensorPirHold: + { + string value = this.GetKeyValue("people_status", dicList); + if (string.IsNullOrEmpty(value)) + { + inputView.btnState.Text = inputCondition.hold_time + "s"; + break; + + } + + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + if (!string.IsNullOrEmpty(inputCondition.hold_time) && int.Parse(inputCondition.hold_time) > 0) + { + + inputView.btnState.Text += "鎸佺画" + inputCondition.hold_time + "s"; + } + + } break; } @@ -1978,6 +2005,7 @@ } } break; + case SPK.SensorGas: case SPK.SensorSmoke: { @@ -2046,6 +2074,23 @@ } } break; + case SPK.SensorPirHold: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + + } + break; case SPK.SensorDoorWindow: { foreach (var dic in dicList) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs index 370900f..e043cf8 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs @@ -106,6 +106,10 @@ /// condition_type=9鏃朵娇鐢� /// </summary> public string identifier = ""; + /// <summary> + /// 浜轰綋绉诲姩浼犳劅鍣紙甯︽寔缁椂闂达級 + /// </summary> + public string hold_time = ""; public List<Dictionary<string, string>> condition = new List<Dictionary<string, string>>(); /// <summary> /// 鍦扮悊鍥存爮閰嶇疆 diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index 9ed7f66..4cd73dc 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -356,7 +356,7 @@ { return "MusicIcon/localMusic.png"; } - else if (SPK.SensorPm10 == device.spk) + else if (SPK.SensorPm10 == device.spk || SPK.SensorPirHold == device.spk) { return "LogicIcon/sensor.png"; } @@ -467,6 +467,8 @@ case SPK.SensorTVOC: case SPK.SensorHcho: case SPK.SensorHelp: + case SPK.SensorPirHold: + { strPath = "LogicIcon/sensor.png"; } @@ -562,6 +564,7 @@ || device.spk == SPK.SensorHcho || device.spk == SPK.SensorHelp || device.spk == SPK.SensorPm10 + || device.spk == SPK.SensorPirHold ); if (sensor != null) { @@ -686,6 +689,7 @@ functionTypeList.Add(SPK.SensorHcho); functionTypeList.Add(SPK.SensorHelp); functionTypeList.Add(SPK.SensorPm10); + functionTypeList.Add(SPK.SensorPirHold); } @@ -781,6 +785,7 @@ functionTypeList.Add(SPK.SensorPm10); functionTypeList.Add(SPK.VideoDoorLock); functionTypeList.Add(SPK.AcIr); + functionTypeList.Add(SPK.SensorPirHold); } @@ -842,6 +847,7 @@ deviceTypeList.Add(SPK.SensorPm10); deviceTypeList.Add(SPK.VideoDoorLock); deviceTypeList.Add(SPK.AcIr); + deviceTypeList.Add(SPK.SensorPirHold); } break; @@ -1186,7 +1192,7 @@ // new Entity.Function { sid = "1234567892", name = "婀垮害浼犳劅鍣�", spk = Entity.SPK.SensorHumidity }, //new Entity.Function { sid = "12345678933456", name = "闂ㄩ攣", spk = Entity.SPK.DoorLock }, // new Entity.Function { sid = "1234567895444", name = "瑙嗛闂ㄩ攣", spk = Entity.SPK.VideoDoorLock }, - new Entity.Function { sid = "12345678968888", name = "pm10", spk = Entity.SPK.LightDimming }, + new Entity.Function { sid = "12345678968888", name = "浜轰綋瀛樺湪浼犳劅鍣�", spk = Entity.SPK.SensorPirHold }, // new Entity.Function { sid = "1234567897", name = "姣背娉紶鎰熷櫒1", spk = Entity.SPK.SenesorMegahealth2 }, // new Entity.Function { sid = "1234567899", name = "闂ㄧ浼犳劅鍣�", spk = Entity.SPK.SensorDoorWindow }, // new Entity.Function { sid = "12345678991234", name = "HDL鏈烘鎵�", spk = Entity.SPK.MechanicalArm }, diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs index a79324c..b45c5ae 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs @@ -81,7 +81,7 @@ frameLayout.AddChidren(btnLine); } /// <summary> - /// 閫変腑鏃堕棿鐨勬柟娉� + /// 閫変腑鏃堕棿鐨勬柟娉�(鏃讹紝鍒�) /// </summary> /// <param name="fLayout">鐖舵帶浠�</param> /// <param name="currState">涔嬪墠鐘舵�佸��</param> @@ -156,6 +156,120 @@ string hour = GethStringList()[index1].Split(' ')[0]; string minuet = GetmStringList()[index2].Split(' ')[0]; timepoint = hour + ":" + minuet; + }; + //纭畾鐐瑰嚮浜嬩欢 + btnConfirm.MouseUpEventHandler += (sender, e3) => + { + action(timepoint); + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + + }; + } + /// <summary> + /// 閫変腑鏃堕棿鐨勬柟娉�(鏃讹紝鍒嗭紝绉�) + /// </summary> + /// <param name="fLayout">鐖舵帶浠�</param> + /// <param name="currState">涔嬪墠鐘舵�佸��</param> + /// <param name="action">杩斿洖鏃堕棿鍊�</param> + public void Time(FrameLayout fLayout, string currState, Action<string> action) + { + //鍙栨秷鐐瑰嚮浜嬩欢 + btnCancel.MouseUpEventHandler += (sender, e1) => + { + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + }; + //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) + mUIPickerView.setNPicker(GethStringList(), GetmStringList(), GetsStringList()); + var systemHour = DateTime.Now.Hour; //鑾峰彇灏忔椂 + var systeMinute = DateTime.Now.Minute;//鑾峰彇鍒嗛挓 + var systeSecond = DateTime.Now.Second;//鑾峰彇绉� + + int systemHourIndex = 0; + int systeMinuteIndex = 0; + int systeSecondIndex = 0; + for (int i = 0; i < GethIntList().Count; i++) + { + var currhour = GethIntList()[i]; + if (systemHour == currhour) + { + systemHourIndex = i; + break; + } + } + for (int i = 0; i < GetmIntList().Count; i++) + { + var currminute = GetmIntList()[i]; + if (systeMinute == currminute) + { + systeMinuteIndex = i; + break; + } + } + for (int i = 0; i < GetsIntList().Count; i++) + { + var currsecond= GetsIntList()[i]; + if (systeSecond == currsecond) + { + systeSecondIndex = i; + break; + } + } + + //榛樿鍒濆閫変腑鐘舵�� + mUIPickerView.setCurrentItems(systemHourIndex, systeMinuteIndex, systeSecondIndex); + string currH = ""; + string currM = ""; + string currS = ""; + if (systemHour < 10) + { + currH = "0" + systemHour.ToString(); + } + else + { + currH = systemHour.ToString(); + } + if (systeMinute < 10) + { + currM = "0" + systeMinute.ToString(); + } + else + { + currM = systeMinute.ToString(); + } + if (systeSecond < 10) + { + currS = "0" + systeMinute.ToString(); + } + else + { + currS = systeMinute.ToString(); + } + //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 + string timepoint = currH + ":" + currM + ":" + currS; + if (!string.IsNullOrEmpty(currState)) + { + int hIndex = GetValueIndex(currState, 0, 1, GethIntList()); + int mIndex = GetValueIndex(currState, 1, 0, GetmIntList()); + int sIndex = GetValueIndex(currState, 2, 0, GetsIntList()); + //鏇存柊鍒濆鐘舵�� + mUIPickerView.setCurrentItems(hIndex, mIndex, sIndex); + timepoint = currState; + } + + + //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆� + mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => + { + try + { + string hour = GethStringList()[index1].Split(' ')[0]; + string minuet = GetmStringList()[index2].Split(' ')[0]; + string second = GetmStringList()[index3].Split(' ')[0]; + timepoint = hour + ":" + minuet + ":" + second; + } + catch { } }; //纭畾鐐瑰嚮浜嬩欢 btnConfirm.MouseUpEventHandler += (sender, e3) => @@ -306,7 +420,22 @@ } return mList; } - + /// <summary> + /// 鑾峰彇60绉掑垪琛� + /// </summary> + /// <returns></returns> + public List<int> GetsIntList() + { + //鍒濆鍖栧垪琛� + var mList = new List<int>(); + for (int i = 0; i < 60; i++) + { + //娣诲姞鏁版嵁 + mList.Add(i); + } + return mList; + } + /// <summary> /// 鑾峰彇鏃堕棿鍊� /// </summary> @@ -317,6 +446,10 @@ /// <returns></returns> public int GetValueIndex(string str, int digit, int startIndex, List<int> list) { + if (string.IsNullOrEmpty(str)) + { + return 0; + } int index = 0; int value = 0; if (str.Contains(":")) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs index 98e5cd6..84ea1a0 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs @@ -366,6 +366,7 @@ //2-鍔熻兘鍥炬爣 //3-浜戠鍥炬爣 //4-鍦烘櫙鍥炬爣 + //5-鍦扮悊鍥存爮 for (int i = 0; i < logic.input.Count; i++) { if (logic.input[i] == null) @@ -407,6 +408,7 @@ } break; + } if (!iconIntValue.Contains(iconInt)) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs index 8ea607a..7274673 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs @@ -114,6 +114,10 @@ { var inputTypeJOb = new JObject { }; inputTypeJOb.Add("sid", dictionary.sid); + if (!string.IsNullOrEmpty(dictionary.hold_time)) + { + inputTypeJOb.Add("hold_time", dictionary.hold_time); + } inputTypeJOb.Add("condition_type", dictionary.condition_type); if (dictionary.condition_type=="9") { inputTypeJOb.Add("identifier", dictionary.identifier); @@ -241,6 +245,10 @@ { var inputTypeJOb = new JObject { }; inputTypeJOb.Add("sid", dictionary.sid); + if (!string.IsNullOrEmpty(dictionary.hold_time)) + { + inputTypeJOb.Add("hold_time", dictionary.hold_time); + } inputTypeJOb.Add("condition_type", dictionary.condition_type); if (dictionary.condition_type == "9") { diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs index b70cf7f..60d72bc 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs @@ -167,6 +167,22 @@ public void LoadView() { + //try + //{ + // if (MainPage.CurPageIndex == 3) + // { + // Application.RunOnMainThread(() => + // { + // this.RemoveFromParent(); + // return; + // }); + // } + //} + //catch (Exception ex) + //{ + // MainPage.Log($"鐣岄潰鍒囨崲寮傚父:{ex.Message}"); + //} + MainPage.CurPageIndex = 3; #region 涓汉淇℃伅 topbg = new FrameLayout() { diff --git a/HDL_ON/UI/UI2/UserPage.cs b/HDL_ON/UI/UI2/UserPage.cs index 78690ae..28e34a8 100644 --- a/HDL_ON/UI/UI2/UserPage.cs +++ b/HDL_ON/UI/UI2/UserPage.cs @@ -91,7 +91,7 @@ { try { - bodyView = this; + bodyView = this;//1 bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; ContextView = new FrameLayout() { @@ -104,12 +104,10 @@ { Y = Application.GetRealHeight(607), Height = Application.GetMinRealAverage(60), - //BackgroundColor = CSS_Color.BackgroundColor }; bodyView.AddChidren(navigationView); if (MainPage.Increase) { - //ContextView.Height = Application.GetRealHeight(618 + 20); navigationView.Y = Application.GetRealHeight(597 + 5); navigationView.Height = Application.GetRealHeight(70 - 5); } @@ -117,9 +115,9 @@ LoadEventList(); - var homePage = new HomePage(); - ContextView.AddChidren(homePage); - homePage.LoadPage(); + //var homePage = new HomePage(); + //ContextView.AddChidren(homePage); + //homePage.LoadPage(); if (!MainPage.NoLoginMode) { diff --git a/HDL_ON/UI/UI2/UserPageBLL.cs b/HDL_ON/UI/UI2/UserPageBLL.cs index b7c69dd..2dddfeb 100644 --- a/HDL_ON/UI/UI2/UserPageBLL.cs +++ b/HDL_ON/UI/UI2/UserPageBLL.cs @@ -12,26 +12,8 @@ void LoadEventList() { LoadEvent_NavigationSelection(); - LoadEvent_RefreshData(); } - /// <summary> - /// 鍒锋柊浣忓畢鏁版嵁 - /// </summary> - void LoadEvent_RefreshData() - { - //ContextView.BeginHeaderRefreshingAction = () => { - // if (CurAnimationEffect == 0) - // { - // Common.ApiUtlis.Ins.DownloadData(); - // ContextView.RemoveAll(); - // var homePage = new HomePage(); - // ContextView.AddChidren(homePage); - // homePage.LoadPage(); - // ContextView.EndHeaderRefreshing(); - // } - //}; - } /// <summary> /// 鍔犺浇瀵艰埅鏍忕偣鍑讳簨浠� diff --git a/SiriIntents/Server/HttpUtil.cs b/SiriIntents/Server/HttpUtil.cs index 8d4483c..dc7aca0 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"; + //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; + public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com"; const string APP_KEY = "HDL-HOME-APP-TEST"; const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"; //public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm -- Gitblit v1.8.0