DLL/IOS/EZSDK.IOS.dllBinary files differ
HDL-ON_Android/Assets/Language.ini
@@ -664,6 +664,14 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. @@ -2001,7 +2009,17 @@ 676=中 677=高 678=当前用户数据已清空,即将返回上一页。 679=群控 679=组控 680=炫彩开关 681=自动炫彩测试 682=群组 683=该时间无效 684=长度超出范围 685=注:用户管理仅可对已添加用户进行管理。如需添加新用户,请前往锁端进行相关操作。 @@ -3339,6 +3357,13 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. @@ -4672,7 +4697,12 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. @@ -5994,6 +6024,15 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. HDL-ON_Android/Assets/Phone/Classification/Room/HomePagebg.png
HDL-ON_Android/Assets/Phone/FunctionIcon/DoorLock/VideoDoorlockBatteryManagementBg.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/groupControl_blue.pngHDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/groupControl_white.pngHDL-ON_Android/Assets/Phone/FunctionIcon/Music/MusicPlayOnIcon.pngHDL-ON_Android/HDL-ON_Android.csproj
@@ -401,7 +401,6 @@ <AndroidAsset Include="Assets\Phone\LogicIcon\selectlocation.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\ColorfulBar.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\groupControl_blue.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\GroupControl_white.png" /> <AndroidAsset Include="Assets\h5\index.html" /> <AndroidAsset Include="Assets\h5\static\index.63b34199.css" /> <AndroidAsset Include="Assets\h5\static\images\coal-save-ic.png" /> @@ -455,6 +454,9 @@ <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\DoorlockHelpImage3.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\DoorlockHelpImage4.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HorseRaceLampIcon.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\VideoDoorlockBatteryManagementBg.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\groupControl_white.png" /> <AndroidAsset Include="Assets\Phone\Classification\Room\HomePagebg.png" /> </ItemGroup> <ItemGroup> <AndroidResource Include="Resources\values\colors.xml" /> 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.1" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202307061"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.0.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202307261"> <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <!--友盟--> HDL-ON_Android/Resources/Resource.designer.cs
@@ -14,7 +14,7 @@ { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.8.165")] public partial class Resource { HDL-ON_iOS/Assets.xcassets/picture_bg.imageset/picture_bg.pngHDL-ON_iOS/Assets.xcassets/picture_bg.imageset/picture_bg@2x.pngHDL-ON_iOS/Assets.xcassets/preview_enlarge.imageset/preview_enlarge.pngHDL-ON_iOS/Assets.xcassets/preview_enlarge.imageset/preview_enlarge@2x.pngHDL-ON_iOS/Assets.xcassets/preview_enlarge.imageset/preview_enlarge@3x.png
HDL-ON_iOS/Assets.xcassets/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel.pngHDL-ON_iOS/Assets.xcassets/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@2x.pngHDL-ON_iOS/Assets.xcassets/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@3x.png
HDL-ON_iOS/Assets.xcassets/preview_play_btn.imageset/preview_play_btn.pngHDL-ON_iOS/Assets.xcassets/preview_play_btn.imageset/preview_play_btn@2x.pngHDL-ON_iOS/Assets.xcassets/preview_play_btn.imageset/preview_play_btn@3x.png
HDL-ON_iOS/Assets.xcassets/preview_play_btn_sel.imageset/preview_play_btn_sel.pngHDL-ON_iOS/Assets.xcassets/preview_play_btn_sel.imageset/preview_play_btn_sel@2x.pngHDL-ON_iOS/Assets.xcassets/preview_play_btn_sel.imageset/preview_play_btn_sel@3x.png
HDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn .imageset/Contents.json
New file @@ -0,0 +1,23 @@ { "images" : [ { "filename" : "preview_stoppaly_btn .png", "idiom" : "universal", "scale" : "1x" }, { "filename" : "preview_stoppaly_btn @2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "preview_stoppaly_btn @3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } HDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn .imageset/preview_stoppaly_btn .png
HDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn .imageset/preview_stoppaly_btn @2x.png
HDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn .imageset/preview_stoppaly_btn @3x.png
HDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn_sel.imageset/Contents.json
@@ -1,13 +1,13 @@ { "images" : [ { "idiom" : "universal", "filename" : "preview_stoppaly_btn_sel.png", "idiom" : "universal", "scale" : "1x" }, { "idiom" : "universal", "filename" : "preview_stoppaly_btn_sel@2x.png", "idiom" : "universal", "scale" : "2x" }, { @@ -16,7 +16,7 @@ } ], "info" : { "version" : 1, "author" : "xcode" "author" : "xcode", "version" : 1 } } HDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn_sel.imageset/preview_stoppaly_btn_sel.pngHDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn_sel.imageset/preview_stoppaly_btn_sel@2x.pngHDL-ON_iOS/Assets.xcassets/preview_stoppaly_btn_sel.imageset/preview_stoppaly_btn_sel@3x.png
HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn .imageset/Contents.json
@@ -1,22 +1,23 @@ { "images" : [ { "idiom" : "universal", "filename" : "preview_stopplay_btn .png", "idiom" : "universal", "scale" : "1x" }, { "idiom" : "universal", "filename" : "preview_stopplay_btn @2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "preview_stopplay_btn @3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "version" : 1, "author" : "xcode" "author" : "xcode", "version" : 1 } } HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn .imageset/preview_stopplay_btn .pngHDL-ON_iOS/Assets.xcassets/preview_stopplay_btn .imageset/preview_stopplay_btn @2x.pngHDL-ON_iOS/Assets.xcassets/preview_stopplay_btn .imageset/preview_stopplay_btn @3x.png
HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn.imageset/Contents.json
@@ -1,13 +1,13 @@ { "images" : [ { "idiom" : "universal", "filename" : "preview_stopplay_btn .png", "idiom" : "universal", "scale" : "1x" }, { "idiom" : "universal", "filename" : "preview_stopplay_btn @2x.png", "idiom" : "universal", "scale" : "2x" }, { @@ -16,7 +16,7 @@ } ], "info" : { "version" : 1, "author" : "xcode" "author" : "xcode", "version" : 1 } } HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn .pngHDL-ON_iOS/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn @2x.pngHDL-ON_iOS/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn.png
HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn@2x.png
HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn@3x.png
HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn_sel.imageset/Contents.json
@@ -1,13 +1,13 @@ { "images" : [ { "idiom" : "universal", "filename" : "preview_stopplay_btn_sel.png", "idiom" : "universal", "scale" : "1x" }, { "idiom" : "universal", "filename" : "preview_stopplay_btn_sel@2x.png", "idiom" : "universal", "scale" : "2x" }, { @@ -16,7 +16,7 @@ } ], "info" : { "version" : 1, "author" : "xcode" "author" : "xcode", "version" : 1 } } HDL-ON_iOS/Assets.xcassets/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel.pngHDL-ON_iOS/Assets.xcassets/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@2x.pngHDL-ON_iOS/Assets.xcassets/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@3x.png
HDL-ON_iOS/Assets.xcassets/preview_unvoice_btn.imageset/preview_unvoice_btn.pngHDL-ON_iOS/Assets.xcassets/preview_unvoice_btn.imageset/preview_unvoice_btn@2x.pngHDL-ON_iOS/Assets.xcassets/preview_unvoice_btn.imageset/preview_unvoice_btn@3x.png
HDL-ON_iOS/Assets.xcassets/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel.pngHDL-ON_iOS/Assets.xcassets/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@2x.pngHDL-ON_iOS/Assets.xcassets/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@3x.png
HDL-ON_iOS/Assets.xcassets/preview_voice_btn.imageset/preview_voice_btn.pngHDL-ON_iOS/Assets.xcassets/preview_voice_btn.imageset/preview_voice_btn@2x.pngHDL-ON_iOS/Assets.xcassets/preview_voice_btn.imageset/preview_voice_btn@3x.png
HDL-ON_iOS/Assets.xcassets/preview_voice_btn_sel.imageset/preview_voice_btn_sel.pngHDL-ON_iOS/Assets.xcassets/preview_voice_btn_sel.imageset/preview_voice_btn_sel@2x.pngHDL-ON_iOS/Assets.xcassets/preview_voice_btn_sel.imageset/preview_voice_btn_sel@3x.png
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -25,7 +25,7 @@ <MtouchArch>x86_64</MtouchArch> <MtouchLink>Full</MtouchLink> <MtouchDebug>true</MtouchDebug> <CodesignKey>iPhone Developer</CodesignKey> <CodesignKey>Apple Development: xuebiao huang (4P32GXQWWK)</CodesignKey> <MtouchExtraArgs>-gcc_flags="-dead_strip -ObjC"</MtouchExtraArgs> <CodesignProvision>OnPro230605-1-Dev</CodesignProvision> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> @@ -51,7 +51,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <MtouchArch>ARM64</MtouchArch> <CodesignKey>iPhone Developer: xuebiao huang (4P32GXQWWK)</CodesignKey> <CodesignKey>Apple Development: xuebiao huang (4P32GXQWWK)</CodesignKey> <MtouchDebug>true</MtouchDebug> <MtouchI18n>cjk</MtouchI18n> <MtouchLink>SdkOnly</MtouchLink> @@ -96,9 +96,6 @@ <Reference Include="HDL.Shared.IOS.ScanQRCode"> <HintPath>..\DLL\IOS\HDL.Shared.IOS.ScanQRCode.dll</HintPath> </Reference> <Reference Include="Shared.IOS"> <HintPath>..\DLL\Shared.IOS.dll</HintPath> </Reference> <Reference Include="Shared.IOS.HDLLinphoneSDK"> <HintPath>..\DLL\Linphone\iOS\Shared.IOS.HDLLinphoneSDK.dll</HintPath> </Reference> @@ -116,6 +113,9 @@ </Reference> <Reference Include="EZSDK.IOS"> <HintPath>..\DLL\IOS\EZSDK.IOS.dll</HintPath> </Reference> <Reference Include="Shared.IOS"> <HintPath>..\DLL\Shared.IOS.dll</HintPath> </Reference> </ItemGroup> <ItemGroup> @@ -1562,6 +1562,32 @@ <BundleResource Include="Resources\Phone\FunctionIcon\Light\ColorfulBar.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\groupControl_blue.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\groupControl_white.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockUserManager.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\groupControl.png" /> <BundleResource Include="Resources\Phone\LogicIcon\SeriesIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\NfcIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\DigitalPasswordIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FingerprintIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\DigitalPasswordOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FingerprintOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\NfcOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FaceOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FaceIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\peephole.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\securityipcamez.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\AutomaitcTriggerIcon_blue.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\AutomaitcTriggerIcon_white.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\FaceUnlockImage.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\ManualTriggerIcon_blue.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\ManualTriggerIcon_white.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\TouchUnlcokImage.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage1.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage2.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage3.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage4.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HorseRaceLampIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorlockBatteryManagementBg.png" /> <BundleResource Include="Resources\Phone\Classification\Room\HomePagebg.png" /> <BundleResource Include="Resources\h5\index.html" /> <BundleResource Include="Resources\h5\static\index.63b34199.css" /> <BundleResource Include="Resources\h5\static\images\coal-save-ic.png" /> @@ -1591,30 +1617,6 @@ <BundleResource Include="Resources\h5\static\img\equal-plant-ic.7ef6befa.png" /> <BundleResource Include="Resources\h5\static\img\coal-save-ic.6c5fd125.png" /> <BundleResource Include="Resources\h5\static\font\SourceHanSansCN-Normal.otf" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockUserManager.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\groupControl.png" /> <BundleResource Include="Resources\Phone\LogicIcon\SeriesIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\NfcIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\DigitalPasswordIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FingerprintIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\DigitalPasswordOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FingerprintOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\NfcOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FaceOnIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UserRightsManagement\FaceIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\peephole.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\securityipcamez.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\AutomaitcTriggerIcon_blue.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\AutomaitcTriggerIcon_white.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\FaceUnlockImage.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\ManualTriggerIcon_blue.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\ManualTriggerIcon_white.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\TouchUnlcokImage.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage1.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage2.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage3.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\DoorlockHelpImage4.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HorseRaceLampIcon.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> HDL-ON_iOS/Info.plist
@@ -11,7 +11,7 @@ <key>CFBundleName</key> <string>On Pro</string> <key>CFBundleShortVersionString</key> <string>1.8.1</string> <string>1.9.0</string> <key>CFBundleURLTypes</key> <array> <dict> @@ -36,7 +36,7 @@ </dict> </array> <key>CFBundleVersion</key> <string>1.8.1</string> <string>1.9.0</string> <key>LSApplicationQueriesSchemes</key> <array> <string>weixinULAPI</string> HDL-ON_iOS/Resources/EZ/Base.lproj/EZMain.storyboard
@@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="tPl-Go-Tmu"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="tPl-Go-Tmu"> <device id="retina4_7" orientation="portrait" appearance="light"/> <dependencies> <deployment version="4352" identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> @@ -14,7 +14,7 @@ <navigationController id="tPl-Go-Tmu" sceneMemberID="viewController"> <tabBarItem key="tabBarItem" title="Item" id="EOh-Lf-fJU"/> <navigationBar key="navigationBar" contentMode="scaleToFill" id="9n2-YJ-ND5"> <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> <rect key="frame" x="0.0" y="20" width="375" height="44"/> <autoresizingMask key="autoresizingMask"/> </navigationBar> <connections> @@ -35,7 +35,7 @@ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="R2t-zM-WMl"> <rect key="frame" x="0.0" y="44.5" width="375" height="44"/> <rect key="frame" x="0.0" y="50" width="375" height="44"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="R2t-zM-WMl" id="a02-NK-SeS"> <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> @@ -92,14 +92,14 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="MPX-n4-aGz"> <rect key="frame" x="82.5" y="100" width="210" height="94"/> <rect key="frame" x="82.5" y="120" width="210" height="94"/> <constraints> <constraint firstAttribute="height" constant="94" id="UZa-4y-JdR"/> <constraint firstAttribute="width" constant="210" id="xPZ-ku-beA"/> </constraints> </imageView> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9VU-hP-zCR"> <rect key="frame" x="45" y="247" width="285" height="39"/> <rect key="frame" x="45" y="267" width="285" height="39"/> <constraints> <constraint firstAttribute="height" constant="39" id="Uox-Yc-kob"/> <constraint firstAttribute="width" constant="285" id="wAy-Hx-fAn"/> @@ -112,7 +112,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="p2R-3f-bRm"> <rect key="frame" x="45" y="306" width="285" height="39"/> <rect key="frame" x="45" y="326" width="285" height="39"/> <constraints> <constraint firstAttribute="height" constant="39" id="Dta-c4-zZr"/> <constraint firstAttribute="width" constant="285" id="OT3-hb-4Yn"/> @@ -138,7 +138,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="EWl-dl-v7z"> <rect key="frame" x="45" y="365" width="285" height="39"/> <rect key="frame" x="45" y="385" width="285" height="39"/> <constraints> <constraint firstAttribute="height" constant="39" id="FhC-TV-ezu"/> <constraint firstAttribute="width" constant="285" id="Niw-45-NHf"/> @@ -151,7 +151,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Tbh-3f-Kyo"> <rect key="frame" x="45" y="483" width="285" height="39"/> <rect key="frame" x="45" y="503" width="285" height="39"/> <constraints> <constraint firstAttribute="height" constant="39" id="aUb-DN-crC"/> <constraint firstAttribute="width" constant="285" id="u2c-90-3In"/> @@ -164,7 +164,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ps8-ku-D1c"> <rect key="frame" x="45" y="424" width="285" height="39"/> <rect key="frame" x="45" y="444" width="285" height="39"/> <constraints> <constraint firstAttribute="height" constant="39" id="Mu0-my-UVK"/> <constraint firstAttribute="width" constant="285" id="rGt-yT-DqQ"/> @@ -222,7 +222,7 @@ <color key="backgroundColor" red="0.94117647059999998" green="0.94117647059999998" blue="0.94509803920000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="EZDeviceCell" rowHeight="73" id="Xkg-Dw-w2X" customClass="DeviceListCell"> <rect key="frame" x="0.0" y="44.5" width="375" height="73"/> <rect key="frame" x="0.0" y="50" width="375" height="73"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Xkg-Dw-w2X" id="Iet-JC-0rQ"> <rect key="frame" x="0.0" y="0.0" width="375" height="73"/> @@ -392,7 +392,7 @@ <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="EZCameraCell" id="7Im-ni-l3z"> <rect key="frame" x="0.0" y="44.5" width="375" height="44"/> <rect key="frame" x="0.0" y="50" width="375" height="44"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="7Im-ni-l3z" id="DdN-J1-0fa"> <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> @@ -428,13 +428,13 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="设备序列号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iwL-Ah-WH0"> <rect key="frame" x="20" y="150" width="72" height="17"/> <rect key="frame" x="20" y="170" width="72" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="bezel" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="3Ww-0Y-zfl"> <rect key="frame" x="102" y="138.5" width="253" height="40"/> <rect key="frame" x="102" y="158.5" width="253" height="40"/> <constraints> <constraint firstAttribute="height" constant="40" id="zI7-mv-iMH"/> </constraints> @@ -442,7 +442,7 @@ <textInputTraits key="textInputTraits"/> </textField> <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="1" borderStyle="bezel" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="iAj-OV-oUu"> <rect key="frame" x="102" y="198.5" width="253" height="40"/> <rect key="frame" x="102" y="218.5" width="253" height="40"/> <constraints> <constraint firstAttribute="height" constant="40" id="jeW-7w-Zss"/> </constraints> @@ -450,7 +450,7 @@ <textInputTraits key="textInputTraits"/> </textField> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2s3-2Z-WBg"> <rect key="frame" x="170" y="258.5" width="35" height="33"/> <rect key="frame" x="170" y="278.5" width="35" height="33"/> <fontDescription key="fontDescription" type="system" pointSize="17"/> <state key="normal" title="跳转"> <color key="titleColor" systemColor="darkTextColor"/> @@ -466,7 +466,7 @@ <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="通道号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Gfd-eM-Uwg"> <rect key="frame" x="20" y="210" width="43" height="17"/> <rect key="frame" x="20" y="230" width="43" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> @@ -512,7 +512,7 @@ <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="DemoAPICell" id="wpS-t4-02o"> <rect key="frame" x="0.0" y="44.5" width="375" height="44"/> <rect key="frame" x="0.0" y="50" width="375" height="44"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="wpS-t4-02o" id="8mM-ux-z21"> <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> @@ -551,7 +551,7 @@ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="UVM-wN-ME4"> <rect key="frame" x="0.0" y="44.5" width="375" height="44"/> <rect key="frame" x="0.0" y="50" width="375" height="44"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="UVM-wN-ME4" id="PFk-ak-8nJ"> <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> @@ -587,22 +587,22 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8AH-ts-VAl"> <rect key="frame" x="0.0" y="44" width="187.5" height="100"/> <rect key="frame" x="0.0" y="64" width="187.5" height="100"/> <color key="backgroundColor" red="0.17321318387985229" green="0.74333697557449341" blue="0.45914602279663086" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="100" id="uyH-gu-qB2"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="frT-lO-vkv"> <rect key="frame" x="187.5" y="144" width="187.5" height="100"/> <rect key="frame" x="187.5" y="164" width="187.5" height="100"/> <color key="backgroundColor" red="0.17321318387985229" green="0.74333697557449341" blue="0.45914602279663086" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XlI-CJ-eCW"> <rect key="frame" x="0.0" y="144" width="187.5" height="100"/> <rect key="frame" x="0.0" y="164" width="187.5" height="100"/> <color key="backgroundColor" red="0.93333333330000001" green="0.65490196079999996" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iCt-fy-olc"> <rect key="frame" x="187.5" y="44" width="187.5" height="100"/> <rect key="frame" x="187.5" y="64" width="187.5" height="100"/> <color key="backgroundColor" red="0.85770881180000003" green="0.211302614" blue="0.113631911" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </view> </subviews> @@ -648,7 +648,7 @@ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="VhH-MZ-U0P"> <rect key="frame" x="0.0" y="44.5" width="375" height="44"/> <rect key="frame" x="0.0" y="50" width="375" height="44"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="VhH-MZ-U0P" id="Kep-2I-4hb"> <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> @@ -683,7 +683,7 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdv-eQ-Pot"> <rect key="frame" x="0.0" y="44" width="375" height="211"/> <rect key="frame" x="0.0" y="64" width="375" height="211"/> <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> <constraints> <constraint firstAttribute="width" secondItem="hdv-eQ-Pot" secondAttribute="height" multiplier="16:9" id="qjy-ev-K4v"/> @@ -800,24 +800,23 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wifi_bg" translatesAutoresizingMaskIntoConstraints="NO" id="gFl-PI-CLn"> <rect key="frame" x="0.0" y="44" width="375" height="623"/> <rect key="frame" x="0.0" y="64" width="375" height="603"/> </imageView> <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NRj-hs-uOI"> <rect key="frame" x="0.0" y="44" width="375" height="211"/> <rect key="frame" x="0.0" y="64" width="375" height="211"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1Xz-5f-ZJx"> <rect key="frame" x="0.0" y="0.0" width="375" height="211"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="0.047058823530000002" green="0.054901960780000002" blue="0.062745098040000002" alpha="1" colorSpace="calibratedRGB"/> <constraints> <constraint firstAttribute="width" secondItem="1Xz-5f-ZJx" secondAttribute="height" multiplier="16:9" id="7NS-WA-bEr"/> </constraints> </view> </subviews> <constraints> <constraint firstItem="1Xz-5f-ZJx" firstAttribute="centerY" secondItem="NRj-hs-uOI" secondAttribute="centerY" id="DTc-SB-nnD"/> <constraint firstItem="1Xz-5f-ZJx" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="top" id="DTc-SB-nnD"/> <constraint firstAttribute="width" secondItem="NRj-hs-uOI" secondAttribute="height" multiplier="16:9" id="FHe-T4-BRJ"/> <constraint firstItem="1Xz-5f-ZJx" firstAttribute="width" secondItem="NRj-hs-uOI" secondAttribute="width" id="JfK-ti-Ys7"/> <constraint firstItem="1Xz-5f-ZJx" firstAttribute="height" secondItem="NRj-hs-uOI" secondAttribute="height" id="QcN-dO-GL9"/> <constraint firstAttribute="bottom" secondItem="1Xz-5f-ZJx" secondAttribute="bottom" id="ted-kP-rO7"/> <constraint firstAttribute="trailing" secondItem="1Xz-5f-ZJx" secondAttribute="trailing" id="wA6-Da-kWF"/> <constraint firstItem="1Xz-5f-ZJx" firstAttribute="centerX" secondItem="NRj-hs-uOI" secondAttribute="centerX" id="zUn-i2-2qZ"/> @@ -826,7 +825,7 @@ <viewLayoutGuide key="frameLayoutGuide" id="itJ-oF-sXb"/> </scrollView> <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2bL-GF-xWw"> <rect key="frame" x="0.0" y="44" width="375" height="40"/> <rect key="frame" x="0.0" y="64" width="375" height="40"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="40" id="u99-on-soH"/> @@ -836,7 +835,7 @@ <nil key="highlightedColor"/> </label> <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" 00:00" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yrc-c9-rvb"> <rect key="frame" x="147.5" y="54" width="80" height="24"/> <rect key="frame" x="147.5" y="74" width="80" height="24"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="80" id="O7b-Gn-efp"/> @@ -847,7 +846,7 @@ <nil key="highlightedColor"/> </label> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dTs-1h-o4p"> <rect key="frame" x="157" y="162" width="61" height="93"/> <rect key="frame" x="157" y="182" width="61" height="93"/> <subviews> <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="picture_bg" translatesAutoresizingMaskIntoConstraints="NO" id="oew-Eh-y6G"> <rect key="frame" x="0.0" y="0.0" width="61" height="93"/> @@ -911,7 +910,7 @@ </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1FE-Su-4U4"> <rect key="frame" x="0.0" y="255" width="375" height="37"/> <rect key="frame" x="0.0" y="275" width="375" height="37"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xSp-4i-Jwh"> <rect key="frame" x="0.0" y="0.0" width="75" height="37"/> @@ -942,6 +941,12 @@ <constraint firstAttribute="height" constant="37" id="dpN-py-vBv"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <state key="normal"> <color key="titleColor" red="0.61960784310000006" green="0.62352941179999999" blue="0.62352941179999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <state key="highlighted"> <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lTh-qe-8pV"> <rect key="frame" x="300" y="0.0" width="75" height="37"/> @@ -961,14 +966,17 @@ </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <state key="normal" title="高清"> <color key="titleColor" red="0.70588235294117641" green="0.70588235294117641" blue="0.70588235294117641" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="titleColor" red="0.61960784310000006" green="0.62352941179999999" blue="0.62352941179999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <state key="highlighted"> <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> <connections> <action selector="qualityButtonClicked:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="Hze-u0-cgn"/> </connections> </button> </subviews> <color key="backgroundColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="0.047058823529411764" green="0.054901960784313725" blue="0.062745098039215685" alpha="1" colorSpace="calibratedRGB"/> <constraints> <constraint firstItem="xSp-4i-Jwh" firstAttribute="top" secondItem="1FE-Su-4U4" secondAttribute="top" id="1W5-cF-JRC"/> <constraint firstItem="lTh-qe-8pV" firstAttribute="top" secondItem="1FE-Su-4U4" secondAttribute="top" id="HsY-AZ-lgd"/> @@ -989,10 +997,10 @@ </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7Gq-77-ypg"> <rect key="frame" x="0.0" y="292" width="375" height="375"/> <rect key="frame" x="0.0" y="312" width="375" height="355"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fUI-tR-jyG"> <rect key="frame" x="77.5" y="87.5" width="100" height="100"/> <rect key="frame" x="77.5" y="77.5" width="100" height="100"/> <constraints> <constraint firstAttribute="width" constant="100" id="4pV-lo-eLV"/> <constraint firstAttribute="height" constant="100" id="CFM-rZ-KQg"/> @@ -1008,7 +1016,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4Eh-hh-84T"> <rect key="frame" x="197.5" y="87.5" width="100" height="100"/> <rect key="frame" x="197.5" y="77.5" width="100" height="100"/> <constraints> <constraint firstAttribute="width" constant="100" id="MdX-on-ZlR"/> <constraint firstAttribute="height" constant="100" id="uZ6-ZC-fku"/> @@ -1025,7 +1033,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wEO-O3-gSJ"> <rect key="frame" x="77.5" y="187.5" width="100" height="100"/> <rect key="frame" x="77.5" y="177.5" width="100" height="100"/> <constraints> <constraint firstAttribute="width" constant="100" id="HNG-1d-auy"/> <constraint firstAttribute="height" constant="100" id="fFt-WV-T6O"/> @@ -1041,7 +1049,7 @@ </connections> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Lrx-9r-gJZ"> <rect key="frame" x="0.0" y="287" width="375" height="88"/> <rect key="frame" x="0.0" y="287" width="375" height="68"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Un0-bC-uwU"> <rect key="frame" x="325" y="0.0" width="50" height="50"/> @@ -1059,7 +1067,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cRL-ov-Bad"> <rect key="frame" x="110.5" y="-33" width="154" height="154"/> <rect key="frame" x="110.5" y="-43" width="154" height="154"/> <constraints> <constraint firstAttribute="width" constant="154" id="2qV-nc-X2D"/> <constraint firstAttribute="height" constant="154" id="CCV-cO-2RB"/> @@ -1069,7 +1077,7 @@ <state key="highlighted" image="ptz_bg"/> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="46J-XC-G3M"> <rect key="frame" x="162.5" y="-33" width="50" height="50"/> <rect key="frame" x="162.5" y="-43" width="50" height="50"/> <constraints> <constraint firstAttribute="width" constant="50" id="bG6-29-hdH"/> <constraint firstAttribute="height" constant="50" id="sI2-gA-aFQ"/> @@ -1080,7 +1088,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YpD-H2-J3L"> <rect key="frame" x="162.5" y="71" width="50" height="50"/> <rect key="frame" x="162.5" y="61" width="50" height="50"/> <constraints> <constraint firstAttribute="width" constant="50" id="8xd-ja-amB"/> <constraint firstAttribute="height" constant="50" id="fYS-8a-jfb"/> @@ -1091,7 +1099,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WlW-FZ-jz8"> <rect key="frame" x="214.5" y="18" width="50" height="50"/> <rect key="frame" x="214.5" y="8" width="50" height="50"/> <constraints> <constraint firstAttribute="width" constant="50" id="JyV-sT-9Nd"/> <constraint firstAttribute="height" constant="50" id="bVy-Jx-0Yf"/> @@ -1102,7 +1110,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="g5e-Uk-Wgs"> <rect key="frame" x="110.5" y="19" width="50" height="50"/> <rect key="frame" x="110.5" y="9" width="50" height="50"/> <constraints> <constraint firstAttribute="width" constant="50" id="ZN7-OU-GCA"/> <constraint firstAttribute="height" constant="50" id="et2-oA-SKp"/> @@ -1130,7 +1138,7 @@ </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IqL-eW-ddl"> <rect key="frame" x="0.0" y="287" width="375" height="88"/> <rect key="frame" x="0.0" y="287" width="375" height="68"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j3z-1C-gSQ"> <rect key="frame" x="325" y="0.0" width="50" height="50"/> @@ -1148,7 +1156,7 @@ </connections> </button> <imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="preview_talkback" highlightedImage="spkImg" translatesAutoresizingMaskIntoConstraints="NO" id="SdD-om-sXP"> <rect key="frame" x="137.5" y="-6" width="100" height="100"/> <rect key="frame" x="137.5" y="-16" width="100" height="100"/> <gestureRecognizers/> <constraints> <constraint firstAttribute="height" constant="100" id="5Av-B7-ISV"/> @@ -1168,7 +1176,7 @@ </constraints> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xQS-rQ-Xez"> <rect key="frame" x="197.5" y="187.5" width="100" height="100"/> <rect key="frame" x="197.5" y="177.5" width="100" height="100"/> <constraints> <constraint firstAttribute="width" constant="100" id="Gjc-CC-41w"/> <constraint firstAttribute="height" constant="100" id="Kpb-pS-Xes"/> @@ -1250,7 +1258,7 @@ </constraints> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nkn-oC-NfP"> <rect key="frame" x="0.0" y="44" width="40" height="40"/> <rect key="frame" x="17.5" y="64" width="40" height="40"/> <constraints> <constraint firstAttribute="height" constant="40" id="WQV-Fb-Hpn"/> <constraint firstAttribute="width" constant="40" id="rqc-sI-jaX"/> @@ -1262,7 +1270,7 @@ </connections> </button> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yYv-tJ-QCV"> <rect key="frame" x="160.5" y="122.5" width="54" height="54"/> <rect key="frame" x="160.5" y="142.5" width="54" height="54"/> <constraints> <constraint firstAttribute="width" constant="54" id="TXE-KQ-iJl"/> <constraint firstAttribute="height" constant="54" id="nqy-4G-kEq"/> @@ -1275,7 +1283,7 @@ </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YwB-6z-DKL"> <rect key="frame" x="0.0" y="134.5" width="375" height="30"/> <rect key="frame" x="0.0" y="154.5" width="375" height="30"/> <constraints> <constraint firstAttribute="height" constant="30" id="eMk-ij-ZRD"/> </constraints> @@ -1284,22 +1292,89 @@ <nil key="highlightedColor"/> </label> <label hidden="YES" opaque="NO" userInteractionEnabled="NO" alpha="0.69999999999999996" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3XK-Ur-ZIj"> <rect key="frame" x="16" y="139" width="0.0" height="0.0"/> <rect key="frame" x="16" y="159" width="0.0" height="0.0"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <nil key="highlightedColor"/> </label> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sMv-Yh-W5N"> <rect key="frame" x="0.0" y="312" width="375" height="355"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="---" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8Fe-E7-C5g"> <rect key="frame" x="32" y="46.5" width="311" height="21"/> <fontDescription key="fontDescription" type="system" pointSize="17"/> <color key="textColor" red="0.090196078430000007" green="0.094117647060000004" blue="0.29411764709999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="aq5-rn-Dgo" customClass="HDLEZOPButton"> <rect key="frame" x="142.5" y="117.5" width="84.5" height="120"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="忽略" image="hdl_ez_cat_eyes_ignore"> <color key="titleColor" red="0.10588235294117647" green="0.1764705882352941" blue="0.30196078431372547" alpha="1" colorSpace="calibratedRGB"/> </state> <connections> <action selector="clickCalloutIgnoreAction:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="fTQ-p0-9jk"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2bC-B5-gMZ" customClass="HDLEZOPButton"> <rect key="frame" x="259" y="117.5" width="84" height="120"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="接听" image="hdl_ez_cat_eyes_answer"> <color key="titleColor" red="0.10588235294117647" green="0.1764705882352941" blue="0.30196078431372547" alpha="1" colorSpace="calibratedRGB"/> </state> <connections> <action selector="clickCalloutAnswerAction:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="2tR-65-1sv"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jPI-nC-uAq" customClass="HDLEZOPButton"> <rect key="frame" x="32" y="117.5" width="78.5" height="120"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <constraints> <constraint firstAttribute="height" constant="120" id="NXb-C0-Nw5"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="挂断" image="hdl_ez_cat_eyes_hang_up"> <color key="titleColor" red="0.1058823529" green="0.1764705882" blue="0.30196078430000001" alpha="1" colorSpace="calibratedRGB"/> </state> <connections> <action selector="clickCalloutHangupAction:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="Szo-xH-Mh6"/> </connections> </button> </subviews> <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <constraints> <constraint firstItem="aq5-rn-Dgo" firstAttribute="centerY" secondItem="jPI-nC-uAq" secondAttribute="centerY" id="0YK-rV-xIW"/> <constraint firstAttribute="trailing" secondItem="8Fe-E7-C5g" secondAttribute="trailing" constant="32" id="8NR-Fc-tPc"/> <constraint firstItem="aq5-rn-Dgo" firstAttribute="leading" secondItem="jPI-nC-uAq" secondAttribute="trailing" constant="32" id="8ht-5u-0y7"/> <constraint firstItem="2bC-B5-gMZ" firstAttribute="height" secondItem="aq5-rn-Dgo" secondAttribute="height" id="B0O-2O-7OG"/> <constraint firstItem="jPI-nC-uAq" firstAttribute="centerY" secondItem="sMv-Yh-W5N" secondAttribute="centerY" id="Fa3-MI-9zW"/> <constraint firstItem="aq5-rn-Dgo" firstAttribute="width" secondItem="jPI-nC-uAq" secondAttribute="width" multiplier="1.07143" id="Jzm-Kq-s1B"/> <constraint firstItem="aq5-rn-Dgo" firstAttribute="top" secondItem="8Fe-E7-C5g" secondAttribute="bottom" constant="50" id="aM7-YH-wta"/> <constraint firstItem="aq5-rn-Dgo" firstAttribute="height" secondItem="jPI-nC-uAq" secondAttribute="height" id="dri-gY-bvB"/> <constraint firstItem="jPI-nC-uAq" firstAttribute="leading" secondItem="sMv-Yh-W5N" secondAttribute="leading" constant="32" id="eUw-x2-5HY"/> <constraint firstItem="2bC-B5-gMZ" firstAttribute="leading" secondItem="aq5-rn-Dgo" secondAttribute="trailing" constant="32" id="eu1-g4-zxI"/> <constraint firstAttribute="trailing" secondItem="2bC-B5-gMZ" secondAttribute="trailing" constant="32" id="fzR-kq-9dw"/> <constraint firstItem="2bC-B5-gMZ" firstAttribute="centerY" secondItem="aq5-rn-Dgo" secondAttribute="centerY" id="jQf-ae-vvC"/> <constraint firstItem="8Fe-E7-C5g" firstAttribute="leading" secondItem="sMv-Yh-W5N" secondAttribute="leading" constant="32" id="p4O-md-aUe"/> <constraint firstItem="2bC-B5-gMZ" firstAttribute="width" secondItem="aq5-rn-Dgo" secondAttribute="width" id="w2D-Ia-3nQ"/> </constraints> </view> </subviews> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstItem="Yrc-c9-rvb" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" constant="10" id="0Cf-Q8-Mwq"/> <constraint firstAttribute="trailing" secondItem="YwB-6z-DKL" secondAttribute="trailing" id="0oZ-sb-kgM"/> <constraint firstItem="YwB-6z-DKL" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="135-mO-STg"/> <constraint firstItem="7Gq-77-ypg" firstAttribute="top" secondItem="1FE-Su-4U4" secondAttribute="bottom" priority="751" id="4Dh-L5-Wxp"/> <constraint firstItem="dTs-1h-o4p" firstAttribute="centerX" secondItem="JEB-Q6-XNh" secondAttribute="centerX" id="16Z-Vr-x9e"/> <constraint firstItem="7Gq-77-ypg" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="bottom" priority="751" constant="37" id="4Dh-L5-Wxp"/> <constraint firstItem="YwB-6z-DKL" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="58C-Bi-adb"/> <constraint firstItem="dTs-1h-o4p" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="7Nq-GR-ypc"/> <constraint firstAttribute="trailing" secondItem="1FE-Su-4U4" secondAttribute="trailing" id="9po-jh-PJt"/> <constraint firstItem="1FE-Su-4U4" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="bottom" id="Aeo-vo-x5Y"/> <constraint firstItem="3qm-Zv-a7S" firstAttribute="top" secondItem="sMv-Yh-W5N" secondAttribute="bottom" id="5fc-VK-Tfj"/> <constraint firstItem="NRj-hs-uOI" firstAttribute="trailing" secondItem="1FE-Su-4U4" secondAttribute="trailing" id="9po-jh-PJt"/> <constraint firstAttribute="trailing" secondItem="NRj-hs-uOI" secondAttribute="trailing" id="G3Q-MC-BpN"/> <constraint firstItem="2bL-GF-xWw" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="JNG-uc-9XA"/> <constraint firstItem="NRj-hs-uOI" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="PXn-FW-8dk"/> @@ -1307,35 +1382,45 @@ <constraint firstItem="1FE-Su-4U4" firstAttribute="top" secondItem="dTs-1h-o4p" secondAttribute="bottom" id="Qae-km-Xxm"/> <constraint firstItem="NRj-hs-uOI" firstAttribute="centerY" secondItem="yYv-tJ-QCV" secondAttribute="centerY" id="TGA-a5-AUm"/> <constraint firstItem="nkn-oC-NfP" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="Tn0-Se-wHE"/> <constraint firstItem="nkn-oC-NfP" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="YSp-TA-bZd"/> <constraint firstItem="sMv-Yh-W5N" firstAttribute="top" secondItem="7Gq-77-ypg" secondAttribute="top" id="TvP-3j-NV3"/> <constraint firstItem="yYv-tJ-QCV" firstAttribute="centerX" secondItem="YwB-6z-DKL" secondAttribute="centerX" id="Yt6-5R-nAw"/> <constraint firstItem="1FE-Su-4U4" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="bottom" id="aO9-KQ-MPh"/> <constraint firstItem="2bL-GF-xWw" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="adY-eM-6Nb"/> <constraint firstItem="NRj-hs-uOI" firstAttribute="centerY" secondItem="YwB-6z-DKL" secondAttribute="centerY" id="cjf-nt-XqE"/> <constraint firstItem="3qm-Zv-a7S" firstAttribute="top" secondItem="gFl-PI-CLn" secondAttribute="bottom" id="fSZ-Xw-PGz"/> <constraint firstItem="gFl-PI-CLn" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="hvI-bX-2fD"/> <constraint firstItem="3XK-Ur-ZIj" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" constant="16" id="hya-DL-nrl"/> <constraint firstItem="sMv-Yh-W5N" firstAttribute="trailing" secondItem="PYB-vu-Xcw" secondAttribute="trailing" id="jzU-g2-HL3"/> <constraint firstItem="1FE-Su-4U4" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="mfp-Y3-aJF"/> <constraint firstItem="7Gq-77-ypg" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="nIY-1B-8KJ"/> <constraint firstItem="NRj-hs-uOI" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="opo-g8-z05"/> <constraint firstAttribute="trailing" secondItem="7Gq-77-ypg" secondAttribute="trailing" id="pjs-uX-99u"/> <constraint firstItem="nkn-oC-NfP" firstAttribute="centerX" secondItem="xSp-4i-Jwh" secondAttribute="centerX" id="qFB-6I-bhK"/> <constraint firstAttribute="trailing" secondItem="2bL-GF-xWw" secondAttribute="trailing" id="sJ1-Mt-Ys4"/> <constraint firstItem="gFl-PI-CLn" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="sJh-Px-GtM"/> <constraint firstAttribute="trailing" secondItem="gFl-PI-CLn" secondAttribute="trailing" id="vZX-0k-C1e"/> <constraint firstItem="3XK-Ur-ZIj" firstAttribute="top" secondItem="2bL-GF-xWw" secondAttribute="bottom" constant="55" id="vyg-ls-OTR"/> <constraint firstItem="Yrc-c9-rvb" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="y5l-xh-jsd"/> <constraint firstItem="sMv-Yh-W5N" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="yPz-fc-ra1"/> </constraints> </view> <navigationItem key="navigationItem" id="vpB-aG-zb3"/> <connections> <outlet property="answerButton" destination="2bC-B5-gMZ" id="T42-Dl-1mx"/> <outlet property="bottomView" destination="7Gq-77-ypg" id="kLP-FN-Tvv"/> <outlet property="callOutAlertLabel" destination="8Fe-E7-C5g" id="h1w-BY-5fi"/> <outlet property="captureButton" destination="wEO-O3-gSJ" id="ABn-Ub-QEs"/> <outlet property="cloudBtn" destination="WYB-ca-Ox6" id="E4S-1L-4uS"/> <outlet property="cloudTip" destination="wXb-RI-dLd" id="bCu-fP-8IF"/> <outlet property="controlButton" destination="fUI-tR-jyG" id="uqI-1T-h8V"/> <outlet property="currentHDStatus" destination="oNR-gT-NPm" id="STe-rh-VhG"/> <outlet property="emptyBtnLeftMargin" destination="ea4-ei-JXX" id="aQh-Jb-qGX"/> <outlet property="emptyButton" destination="MqM-GF-jSr" id="jD7-hz-yfd"/> <outlet property="hangUpButton" destination="jPI-nC-uAq" id="WAF-xK-pJI"/> <outlet property="highButton" destination="skK-Ar-y6h" id="jbk-j5-fCX"/> <outlet property="ignoreButton" destination="aq5-rn-Dgo" id="0J6-cC-KP5"/> <outlet property="largeBackButton" destination="nkn-oC-NfP" id="kwo-DU-hgk"/> <outlet property="largeBtnRightMargin" destination="aid-gD-fi2" id="2eQ-2e-83s"/> <outlet property="largeButton" destination="lTh-qe-8pV" id="feK-gX-fjt"/> <outlet property="largeTitleLabel" destination="2bL-GF-xWw" id="mev-Ko-lDT"/> <outlet property="localRecordButton" destination="xQS-rQ-Xez" id="Z0M-JE-cTx"/> @@ -1344,9 +1429,12 @@ <outlet property="lowButton" destination="UlQ-aK-1VP" id="ISE-DJ-W5I"/> <outlet property="messageLabel" destination="YwB-6z-DKL" id="196-Ds-Vl6"/> <outlet property="middleButton" destination="WSh-Ao-McO" id="vty-N8-cDz"/> <outlet property="playBtnLeftMargin" destination="qZZ-Fc-8jt" id="Fyj-20-v8W"/> <outlet property="playButton" destination="xSp-4i-Jwh" id="DUU-ap-reQ"/> <outlet property="playerPlayButton" destination="yYv-tJ-QCV" id="EIB-lc-14l"/> <outlet property="playerView" destination="1Xz-5f-ZJx" id="tYS-5X-mCe"/> <outlet property="playerViewBottomMargin" destination="ted-kP-rO7" id="oFs-an-sCu"/> <outlet property="playerViewWHRatio" destination="7NS-WA-bEr" id="nAT-Lb-Z7I"/> <outlet property="ptzCloseButton" destination="Un0-bC-uwU" id="pBM-jg-Hsv"/> <outlet property="ptzControlButton" destination="cRL-ov-Bad" id="dO9-KY-Fpn"/> <outlet property="ptzDownButton" destination="YpD-H2-J3L" id="9Hs-IT-QQk"/> @@ -1358,6 +1446,8 @@ <outlet property="qualityButton" destination="JEB-Q6-XNh" id="z41-pC-jcF"/> <outlet property="qualityView" destination="dTs-1h-o4p" id="cwe-H0-P0z"/> <outlet property="scrollView" destination="NRj-hs-uOI" id="eoY-a5-7Nt"/> <outlet property="scrollViewTopMargin" destination="PXn-FW-8dk" id="ROR-nh-sCL"/> <outlet property="scrollViewWHRatio" destination="FHe-T4-BRJ" id="VDa-Ms-cmg"/> <outlet property="speakImageView" destination="SdD-om-sXP" id="vut-X7-g34"/> <outlet property="streamPlayBtn" destination="X2B-Km-Emd" id="wjk-zR-FDC"/> <outlet property="streamTypeLabel" destination="5WH-Ih-9Yw" id="azv-2u-5FX"/> @@ -1366,6 +1456,7 @@ <outlet property="talkView" destination="IqL-eW-ddl" id="hTy-iu-CUA"/> <outlet property="talkViewContraint" destination="IcU-Zd-4MD" id="vMR-vH-k7J"/> <outlet property="toolBar" destination="1FE-Su-4U4" id="CTH-vb-IfL"/> <outlet property="videoCallOutView" destination="sMv-Yh-W5N" id="RBZ-2y-YXA"/> <outlet property="voiceButton" destination="tAW-X2-E9K" id="N5O-Qz-qd6"/> <outlet property="zoomSizeLabel" destination="3XK-Ur-ZIj" id="vYD-CM-uoE"/> </connections> @@ -1392,7 +1483,7 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kQU-Pc-qqv"> <rect key="frame" x="0.0" y="44" width="375" height="211"/> <rect key="frame" x="0.0" y="64" width="375" height="211"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <gestureRecognizers/> <constraints> @@ -1403,7 +1494,7 @@ </connections> </view> <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SJH-Sa-TMv"> <rect key="frame" x="0.0" y="44" width="375" height="40"/> <rect key="frame" x="0.0" y="64" width="375" height="40"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="40" id="o94-Gh-tdc"/> @@ -1413,7 +1504,7 @@ <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3j6-e7-ztE"> <rect key="frame" x="0.0" y="255" width="375" height="44"/> <rect key="frame" x="0.0" y="275" width="375" height="44"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Bu9-Qz-3Ij"> <rect key="frame" x="187.5" y="0.0" width="187.5" height="44"/> @@ -1472,7 +1563,7 @@ </constraints> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hY1-Ac-Oot"> <rect key="frame" x="0.0" y="44" width="40" height="40"/> <rect key="frame" x="0.0" y="64" width="40" height="40"/> <constraints> <constraint firstAttribute="height" constant="40" id="AFV-2p-wo1"/> <constraint firstAttribute="width" constant="40" id="h15-cw-wZH"/> @@ -1483,7 +1574,7 @@ </connections> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="buq-PS-h5p"> <rect key="frame" x="0.0" y="195" width="375" height="60"/> <rect key="frame" x="0.0" y="215" width="375" height="60"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Z3E-1u-wEn"> <rect key="frame" x="0.0" y="23" width="60" height="37"/> @@ -1492,6 +1583,7 @@ <constraint firstAttribute="width" constant="60" id="mZh-Ks-yHR"/> </constraints> <state key="normal" image="preview_play_btn"/> <state key="highlighted" image="preview_play_btn_sel"/> <connections> <action selector="playButtonClicked:" destination="I6z-uV-dEU" eventType="touchUpInside" id="nzq-1I-c5F"/> </connections> @@ -1503,6 +1595,7 @@ <constraint firstAttribute="height" constant="37" id="nC8-FN-WAT"/> </constraints> <state key="normal" image="preview_voice_btn"/> <state key="highlighted" image="preview_voice_btn_sel"/> <connections> <action selector="voiceButtonClicked:" destination="I6z-uV-dEU" eventType="touchUpInside" id="aAV-1Z-FGI"/> </connections> @@ -1520,7 +1613,7 @@ </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ruu-Hg-3Tx"> <rect key="frame" x="0.0" y="0.0" width="34" height="20"/> <rect key="frame" x="20" y="0.0" width="34" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="0Xh-uc-DaE"/> </constraints> @@ -1529,7 +1622,7 @@ <nil key="highlightedColor"/> </label> <slider opaque="NO" contentMode="scaleToFill" semanticContentAttribute="playback" contentHorizontalAlignment="center" contentVerticalAlignment="center" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="e5d-g8-Knj"> <rect key="frame" x="35.5" y="-5" width="303.5" height="31"/> <rect key="frame" x="55.5" y="-5" width="263.5" height="31"/> <constraints> <constraint firstAttribute="height" constant="30" id="4zL-xp-G9T"/> </constraints> @@ -1539,7 +1632,7 @@ </connections> </slider> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ESG-x4-J8R"> <rect key="frame" x="341" y="0.0" width="34" height="20"/> <rect key="frame" x="321" y="0.0" width="34" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="2SN-fe-EDR"/> </constraints> @@ -1575,7 +1668,7 @@ <constraints> <constraint firstItem="Z3E-1u-wEn" firstAttribute="leading" secondItem="buq-PS-h5p" secondAttribute="leading" id="1R2-0e-zLb"/> <constraint firstItem="t6K-Cq-gMh" firstAttribute="leading" secondItem="Z3E-1u-wEn" secondAttribute="trailing" id="4m4-IR-mc0"/> <constraint firstItem="ruu-Hg-3Tx" firstAttribute="leading" secondItem="buq-PS-h5p" secondAttribute="leading" id="7Mx-RJ-l3f"/> <constraint firstItem="ruu-Hg-3Tx" firstAttribute="leading" secondItem="buq-PS-h5p" secondAttribute="leading" constant="20" id="7Mx-RJ-l3f"/> <constraint firstAttribute="bottom" secondItem="7aB-y0-gtH" secondAttribute="bottom" id="7tH-jm-Tc8"/> <constraint firstItem="7aB-y0-gtH" firstAttribute="leading" secondItem="gRk-Pf-zJ6" secondAttribute="trailing" constant="5" id="8Ex-wx-3ye"/> <constraint firstItem="ruu-Hg-3Tx" firstAttribute="top" secondItem="buq-PS-h5p" secondAttribute="top" id="Er7-IE-Hng"/> @@ -1590,12 +1683,12 @@ <constraint firstAttribute="bottom" secondItem="gRk-Pf-zJ6" secondAttribute="bottom" constant="10" id="pO2-v2-n1y"/> <constraint firstItem="e5d-g8-Knj" firstAttribute="centerY" secondItem="ESG-x4-J8R" secondAttribute="centerY" id="pTj-gC-TCd"/> <constraint firstAttribute="height" constant="60" id="tMQ-jL-rdi"/> <constraint firstAttribute="trailing" secondItem="ESG-x4-J8R" secondAttribute="trailing" id="vMR-I6-RPC"/> <constraint firstAttribute="trailing" secondItem="ESG-x4-J8R" secondAttribute="trailing" constant="20" id="vMR-I6-RPC"/> <constraint firstAttribute="trailing" secondItem="7aB-y0-gtH" secondAttribute="trailing" id="vXW-8l-Y0i"/> </constraints> </view> <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="jim-qG-8NV"> <rect key="frame" x="0.0" y="299" width="375" height="368"/> <rect key="frame" x="0.0" y="319" width="375" height="348"/> <color key="backgroundColor" red="0.94117647059999998" green="0.94117647059999998" blue="0.94509803920000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="1" minimumInteritemSpacing="1" id="rBI-Vc-Dgo"> <size key="itemSize" width="106" height="80"/> @@ -1662,14 +1755,14 @@ </connections> </collectionView> <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="no_video" translatesAutoresizingMaskIntoConstraints="NO" id="KsP-XU-bB0"> <rect key="frame" x="140.5" y="361" width="94" height="94"/> <rect key="frame" x="140.5" y="381" width="94" height="94"/> <constraints> <constraint firstAttribute="height" constant="94" id="aF8-gn-fXB"/> <constraint firstAttribute="width" constant="94" id="kaI-f1-60h"/> </constraints> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="空空如也" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pg3-8C-ucI"> <rect key="frame" x="137.5" y="465" width="100" height="20"/> <rect key="frame" x="137.5" y="485" width="100" height="20"/> <constraints> <constraint firstAttribute="width" constant="100" id="lIY-Ce-8Ca"/> <constraint firstAttribute="height" constant="20" id="zIg-E3-en7"/> @@ -1679,7 +1772,7 @@ <nil key="highlightedColor"/> </label> <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ihF-af-cva"> <rect key="frame" x="338.5" y="54" width="26.5" height="12"/> <rect key="frame" x="338.5" y="74" width="26.5" height="12"/> <fontDescription key="fontDescription" type="system" pointSize="10"/> <color key="textColor" systemColor="systemRedColor"/> <nil key="highlightedColor"/> @@ -1687,7 +1780,6 @@ </subviews> <color key="backgroundColor" red="0.94117647059999998" green="0.94117647059999998" blue="0.94509803920000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstItem="3j6-e7-ztE" firstAttribute="top" secondItem="buq-PS-h5p" secondAttribute="bottom" id="3Mc-Kc-zIp"/> <constraint firstItem="kQU-Pc-qqv" firstAttribute="leading" secondItem="6jg-tf-s0b" secondAttribute="leading" id="3Sz-uF-O8o"/> <constraint firstItem="ihF-af-cva" firstAttribute="top" secondItem="0R4-Gk-cpw" secondAttribute="bottom" constant="10" id="4k9-qQ-Y1T"/> <constraint firstItem="hY1-Ac-Oot" firstAttribute="top" secondItem="0R4-Gk-cpw" secondAttribute="bottom" id="9Ug-e9-Uoo"/> @@ -1710,6 +1802,7 @@ <constraint firstAttribute="trailing" secondItem="ihF-af-cva" secondAttribute="trailing" constant="10" id="mtn-nO-5qu"/> <constraint firstAttribute="trailing" secondItem="buq-PS-h5p" secondAttribute="trailing" id="qAj-RS-bdT"/> <constraint firstItem="3j6-e7-ztE" firstAttribute="top" secondItem="kQU-Pc-qqv" secondAttribute="bottom" id="tGf-lM-bPe"/> <constraint firstItem="buq-PS-h5p" firstAttribute="bottom" secondItem="kQU-Pc-qqv" secondAttribute="bottom" id="w1f-hD-qgK"/> <constraint firstItem="SJH-Sa-TMv" firstAttribute="leading" secondItem="6jg-tf-s0b" secondAttribute="leading" id="xkf-hy-wp1"/> <constraint firstItem="jim-qG-8NV" firstAttribute="top" secondItem="3j6-e7-ztE" secondAttribute="bottom" priority="750" id="zW5-Vq-dsE"/> </constraints> @@ -1756,6 +1849,7 @@ <outlet property="noVideoLabel" destination="pg3-8C-ucI" id="pWG-m9-pOS"/> <outlet property="playButton" destination="Z3E-1u-wEn" id="kh9-WC-095"/> <outlet property="playTimeLabel" destination="ruu-Hg-3Tx" id="wAa-dH-XNO"/> <outlet property="playViewWHScale" destination="0Wa-du-utY" id="4f8-NA-Y6I"/> <outlet property="playbackList" destination="jim-qG-8NV" id="dpb-Sy-z2g"/> <outlet property="playerToolbox" destination="buq-PS-h5p" id="1ue-bg-0Vs"/> <outlet property="playerToolboxConstraint" destination="tMQ-jL-rdi" id="STA-TC-Nan"/> @@ -1809,7 +1903,7 @@ <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="MessageCell" rowHeight="75" id="St6-kz-bZE" customClass="MessageListCell"> <rect key="frame" x="0.0" y="44.5" width="375" height="75"/> <rect key="frame" x="0.0" y="50" width="375" height="75"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="St6-kz-bZE" id="gqt-AI-8vk"> <rect key="frame" x="0.0" y="0.0" width="375" height="75"/> @@ -1927,7 +2021,7 @@ <color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <prototypes> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="EZSettingCell" id="Mk7-Ag-WW0"> <rect key="frame" x="0.0" y="49.5" width="375" height="44"/> <rect key="frame" x="0.0" y="55.5" width="375" height="44"/> <autoresizingMask key="autoresizingMask"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Mk7-Ag-WW0" id="Pt3-DC-cCE"> <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> @@ -1947,6 +2041,8 @@ <outlet property="hdSwitch" destination="KBU-5V-GwK" id="lf0-8b-Qeq"/> <outlet property="nVersionLabel" destination="bvq-5A-JW8" id="dqy-G7-H05"/> <outlet property="nameLabel" destination="8Y3-zX-Cnw" id="w24-b8-OXa"/> <outlet property="privacyMaskSwitch" destination="rv3-Sh-Gib" id="Cmw-V7-tnn"/> <outlet property="rightArrowImg" destination="PR2-qZ-cVt" id="g4z-ld-DK0"/> <outlet property="serialLabel" destination="9VV-np-Xv9" id="Vvo-rR-zdY"/> <outlet property="updateImageView" destination="A8K-Mk-xFS" id="qqg-Hg-1rw"/> <outlet property="videoSwitch" destination="eKv-yq-ycl" id="HD9-JX-sBQ"/> @@ -1976,6 +2072,17 @@ <action selector="HDChanged:" destination="3ZH-14-C2h" eventType="valueChanged" id="fHK-6L-vL6"/> </connections> </switch> <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" id="rv3-Sh-Gib"> <rect key="frame" x="0.0" y="0.0" width="51" height="31"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <connections> <action selector="privacyMasking:" destination="3ZH-14-C2h" eventType="valueChanged" id="X9h-ed-zD5"/> </connections> </switch> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="hdl_ez_list_next" id="PR2-qZ-cVt"> <rect key="frame" x="0.0" y="0.0" width="42" height="49"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="设备名" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="8Y3-zX-Cnw"> <rect key="frame" x="0.0" y="0.0" width="72" height="21"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> @@ -2024,7 +2131,7 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入设备名称" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="r1W-d8-Rg7"> <rect key="frame" x="0.0" y="94" width="375" height="40"/> <rect key="frame" x="0.0" y="114" width="375" height="40"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <constraints> <constraint firstAttribute="height" constant="40" id="NLX-OK-XZ7"/> @@ -2034,7 +2141,7 @@ <textInputTraits key="textInputTraits"/> </textField> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xdQ-Ec-12V"> <rect key="frame" x="45" y="194" width="285" height="39"/> <rect key="frame" x="45" y="214" width="285" height="39"/> <constraints> <constraint firstAttribute="width" constant="285" id="F6x-VP-pj1"/> <constraint firstAttribute="height" constant="39" id="eMs-1w-UTL"/> @@ -2046,7 +2153,7 @@ </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="不超过50个字符" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xj6-wT-AiB"> <rect key="frame" x="9" y="145" width="216" height="21"/> <rect key="frame" x="9" y="165" width="216" height="21"/> <constraints> <constraint firstAttribute="height" constant="21" id="H5l-ew-D4h"/> </constraints> @@ -2188,7 +2295,7 @@ <rect key="frame" x="0.0" y="32" width="375" height="635"/> </imageView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Sid-Ff-mRw"> <rect key="frame" x="0.0" y="44" width="375" height="211"/> <rect key="frame" x="0.0" y="64" width="375" height="211"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <gestureRecognizers/> <constraints> @@ -2199,7 +2306,7 @@ </connections> </view> <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" 00:00" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IqR-oy-XmU"> <rect key="frame" x="147.5" y="54" width="80" height="24"/> <rect key="frame" x="147.5" y="74" width="80" height="24"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="80" id="57P-5k-0tb"/> @@ -2210,7 +2317,7 @@ <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XID-G7-Q1F"> <rect key="frame" x="0.0" y="44" width="40" height="40"/> <rect key="frame" x="0.0" y="64" width="40" height="40"/> <constraints> <constraint firstAttribute="width" constant="40" id="AOT-6h-sls"/> <constraint firstAttribute="height" constant="40" id="JO7-Hb-1i7"/> @@ -2222,7 +2329,7 @@ </connections> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b60-F5-UgT"> <rect key="frame" x="0.0" y="195" width="375" height="60"/> <rect key="frame" x="0.0" y="215" width="375" height="60"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a6a-IS-kTU"> <rect key="frame" x="0.0" y="23" width="60" height="37"/> @@ -2311,7 +2418,7 @@ </constraints> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="es2-2O-C6T"> <rect key="frame" x="197.5" y="355" width="100" height="100"/> <rect key="frame" x="197.5" y="375" width="100" height="100"/> <constraints> <constraint firstAttribute="height" constant="100" id="ggm-qd-KNb"/> <constraint firstAttribute="width" constant="100" id="sET-Nc-aei"/> @@ -2329,7 +2436,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uxM-3S-gu1"> <rect key="frame" x="77.5" y="355" width="100" height="100"/> <rect key="frame" x="77.5" y="375" width="100" height="100"/> <constraints> <constraint firstAttribute="width" constant="100" id="76E-yD-MgD"/> <constraint firstAttribute="height" constant="100" id="YTu-Ca-QiC"/> @@ -2408,7 +2515,7 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4ol-dw-GX9"> <rect key="frame" x="45" y="260" width="285" height="39"/> <rect key="frame" x="45" y="280" width="285" height="39"/> <constraints> <constraint firstAttribute="width" constant="285" id="ZIE-YP-8dt"/> <constraint firstAttribute="height" constant="39" id="t3Q-fl-sHA"/> @@ -2420,7 +2527,7 @@ </connections> </button> <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="ex5-eL-x0h"> <rect key="frame" x="0.0" y="80" width="375" height="150"/> <rect key="frame" x="0.0" y="100" width="375" height="150"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="150" id="azy-6S-UKf"/> @@ -2429,10 +2536,10 @@ <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> </textView> <progressView hidden="YES" opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jcN-yM-fWF"> <rect key="frame" x="20" y="313" width="335" height="4"/> <rect key="frame" x="20" y="333" width="335" height="4"/> </progressView> <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="正在更新..." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ckd-hd-wtP"> <rect key="frame" x="20" y="269" width="335" height="21"/> <rect key="frame" x="20" y="289" width="335" height="21"/> <constraints> <constraint firstAttribute="height" constant="21" id="hMV-z6-oh2"/> </constraints> @@ -2485,8 +2592,12 @@ <image name="chuanshujilu--2" width="24" height="24"/> <image name="cloud" width="32" height="32"/> <image name="duijiangji" width="39" height="39"/> <image name="hdl_ez_cat_eyes_answer" width="68" height="68"/> <image name="hdl_ez_cat_eyes_hang_up" width="68" height="68"/> <image name="hdl_ez_cat_eyes_ignore" width="68" height="68"/> <image name="hdl_ez_list_next" width="16" height="16"/> <image name="icon_download_fill" width="20" height="20"/> <image name="large_back_btn" width="10" height="19"/> <image name="large_back_btn" width="12" height="20"/> <image name="logo" width="210" height="94"/> <image name="message" width="39" height="39"/> <image name="no_message" width="94" height="94"/> @@ -2504,10 +2615,10 @@ <image name="preview_barrel" width="65" height="65"/> <image name="preview_barrel_dis" width="65" height="65"/> <image name="preview_barrel_sel" width="65" height="65"/> <image name="preview_enlarge" width="37" height="37"/> <image name="preview_enlarge_btn_sel" width="37" height="37"/> <image name="preview_play_btn" width="37" height="37"/> <image name="preview_play_btn_sel" width="37" height="37"/> <image name="preview_enlarge" width="20" height="20"/> <image name="preview_enlarge_btn_sel" width="20" height="20"/> <image name="preview_play_btn" width="20" height="20"/> <image name="preview_play_btn_sel" width="20" height="20"/> <image name="preview_recording" width="65" height="65"/> <image name="preview_recording_dis" width="65" height="65"/> <image name="preview_recording_sel" width="65" height="65"/> @@ -2517,9 +2628,9 @@ <image name="preview_talkback" width="65" height="65"/> <image name="preview_talkback_dis" width="65" height="65"/> <image name="preview_talkback_sel" width="65" height="65"/> <image name="preview_unvoice_btn" width="37" height="37"/> <image name="preview_voice_btn" width="37" height="37"/> <image name="preview_voice_btn_sel" width="37" height="37"/> <image name="preview_unvoice_btn" width="20" height="20"/> <image name="preview_voice_btn" width="20" height="20"/> <image name="preview_voice_btn_sel" width="20" height="20"/> <image name="ptz_bg" width="154" height="154"/> <image name="setup" width="39" height="39"/> <image name="spkImg" width="155" height="155"/> HDL-ON_iOS/Resources/Language.ini
@@ -664,6 +664,14 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. @@ -2001,7 +2009,17 @@ 676=中 677=高 678=当前用户数据已清空,即将返回上一页。 679=群控 679=组控 680=炫彩开关 681=自动炫彩测试 682=群组 683=该时间无效 684=长度超出范围 685=注:用户管理仅可对已添加用户进行管理。如需添加新用户,请前往锁端进行相关操作。 @@ -3339,6 +3357,13 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. @@ -4672,7 +4697,12 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. @@ -5994,6 +6024,15 @@ 677=High 678=Current user data has been cleared, about to return to the previous page. 679=Group control 680=Colorful switch 681=Test 682=Group 683=The time is invalid 684=Length out of range 685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations. HDL-ON_iOS/Resources/Phone/Classification/Room/HomePagebg.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/DoorLock/VideoDoorlockBatteryManagementBg.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/groupControl_blue.pngHDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/groupControl_white.pngHDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicPlayOnIcon.pngHDL-ON_iOS/Resources/en.lproj/Localizable.strings
@@ -50,6 +50,7 @@ "device_verify_code_wrong"="Incorrect device password."; "device_restart_talk"="Enabling two-way audio. Please wait..."; "device_save_gallery"="Saved to the albums."; "device_save_gallery_failure"="Download failure"; "device_analogue_camera"="Analog Channel"; "device_digital_camera"="Digital Channel"; "device_lan_device_list_title"="LAN Device List"; @@ -72,7 +73,7 @@ "device_open_success"="Success to open the door!"; "device_please_input_door_password"="Input the unlock password"; "device_history"="History"; "device_his_no_more_data"="No more data"; "device_his_no_more_data"="In the end"; "device_temp_pass"="Temporary password"; "device_temp_year"="."; "device_temp_month"="."; @@ -107,6 +108,18 @@ "device_temp_copied"="Copied"; "device_temp_long_tap_copy"="Long press to copy"; "device_temp_sure_to_delete"="Are you sure to delete the temporary password?"; "device_callout_alert_message" = "Doorbell on call..."; "device_callout_hang_up" = "Hang up"; "device_callout_ignore" = "Ignore"; "device_callout_answer" = "Answer"; "device_full_scene_play" = "play"; "device_full_scene_pause" = "Pause"; "device_full_scene_sound" = "Sound"; "device_full_scene_sound_off" = "Sound off"; "device_full_scene_quality" = "Articulation"; "device_full_scene_exit_full" = "Exit"; "device_callout_answer" = "Answered"; "device_callout_no_answer" = "Missed"; "dmessage_title"="Message"; "message_read"="Mark as Read"; @@ -140,8 +153,15 @@ "setting_secure_code"="Encrypt Video and Picture"; "setting_cloud_storage"="Cloud Storage"; "setting_hardware_decoding" = "Hardware decoding"; "setting_privacy_masking" = "Privacy masking"; "setting_sd_card_formatting" = "SD card formatting"; "setting_formatting_alert_message" = "You are currently formatting an SD card"; "setting_opration_fail"="Operation failed."; "setting_opration_success"="Completed."; "setting_privacy_masking_ing"="Running, please try again later"; "setting_privacy_masking_fail"="Setup failed, please try again later"; "setting_sd_card_success"="Successful formatting"; "setting_sd_card_fail"="Formatting failed, please try again"; "setting_switching"="Switching. Please wait..."; "setting_device_security_check"="Security Authentication"; "setting_input_code_plz"="Input the device verification code (6 characters on the device label)."; @@ -224,3 +244,12 @@ //通用 "hdl_ez_common_no_data"="No Data"; "hdl_ez_download"="Download"; "hdl_ez_download_selectPhotos" = "Select a photo"; "hdl_ez_download_takePhoto" = "Take a picture"; "hdl_ez_download_selectFrAlbum" = "Select from the albums"; "hdl_ez_download_cancle"= "Cancle"; "hdl_ez_download_tip" = "Tips"; "hdl_ez_download_auth" = "Please authorize access"; "hdl_ez_download_sure" = "Sure"; "hdl_ez_download_toSet" = "Setting"; HDL-ON_iOS/Resources/zh-Hans.lproj/Localizable.strings
@@ -50,6 +50,7 @@ "device_verify_code_wrong"="设备密码错误"; "device_restart_talk"="正在开启对讲,请稍候..."; "device_save_gallery"="已保存至手机相册"; "device_save_gallery_failure"="下载失败"; "device_analogue_camera"="模拟通道"; "device_digital_camera"="数字通道"; "device_lan_device_list_title"="局域网设备列表"; @@ -67,12 +68,24 @@ "device_account_pw_empty"="帐号或密码不能为空"; "device_lan_preview_title"="局域网预览"; "device_add_device_qr_code"="设备二维码"; "device_callout_alert_message" = "门铃呼叫中..."; "device_callout_hang_up" = "挂断"; "device_callout_ignore" = "忽略"; "device_callout_answer" = "接听"; "device_full_scene_play" = "播放"; "device_full_scene_pause" = "暂停"; "device_full_scene_sound" = "音量"; "device_full_scene_sound_off" = "静音"; "device_full_scene_quality" = "清晰度"; "device_full_scene_exit_full" = "退出全屏"; "device_callout_answer" = "已接"; "device_callout_no_answer" = "未接"; "device_open"="开门"; "device_open_success"="开门成功!"; "device_please_input_door_password"="请输入开锁密码"; "device_history"="历史记录"; "device_his_no_more_data"="没有更多数据"; "device_his_no_more_data"="到底啦"; "device_temp_pass"="临时密码"; "device_temp_year"="年"; "device_temp_month"="月"; @@ -141,8 +154,15 @@ "setting_secure_code"="视频图片加密"; "setting_cloud_storage"="云存储"; "setting_hardware_decoding" = "硬解码"; "setting_privacy_masking" = "隐私遮蔽"; "setting_sd_card_formatting" = "SD卡格式化"; "setting_formatting_alert_message" = "您当前正在格式化SD卡"; "setting_opration_fail"="操作失败"; "setting_opration_success"="操作成功"; "setting_privacy_masking_ing"="正在执行中,请稍后再试"; "setting_privacy_masking_fail"="设置失败,请稍后再试"; "setting_sd_card_success"="格式化成功"; "setting_sd_card_fail"="格式化失败,请重新再试"; "setting_switching"="正在切换,请稍候..."; "setting_device_security_check"="设备操作安全验证"; "setting_input_code_plz"="请输入该设备的设备验证码(设备标签上的6位字母)"; @@ -225,3 +245,12 @@ //通用 "hdl_ez_common_no_data"="暂无数据"; "hdl_ez_download"="下载"; "hdl_ez_download_selectPhotos" = "选取照片"; "hdl_ez_download_takePhoto" = "拍照"; "hdl_ez_download_selectFrAlbum" = "从相册选取"; "hdl_ez_download_cancle"= "取消"; "hdl_ez_download_tip" = "温馨提示"; "hdl_ez_download_auth" = "请打开访问权限"; "hdl_ez_download_sure" = "确定"; "hdl_ez_download_toSet" = "去设置"; HDL_ON/Common/ApiUtlis.cs
@@ -104,6 +104,11 @@ code = Ins.HttpRequest.RefreshToken(); if (code != StateCode.SUCCESS) { if (waitPage != null) { waitPage.RemoveFromParent(); waitPage = null; } MainPage.Log($"刷新token失败"); return; } @@ -112,6 +117,11 @@ code = Ins.HttpRequest.GetHomePager(); if (code != StateCode.SUCCESS) { if (waitPage != null) { waitPage.RemoveFromParent(); waitPage = null; } MainPage.Log($"刷新住宅信息失败"); return; } @@ -120,6 +130,11 @@ code = Ins.HttpRequest.GetUserInfo(); if (code != StateCode.SUCCESS) { if (waitPage != null) { waitPage.RemoveFromParent(); waitPage = null; } MainPage.Log($"刷新个人信息失败"); return; } @@ -178,7 +193,7 @@ FunctionList.List.ClearDatas(); //MainPage.Log($"============设备============开始" + FunctionList.List.Functions.Count); //MainPage.Log($"读取设备信息成功"); //MainPage.Log($"sid列表获取====" + deviceResult.Data.ToString()); MainPage.Log($"sid列表获取====" + deviceResult.Data.ToString()); var deviceList = JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString()); if (deviceList == null) { HDL_ON/Common/HDLCommon.cs
@@ -358,6 +358,14 @@ eSVideoInfo.Lc_AccessToken = json["subToken"].ToString();//"子账号token eSVideoInfo.DeviceSerial = json["devSerial"].ToString();//设备序列号 eSVideoInfo.HomeId = jpushMessageInfo.HomeId; if (json.ContainsKey("msgId") && !string.IsNullOrEmpty(json["msgId"].ToString())) { eSVideoInfo.msgId = json["msgId"].ToString(); } if (json.ContainsKey("currentTime") && !string.IsNullOrEmpty(json["currentTime"].ToString())) { eSVideoInfo.currentTime = json["currentTime"].ToString(); } } else if (interphoneTypeEnum == InterphoneType.HDL.ToString()) { @@ -461,6 +469,7 @@ case "464027401@qq.com": case "13580507523": case "15626203746": case "18316672920": return; } HDL_ON/Common/R.cs
@@ -5,8 +5,39 @@ public static class StringId { /// <summary> /// 群控 /// 注:用户管理仅可对已添加用户进行管理。如需添加新用户,请前往锁端进行相关操作。 /// </summary> public const int VideoDoorlockManagerTip = 685; /// <summary> /// 长度超出范围 /// </summary> public const int LengthOutOfRange = 684; /// <summary> /// 该时间无效 /// </summary> public const int TimeInvalid = 683; //public const int /// <summary> /// 群组(跑马灯分组) /// </summary> public const int HorseRaceLampGroup = 682; /// <summary> /// 自动炫彩测试 /// </summary> public const int CulorfulTest = 681; /// <summary> /// 炫彩开关 /// </summary> public const int ColorfulSwitch = 680; /// <summary> /// 组控 /// </summary> public const int GroupControl = 679; /// <summary> HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -491,48 +491,6 @@ else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appDeviceRefresh/up") { MainPage.Log("设备数据刷新通知"); var deviceResult = new HttpServerRequest().GetDeviceList(); if (deviceResult.Code == StateCode.SUCCESS) { MainPage.Log($"读取设备信息成功"); var deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString()); if (deviceList == null) { deviceList = new DevcieApiPack(); } string delFile = ""; if (FunctionList.List.GetDeviceFunctionList().Count > 0) { for (int i = 0; i < FunctionList.List.GetDeviceFunctionList().Count;) { var localFunction = FunctionList.List.GetDeviceFunctionList()[i]; if (SPK.MusicSpkList().Contains(localFunction.spk)) { i++; continue; } var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId); if (delFile == localFunction.savePath) { i++; continue; } delFile = localFunction.savePath; FunctionList.List.DeleteFunction(localFunction); } } //处理剩下的新增功能 foreach (var newFunction in deviceList.list) { newFunction.SaveFunctionFile(); FunctionList.List.IniFunctionList(newFunction.savePath); } } else { MainPage.Log($"读取云端设备数据失败:Code:{deviceResult.Code}; Msg:{deviceResult.message}"); } } //网关密钥变化 else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/custom/mqtt/secret/change") @@ -879,6 +837,7 @@ //测试账号,不挤下线 switch (UserInfo.Current.userMobileInfo) { case "18316672920": case "15626203746": case "464027401@qq.com": return; HDL_ON/DAL/Server/HttpUtil.cs
@@ -18,8 +18,8 @@ /// 固定域名,正式环境 /// 公共域名就近解析 /// </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 HDL_ON/DAL/Server/NewAPI.cs
@@ -904,7 +904,7 @@ /// <summary> /// 更改门锁用户备注名 /// </summary> public const string Api_Post_setDoorUserRemark = "/home-wisdom/platform/yingshi/lock/user/list"; public const string Api_Post_setDoorUserRemark = "/home-wisdom/platform/yingshi/lock/setDoorUserRemark"; /// <summary> /// 删除用户数字密码 /// </summary> HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -213,8 +213,14 @@ //2.设置萤石子账号的AccessToken到SDK EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(mESVideoInfo.Lc_AccessToken); //3.打开视频播放页面 EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(mESVideoInfo.DeviceSerial); string currentTimeStr = Utlis.GetTimestamp(); // 当前时间 if (string.IsNullOrEmpty(mESVideoInfo.currentTime) && string.IsNullOrEmpty(currentTimeStr) && (long.Parse(currentTimeStr) - long.Parse(mESVideoInfo.currentTime)) > 30000) { // 超时30s EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(mESVideoInfo.DeviceSerial); } else { EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(mESVideoInfo.DeviceSerial, mESVideoInfo.msgId); } } else if (interphoneType == InterphoneType.HDL.ToString()) { @@ -816,6 +822,14 @@ /// 设备序列号 /// </summary> public string DeviceSerial = string.Empty; /// <summary> /// 服务器推送时间 /// </summary> public string currentTime = string.Empty; /// <summary> /// 消息id /// </summary> public string msgId = string.Empty; //========================HDL SIP========================== /// <summary> /// 设备sip账号 interphoneType是HDL时才会有值 HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -234,7 +234,7 @@ //先清空呼叫和监视设备信息 if (clearCallInfo) { //InitCallInfo(null); //InitCallInfo(null);//造成接收呼叫时开锁开锁异常 } HDLSipInfo mHDLSipInfo = GetHDLSipInfo(mHDLCallVideoInfo.HomeId); HDL_ON/Entity/DB_ResidenceData.cs
@@ -96,7 +96,7 @@ { instance = new DB_ResidenceData(); instance.SaveResidenceData(); instance.residenceImage = "Classification/Room/Roombg.png"; instance.residenceImage = "Classification/Room/HomePagebg.png"; instance.HomeGateway = new HomeGatewayInfo() { homeId = "1396717478877241345", @@ -135,7 +135,7 @@ instance = new DB_ResidenceData { }; return instance; } instance.residenceImage = "Classification/Room/Roombg.png"; instance.residenceImage = "Classification/Room/HomePagebg.png"; //初始化住宅功能数据 SpatialInfo.CurrentSpatial.InitRoomListFunctions(); HDL_ON/Entity/Function/Function.cs
@@ -803,6 +803,8 @@ var list = new List<FunctionAttributes>(); if (spk == SPK.GroupControl) { lock (list) { var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); if (gc != null) { @@ -821,7 +823,7 @@ } } } } } else { HDL_ON/HDL_ON.projitems
@@ -561,6 +561,7 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorlockFaceUnlockHelpPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorlockAudioSetupPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorlockBatteryManagementPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\SeriesFunctionListPage.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" /> HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@ /// <summary> /// 版本号 /// </summary> public static string VersionString = "1.8.1"; public static string VersionString = "2.0.0"; ///// <summary> ///// 客户端类型 ///// </summary> @@ -121,7 +121,8 @@ SPK.AirSwitch, SPK.PanelSocket,SPK.ElectricSocket, SPK.MechanicalArm,SPK.IpCam_Imou, SPK.GroupControl SPK.GroupControl, SPK.AvMusic,SPK.MusicStandard }; HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -11,12 +11,16 @@ { public partial class PublicAssmebly { public Button btnTip; public int entryMaxLength = 40; //public Action entrylistener; void EditParaterEvent(Button btnConfirm, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> list, EditText editText, Action<string> callBackAction, FrameLayout contentView, Button btnLine, Button btnCancel, FrameLayout editView, Dialog dialog, int titleId) { var btnTip = new Button() btnTip = new Button() { X = editView.X, Y = editView.Bottom, @@ -151,13 +155,14 @@ etParater.TextChangeEventHandler = (sender, e) => { if (etParater.Text.Length > 20) if (System.Text.Encoding.Default.GetBytes(etParater.Text).Length > entryMaxLength) { etParater.Text = etParater.Text.Remove(20); #if __ANDROID__ etParater.SetSelectionEnd(); #endif //entrylistener?.Invoke(); } }; HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -157,11 +157,11 @@ break; case SPK.MusicStandard: case SPK.AvMusic: //Music.A31MusicModel.Current= new Music.A31MusicModel { functionMusic = function };//当前播放器 //var a31PlayMusicPage = new Music.A31PlayMusicPage(); //MainPage.BasePageView.AddChidren(a31PlayMusicPage); //a31PlayMusicPage.Show(); //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; Music.A31MusicModel.Current = new Music.A31MusicModel { functionMusic = function };//当前播放器 var a31PlayMusicPage = new Music.A31PlayMusicPage(); MainPage.BasePageView.AddChidren(a31PlayMusicPage); a31PlayMusicPage.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.LightCCT: var TureView = new ColorTureLampPage(function); HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -312,7 +312,6 @@ //etAccount.Text = "13143792049"; etAccount.Text = "18688414428";//天河3楼 //etAccount.Text = "18244942707"; //etAccount.Text = "12345678904"; //etAccount.Text = "13418062953"; etAccount.Text = "13138683659"; //etAccount.Text = "15217626103"; @@ -320,12 +319,13 @@ //etAccount.Text = "18321091245"; //etAccount.Text = "13751916353"; etAccount.Text = "13549566666"; etAccount.Text = "18316672920"; etAccount.Text = "support7@hdlautomation.com"; etAccount.Text = "13375012446";//测试服务器 etAccount.Text = "15855403939"; etAccount.Text = "15006564444"; etAccount.Text = "13580507523"; //etAccount.Text = "12345678904";//2.0 测试 萤石 etAccount.Text = "18316672920"; } else { HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -70,19 +70,20 @@ /// <summary> /// 切换显示功能类型区域 /// </summary> FrameLayout changeView; /// <summary> /// 切换显示设备功能按钮 /// </summary> Button btnChangeFunction; /// <summary> /// 切换显示场景功能按钮 /// </summary> Button btnChangeScene; /// <summary> /// 切换显示场组控按钮 /// </summary> Button btnChangeGroupControl; FrameLayout changeBaseView; //FrameLayout changeView; ///// <summary> ///// 切换显示设备功能按钮 ///// </summary> //Button btnChangeFunction; ///// <summary> ///// 切换显示场景功能按钮 ///// </summary> //Button btnChangeScene; ///// <summary> ///// 切换显示场组控按钮 ///// </summary> //Button btnChangeGroupControl; /// <summary> /// 功能显示区域 /// </summary> @@ -116,9 +117,9 @@ #endregion #region 报警信息 Button btnMsgBg; Button btnMsgTime; Button btnMsg; //Button btnMsgBg; //Button btnMsgTime; //Button btnMsg; Button btnMsgIcon; #endregion @@ -164,14 +165,14 @@ }; topView = new FrameLayout() { Height = Application.GetRealHeight(216), Height = Application.GetRealHeight(113),//216), BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, }; bodyView.AddChidren(topView); #else VerticalRefreshLayout refreshLayout = new VerticalRefreshLayout() { Height = Application.GetRealHeight(216), Height = Application.GetRealHeight(113),//216), BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, }; bodyView.AddChidren(refreshLayout); @@ -184,7 +185,7 @@ }; topView = new FrameLayout() { Height = Application.GetRealHeight(216), Height = Application.GetRealHeight(113),//216), }; refreshLayout.AddChidren(topView); #endif @@ -508,57 +509,57 @@ #region msg FrameLayout msgView; msgView = new FrameLayout() { Y = Application.GetRealHeight(164), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(28), }; topView.AddChidren(msgView); //FrameLayout msgView; //msgView = new FrameLayout() //{ // Y = Application.GetRealHeight(164), // Gravity = Gravity.CenterHorizontal, // Width = Application.GetRealWidth(343), // Height = Application.GetRealHeight(28), //}; //topView.AddChidren(msgView); btnMsgBg = new Button() { BackgroundColor = CSS_Color.MainColor,//0x3F4484F4, Alpha = 0.4f, }; msgView.AddChidren(btnMsgBg); //btnMsgBg = new Button() //{ // BackgroundColor = CSS_Color.MainColor,//0x3F4484F4, // Alpha = 0.4f, //}; //msgView.AddChidren(btnMsgBg); btnMsgIcon = new Button() { X = Application.GetRealWidth(12), Gravity = Gravity.CenterVertical, X = Application.GetRealWidth(290), Y = Application.GetRealHeight(35), Width = Application.GetMinRealAverage(24), Height = Application.GetMinRealAverage(24), UnSelectedImagePath = "Collection/MsgIcon.png", SelectedImagePath = "Collection/MsgIconTip.png", }; msgView.AddChidren(btnMsgIcon); topView.AddChidren(btnMsgIcon); btnMsg = new Button() { X = Application.GetRealWidth(10) + btnMsgIcon.Right, Width = Application.GetRealWidth(240), Text = "...", TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, }; msgView.AddChidren(btnMsg); //btnMsg = new Button() //{ // X = Application.GetRealWidth(10) + btnMsgIcon.Right, // Width = Application.GetRealWidth(240), // Text = "...", // TextColor = CSS_Color.MainBackgroundColor, // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, // TextAlignment = TextAlignment.CenterLeft, //}; //msgView.AddChidren(btnMsg); btnMsgTime = new Button() { X = Application.GetRealWidth(299), Width = Application.GetRealWidth(44), Text = "00:00", TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, }; msgView.AddChidren(btnMsgTime); //btnMsgTime = new Button() //{ // X = Application.GetRealWidth(299), // Width = Application.GetRealWidth(44), // Text = "00:00", // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, // TextAlignment = TextAlignment.CenterLeft, //}; //msgView.AddChidren(btnMsgTime); LoadEvent_GotoMessageCenterPage(); @@ -570,9 +571,56 @@ bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 }); if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl) loadNavView(); #endregion #region ContextView functionViews = new List<FrameLayout>(); LoadContentView(); #endregion } catch (Exception ex) { changeView = new FrameLayout() MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); } } void loadNavView() { if(changeBaseView == null) { changeBaseView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealHeight(62), }; bodyView.AddChidren(changeBaseView); } else { changeBaseView.RemoveAll(); } if (contentView == null) { contentView = new PageLayout() { Height = Application.GetRealHeight(310 + 30 + 10 + 100), //20为超出部分 IsShowPoint = false, }; bodyView.AddChidren(contentView); } if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl && FunctionList.List.groupControls.Count > 0) { var changeView = new FrameLayout() { //Y = Application.GetRealHeight(20) + topView.Bottom, Gravity = Gravity.CenterHorizontal, @@ -580,9 +628,9 @@ Height = Application.GetRealHeight(62), BackgroundImagePath = "Collection/ChangeViewbg.png", }; bodyView.AddChidren(changeView); changeBaseView.AddChidren(changeView); btnChangeFunction = new Button() var btnChangeFunction = new Button() { X = Application.GetRealWidth(10), Width = Application.GetRealWidth(114 - 10), @@ -606,7 +654,7 @@ }; changeView.AddChidren(btnLine); btnChangeScene = new Button() var btnChangeScene = new Button() { X = btnLine.Right, Width = Application.GetRealWidth(114 - 10), @@ -628,7 +676,7 @@ }; changeView.AddChidren(btnLine2); btnChangeGroupControl = new Button() var btnChangeGroupControl = new Button() { X = btnLine2.Right, Width = Application.GetRealWidth(114 - 10), @@ -639,10 +687,97 @@ TextAlignment = TextAlignment.Center, }; changeView.AddChidren(btnChangeGroupControl); btnChangeGroupControl.MouseUpEventHandler = (sender, e) => { btnChangeFunction.IsSelected = false; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsBold = false; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; btnChangeGroupControl.IsSelected = true; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeGroupControl.IsBold = true; CurShowTypeContent = 2; contentView.PageIndex = 2; }; btnChangeFunction.MouseUpEventHandler = (sender, e) => { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; CurShowTypeContent = 0; contentView.PageIndex = 0; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; }; btnChangeScene.MouseUpEventHandler = (sender, e) => { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; CurShowTypeContent = 1; contentView.PageIndex = 1; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; }; contentView.PageChange = (sender, e) => { if (contentView.PageIndex == 0) { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; } else if (contentView.PageIndex == 1) { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; } else if (contentView.PageIndex == 2) { btnChangeFunction.IsSelected = false; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsBold = false; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; btnChangeGroupControl.IsSelected = true; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeGroupControl.IsBold = true; } }; } else { changeView = new FrameLayout() var changeView = new FrameLayout() { //Y = Application.GetRealHeight(20) + topView.Bottom, Gravity = Gravity.CenterHorizontal, @@ -650,9 +785,9 @@ Height = Application.GetRealHeight(62), BackgroundImagePath = "Collection/ChangeViewbg.png", }; bodyView.AddChidren(changeView); changeBaseView.AddChidren(changeView); btnChangeFunction = new Button() var btnChangeFunction = new Button() { X = Application.GetRealWidth(10), Width = Application.GetRealWidth(114 - 10), @@ -676,7 +811,7 @@ }; changeView.AddChidren(btnLine); btnChangeScene = new Button() var btnChangeScene = new Button() { X = btnLine.Right, Width = Application.GetRealWidth(114 - 10), @@ -687,31 +822,64 @@ TextAlignment = TextAlignment.Center, }; changeView.AddChidren(btnChangeScene); } #endregion #region ContextView contentView = new PageLayout() btnChangeFunction.MouseUpEventHandler = (sender, e) => { //Y = changeView.Bottom, Height = Application.GetRealHeight(310 + 30 + 10), //20为超出部分 IsShowPoint = false, btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; CurShowTypeContent = 0; contentView.PageIndex = 0; }; bodyView.AddChidren(contentView); functionViews = new List<FrameLayout>(); LoadContentView(); #endregion } catch (Exception ex) btnChangeScene.MouseUpEventHandler = (sender, e) => { MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; CurShowTypeContent = 1; contentView.PageIndex = 1; }; contentView.PageChange = (sender, e) => { if (contentView.PageIndex == 0) { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; } else if (contentView.PageIndex == 1) { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; } }; } contentView.PageIndex = CurShowTypeContent; } /// <summary> /// 加载内容区域 /// </summary> @@ -736,8 +904,10 @@ { if (contentView == null) { waitPage.Hide(); return; } loadNavView(); contentView.RemoveAll(); deviceFunctionView = new VerticalScrolViewLayout(); contentView.AddChidren(deviceFunctionView); @@ -745,7 +915,6 @@ sceneFunctionView = new VerticalScrolViewLayout(); contentView.AddChidren(sceneFunctionView); LoadSceneFunctionControlZone(); contentView.PageIndex = CurShowTypeContent; if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl) { gcFunctionView = new VerticalScrolViewLayout(); @@ -759,6 +928,7 @@ GetUnreadPushMessages(); RegisterGetPushMessageAction(); contentView.PageIndex = CurShowTypeContent; if (waitPage != null) { waitPage.RemoveFromParent(); @@ -819,11 +989,11 @@ foreach (var function in list) { //音乐模块有主从关系,需要特殊处理 if (SPK.MusicSpkList().Contains( function.spk)) { continue; } else //if (SPK.MusicSpkList().Contains( function.spk)) //{ // continue; //} //else { if (!function.collect) continue; @@ -917,6 +1087,7 @@ /// </summary> void LoadGroupControlFunctionControlZone() { #region ContextView gcFunctionView.RemoveAll(); functionViews.Clear(); @@ -964,7 +1135,7 @@ if (index == 0) { var view = new FrameLayout(); deviceFunctionView.AddChidren(view); gcFunctionView.AddChidren(view); var btnNoCollectionBg = new Button() { @@ -1284,7 +1455,7 @@ { btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png"; btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png"; btnCollection.Visible = false; //btnCollection.Visible = false; Button btnPower; btnPower = new Button() { @@ -1431,7 +1602,7 @@ btnName.MouseUpEventHandler = skipControlPageEvent; btnIcon.MouseUpEventHandler = skipControlPageEvent; btnState.MouseUpEventHandler = skipControlPageEvent; //不需要更新状态的动能列表 //不需要更新状态的功能列表 if(!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou) { UpdataFunctionStates(function); HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -238,6 +238,25 @@ } /// <summary> /// 更新功能组控主页 /// </summary> public static void RefreshGroupControlView() { if (bodyView != null) { if (FunctionList.List.groupControls.Count == 0) { bodyView.loadNavView(); bodyView.contentView.PageIndex = 0; } bodyView.LoadGroupControlFunctionControlZone(); } } /// <summary> /// 更新连接状态图标 /// </summary> void CheckLinkStatus() @@ -325,137 +344,9 @@ /// </summary> void LoadEvent_ChangeShowedFunctionType() { btnChangeFunction.MouseUpEventHandler = (sender, e) => { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; CurShowTypeContent = 0; contentView.PageIndex = 0; }; btnChangeScene.MouseUpEventHandler = (sender, e) => if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl && FunctionList.List.groupControls.Count>0) { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; CurShowTypeContent = 1; contentView.PageIndex = 1; }; contentView.PageChange = (sender, e) => { if (contentView.PageIndex == 0) { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; } else if (contentView.PageIndex == 1) { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; } }; if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl) { btnChangeGroupControl.MouseUpEventHandler = (sender, e) => { btnChangeFunction.IsSelected = false; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsBold = false; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; btnChangeGroupControl.IsSelected = true; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeGroupControl.IsBold = true; CurShowTypeContent = 2; contentView.PageIndex = 2; }; btnChangeFunction.MouseUpEventHandler = (sender, e) => { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; CurShowTypeContent = 0; contentView.PageIndex = 0; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; }; btnChangeScene.MouseUpEventHandler = (sender, e) => { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; CurShowTypeContent = 1; contentView.PageIndex = 1; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; }; contentView.PageChange = (sender, e) => { if (contentView.PageIndex == 0) { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; } else if (contentView.PageIndex == 1) { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; btnChangeGroupControl.IsSelected = false; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeGroupControl.IsBold = false; } else if (contentView.PageIndex == 2) { btnChangeFunction.IsSelected = false; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsBold = false; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; btnChangeGroupControl.IsSelected = true; btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeGroupControl.IsBold = true; } }; } } @@ -699,6 +590,11 @@ // } // Control.Ins.SendWriteCommand(function, d); //} else if (function.spk == SPK.GroupControl) { d.Add("on_off", function.trait_on_off.curValue.ToString()); (function as GroupControl).Control(d); } else { d.Add("on_off", function.trait_on_off.curValue.ToString()); @@ -888,9 +784,9 @@ skipPage.LoadPage(backAction); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnMsgBg.MouseUpEventHandler = eventHandler; btnMsgTime.MouseUpEventHandler = eventHandler; btnMsg.MouseUpEventHandler = eventHandler; //btnMsgBg.MouseUpEventHandler = eventHandler; //btnMsgTime.MouseUpEventHandler = eventHandler; //btnMsg.MouseUpEventHandler = eventHandler; btnMsgIcon.MouseUpEventHandler = eventHandler; } @@ -975,8 +871,8 @@ void ShowMesBtnState(PushMessageInfo pushMessageInfo, bool allRead) { if (bodyView == null) return; btnMsg.Text = pushMessageInfo.messageTitle + ": " + pushMessageInfo.messageContent; btnMsgTime.Text = GetUnixToDateTime(pushMessageInfo.createTime); //btnMsg.Text = pushMessageInfo.messageTitle + ": " + pushMessageInfo.messageContent; //btnMsgTime.Text = GetUnixToDateTime(pushMessageInfo.createTime); btnMsgIcon.IsSelected = !allRead; } @@ -986,8 +882,8 @@ void ResetMesBtnRead() { if (bodyView == null) return; btnMsg.Text = "..."; btnMsgTime.Text = "00:00"; //btnMsg.Text = "..."; //btnMsgTime.Text = "00:00"; btnMsgIcon.IsSelected = false; } HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -672,7 +672,7 @@ { case ShowFunction.Series: functionCount = FunctionList.List.GetSeries().Count; functionOnCount = FunctionList.List.GetSeries().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; //functionOnCount = FunctionList.List.GetSeries().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; case ShowFunction.IpCam: functionCount = FunctionList.List.GetIpCamImouList().Count; @@ -844,7 +844,14 @@ TextAlignment = TextAlignment.CenterLeft, Text = "/" + functionCount, }; if (item == ShowFunction.Series) { btnFunctionCount.Text = functionCount.ToString(); } functionView.AddChidren(btnFunctionCount); if (item != ShowFunction.Series) { Button btnOpenCount = new Button() { X = Application.GetRealWidth(16), @@ -859,6 +866,7 @@ BorderWidth = 0, }; functionView.AddChidren(btnOpenCount); } } @@ -876,6 +884,12 @@ case ShowFunction.Series: btnName.TextID = StringId.HorseRaceLamp; functionPageTitleId = StringId.HorseRaceLamp; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { var page2 = new UI2.Classification.SeriesFunctionListPage(); MainPage.BasePageView.AddChidren(page2); page2.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; break; case ShowFunction.Light: #region Light @@ -1196,8 +1210,9 @@ && item != ShowFunction.SecurityMonitoring && item != ShowFunction.DoorLock && ShowFunction.EnergyMonitoring != item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item && ShowFunction.Series != item && ShowFunction.Acst != item) { btnFunctionViewBg.MouseUpEventHandler = (sender, e) => @@ -1437,13 +1452,13 @@ Inverter.Ins.H5Page.JSToNativeAction = (dictionary) => { //var jObj = dictionary; //JObject jObj = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(dictionary)); #if __IOS__ JObject jObj = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(dictionary)); #else var valuePairs = ""; dictionary.TryGetValue("method", out valuePairs); JObject jObj = JObject.Parse(valuePairs); #endif if (!jObj.ContainsKey("method") || !jObj.ContainsKey("data")) { HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
@@ -164,7 +164,7 @@ if (titleId == StringId.Lights) { functionList.AddRange(FunctionList.List.groupControls); //functionList.AddRange(FunctionList.List.groupControls); functionList.AddRange(FunctionList.List.GetLightList()); } else if(titleId == StringId.HorseRaceLamp) HDL_ON/UI/UI2/2-Classification/RoomPage.cs
@@ -1,5 +1,6 @@ using System; using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -89,6 +90,7 @@ var list = room.GetRoomFunctions(false); foreach (var function in list) { if (MainPage.RoomNotSupportFunctionList.Contains(function.spk)) HDL_ON/UI/UI2/2-Classification/SeriesFunctionListPage.cs
New file @@ -0,0 +1,184 @@ using System; using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI.UI2.Classification { /// <summary> /// 跑马灯页面 /// 序列页面 /// </summary> public class SeriesFunctionListPage : FrameLayout { FrameLayout bodyView; public SeriesFunctionListPage() { bodyView = this; } public void LoadPage() { new TopViewDiv(bodyView, Language.StringByID(StringId.HorseRaceLamp)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.BackgroundColor; var functionListView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(603 - 12), }; bodyView.AddChidren(functionListView); var waitPage = new Loading(); bodyView.AddChidren(waitPage); waitPage.Hide(); Dictionary<string, List<Button>> dicGroupButtons = new Dictionary<string, List<Button>>(); List<string> oidList = new List<string>(); foreach(var rgb in FunctionList.List.GetLightList()) { //if(rgb.spk == SPK.LightRGB) { var oid = rgb.sid.Substring(0, 16); if (oidList.Contains(oid)) { continue; } var seriesList = FunctionList.List.GetSeries().FindAll((obj) => obj.sid.StartsWith(oid)); if (seriesList.Count == 0) { continue; } oidList.Add(oid); var list = new List<Function>(); List<Button> groupButtons = new List<Button>(); list.AddRange(seriesList); var groupView = new VerticalScrolViewLayout() { Height = Application.GetRealHeight(44 + 51 * list.Count), BackgroundColor = CSS_Color.MainBackgroundColor, ScrollEnabled = false, }; functionListView.AddChidren(groupView); #region title var titleView = new FrameLayout() { Height = Application.GetRealHeight(44), }; groupView.AddChidren(titleView); var btnTitle = new Button() { X = Application.GetRealWidth(16), TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.MainColor, Text =Language.StringByID( StringId.HorseRaceLampGroup )+ " "+ oidList.Count.ToString(), }; if(Language.CurrentLanguage == "Chinese") { btnTitle.Text = Language.StringByID(StringId.HorseRaceLampGroup) + oidList.Count.ToString(); } titleView.AddChidren(btnTitle); #endregion foreach (var series in list) { groupView.AddChidren(new Button { Height = 1, BackgroundColor = CSS_Color.DividingLineColor, }); var rgbColorfulView = new FrameLayout() { Height = Application.GetRealHeight(50), }; groupView.AddChidren(rgbColorfulView); var btnRgbColorfulTitle = new Button() { X = Application.GetRealWidth(16), TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Text = series.name == rgb.name ? Language.StringByID(StringId.AutomaticColoring) : series.name, }; rgbColorfulView.AddChidren(btnRgbColorfulTitle); var btnColorfulSwitch = new Button() { X = Application.GetRealWidth(320), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(48), Height = Application.GetMinRealAverage(36), UnSelectedImagePath = "Public/Switch.png", SelectedImagePath = "Public/SwitchOn.png", Tag = series.sid, }; rgbColorfulView.AddChidren(btnColorfulSwitch); groupButtons.Add(btnColorfulSwitch); btnColorfulSwitch.MouseUpEventHandler = (sener, e) => { btnColorfulSwitch.IsSelected = !btnColorfulSwitch.IsSelected; var state = btnColorfulSwitch.IsSelected ? "on" : "off"; waitPage.Start(""); new System.Threading.Thread(() => { try { var d = new Dictionary<string, string>(); d.Add("on_off", state); DriverLayer.Control.Ins.SendWriteCommand(series, d); if (state == "on") { Application.RunOnMainThread(() => { List<Button> updataList = new List<Button>(); dicGroupButtons.TryGetValue(((Button)sener).Tag.ToString().Substring(0, 16), out updataList); foreach (var updataTemp in updataList) { updataTemp.IsSelected = false; } btnColorfulSwitch.IsSelected = true; }); } } catch (Exception ex) { MainPage.Log($"序列控制异常:{ex.Message}"); } finally { Application.RunOnMainThread(() => { waitPage.Hide(); }); } }) { IsBackground = true }.Start(); }; } Console.WriteLine("oid: " + oid); dicGroupButtons.TryAdd(oid, groupButtons); functionListView.AddChidren(new Button { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.DividingLineColor, }); } } } } } HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -1112,7 +1112,8 @@ string on_off = GetKeyValue("on_off", dicList); string brightness = GetKeyValue("brightness", dicList); string cct = GetKeyValue(FunctionAttributeKey.CCT, dicList); string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList); //自动化组控 炫彩功能 //string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList); string rgb = GetKeyValue("rgb", dicList); @@ -1138,19 +1139,18 @@ stateStr += "," + Language.StringByID(StringId.ColorTemperature) + cct + "k"; } if (!string.IsNullOrEmpty(colorful)) { stateStr += "," + Language.StringByID(StringId.ColorfulFunction); if (colorful == "on") { stateStr += Language.StringByID(StringId.onLogic); } else if (colorful == "off") { stateStr += Language.StringByID(StringId.offLogic); } } //if (!string.IsNullOrEmpty(colorful)) //{ // stateStr += "," + Language.StringByID(StringId.ColorfulFunction); // if (colorful == "on") // { // stateStr += Language.StringByID(StringId.onLogic); // } // else if (colorful == "off") // { // stateStr += Language.StringByID(StringId.offLogic); // } //} if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) { HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
@@ -549,10 +549,21 @@ if(perColorful != null) { if(perColorful.value == "on") { sceneFunctionInfo += " " + Language.StringByID(StringId.HorseRaceLamp); } else { if (sceneFunction.localFunction.spk == SPK.GroupControl) { sceneFunctionInfo += " " + Language.StringByID(StringId.Close) + " " + Language.StringByID(StringId.HorseRaceLamp); } else { sceneFunctionInfo = Language.StringByID(StringId.Close) + " " + Language.StringByID(StringId.HorseRaceLamp); } } } return sceneFunctionInfo; } HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -1905,13 +1905,13 @@ if (sceneFunction.localFunction.spk == SPK.LightRGB || sceneFunction.localFunction.spk == SPK.GroupControl) { var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful); if (colorfulStatus != null) { isColorful = true; LoadColorfulRow(colorfulStatus); isColorful = colorfulStatus.value == "on"; } //var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful); //if (colorfulStatus != null) //{ // isColorful = true; // LoadColorfulRow(colorfulStatus); // isColorful = colorfulStatus.value == "on"; //} } foreach (var attr in sceneFunction.status) { @@ -1982,7 +1982,18 @@ btnConfrim.MouseUpEventHandler = (sender, e) => { if (sceneFunction.localFunction.spk == SPK.GroupControl) { } if (sceneFunction.localFunction.spk == SPK.GroupControl) { var colorBegin = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulBegin); if (colorBegin != null) { sceneFunction.status.Remove(colorBegin); } var colorEnd = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulEnd); if (colorEnd != null) { sceneFunction.status.Remove(colorEnd); } } else { if (isOnStatus) @@ -2053,6 +2064,7 @@ void UpdataFunctionRow() { contentView.RemoveAll(); for (var i =0;i< functionRowList.Count; i++) { try @@ -2064,6 +2076,11 @@ { if (view.Tag != null) { if (view.Tag.ToString() == FunctionAttributeKey.OnOff) { contentView.AddChidren(view); } if (isOnStatus) { if (view.Tag.ToString() != FunctionAttributeKey.OnOff) @@ -3183,7 +3200,33 @@ /// <param name="btn"></param> void LoadEditDialog_CCT(SceneFunctionStatus trait, Button btn) { if (trait.min == 0) { switch (trait.key) { case FunctionAttributeKey.SetTemp: trait.min = 16; break; case FunctionAttributeKey.CCT: trait.min = 2700; break; } } if (trait.max == 0) { switch (trait.key) { case FunctionAttributeKey.SetTemp: trait.max = 30; break; case FunctionAttributeKey.CCT: trait.max = 6500; break; } } double temp = trait.min; double.TryParse(trait.value, out temp); trait.value = temp.ToString(); HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
@@ -92,7 +92,7 @@ bodyView.BackgroundColor = CSS_Color.BackgroundColor; if (isAdd) { new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView(); new TopViewDiv(bodyView, Language.StringByID(StringId.GroupControl)).LoadTopView(); } else { @@ -115,7 +115,8 @@ { if (pack.Code == StateCode.SUCCESS) { FunctionList.List.groupControls.Remove(groupControl); var delTemp = FunctionList.List.groupControls.Find((obj) => groupControl.sid == obj.sid); FunctionList.List.groupControls.Remove(delTemp); //list.Remove(groupControl); this.RemoveFromParent(); delAction?.Invoke(); @@ -478,13 +479,15 @@ { try { var newEditDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl); //没有更新数据则直接退出 if (newEditDataString == editDataString) { this.RemoveFromParent(); return; } //var newEditDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl); //var newEditDataString1 = Newtonsoft.Json.JsonConvert.SerializeObject(groupControlLightList); //var newEditDataString2 = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl.sids); ////没有更新数据则直接退出 //if (newEditDataString == editDataString && newEditDataString1 == newEditDataString2) //{ // this.RemoveFromParent(); // return; //} groupControl.sids.Clear(); foreach (var light in groupControlLightList) { HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs
@@ -21,12 +21,14 @@ public void LoadPage() { new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView_AddIcon("CombinedDimming", (s,c)=>{ new TopViewDiv(bodyView, Language.StringByID(StringId.GroupControl)).LoadTopView_AddIcon("CombinedDimming", (s, c) => { try { var page = new AddGroupControlPage(null, (newGC)=> { (newGC) => { ReadGroupControlList(); },()=> { }); MainPage.BasePageView.AddChidren(page); @@ -60,7 +62,8 @@ private void ReadGroupControlList() { new System.Threading.Thread(() => { new System.Threading.Thread(() => { var pack = ApiUtlis.Ins.HttpRequest.GetGroupControlList(); if (pack != null) { @@ -68,10 +71,12 @@ { try { var groupControlList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString()); FunctionList.List.groupControls.Clear(); FunctionList.List.groupControls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString()); Application.RunOnMainThread(() => { LoadGroupControlView(groupControlList); LoadGroupControlView(); }); } catch (Exception ex) @@ -90,39 +95,11 @@ } private void LoadGroupControlView(List<GroupControl> list) { #if DEBUG if (list.Count == 0) { list.Add(new GroupControl() { name = "组合调光1", roomIds = new List<string> {}, sid = "00000000000000001", type = "light", }); list.Add(new GroupControl() { name = "组合调光2", roomIds = new List<string> { },//Room.CurrentSpatial.RoomList[0].roomId sid = "00000000000000002", type = "light", }); } #endif if (list.Count == 0) { } else private void LoadGroupControlView() { contentView.RemoveAll(); foreach (var groupControl in list) foreach (var groupControl in FunctionList.List.groupControls) { var functionRow = new RowLayout() { @@ -180,25 +157,35 @@ BackgroundColor = CSS_Color.DividingLineColor, }); EventHandler<MouseEventArgs> eventHandler = (sender, e) => { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { var page = new AddGroupControlPage(groupControl, (newGC) => { (newGC) => { try { if (newGC != null) { Application.RunOnMainThread(() => { groupControl.roomIds = newGC.uids; //groupControl.roomIds = newGC.roomIds; //groupControl.uids = newGC.uids; var localTemp = FunctionList.List.groupControls.Find((obj) => obj.deviceId == newGC.deviceId); localTemp.roomIds = newGC.roomIds; localTemp.uids = newGC.uids; localTemp.sids = newGC.sids; btnFunctionLocationInfo.Text = newGC.GetUidListName(); }); } }catch(Exception ex) } catch (Exception ex) { MainPage.Log($"刷新群控房间信息异常:{ex.Message}"); } },()=> { LoadGroupControlView(FunctionList.List.groupControls); }, () => { LoadGroupControlView(); }); MainPage.BasePageView.AddChidren(page); page.LoadPage(); @@ -217,7 +204,8 @@ TextAlignment = TextAlignment.Center, }; functionRow.AddRightView(btnDelGroupControl); btnDelGroupControl.MouseUpEventHandler = (sender1, e1) => { btnDelGroupControl.MouseUpEventHandler = (sender1, e1) => { var waitPage = new Loading(); this.AddChidren(waitPage); waitPage.Start(""); @@ -234,26 +222,30 @@ { if (pack.Code == StateCode.SUCCESS) { list.Remove(groupControl); LoadGroupControlView(list); var delTemp = FunctionList.List.groupControls.Find((obj) => groupControl.sid == obj.sid); FunctionList.List.groupControls.Remove(delTemp); LoadGroupControlView(); } else { IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); } }catch(Exception ex) } catch (Exception ex) { MainPage.Log($"刷新组控数据异常:{ex.Message}"); } }); } }catch(Exception ex) } catch (Exception ex) { MainPage.Log($"删除组控异常:{ex.Message}"); } finally { Application.RunOnMainThread(() => { Application.RunOnMainThread(() => { if (waitPage != null) { waitPage.Hide(); @@ -268,7 +260,6 @@ } } } HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -629,7 +629,7 @@ { Y = btnResidenceManageIcon.Bottom, Height = Application.GetRealHeight(29), TextID = StringId.CombinedDimming, TextID = StringId.GroupControl, TextAlignment = TextAlignment.Center, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulInfoPage.cs
@@ -41,6 +41,80 @@ }; bodyView.AddChidren(contentView); #region 炫彩开关 contentView.AddChidren(new Button { Height = Application.GetRealHeight(10), BackgroundColor = CSS_Color.BackgroundColor, }); var viewSwitch = new FrameLayout() { Height = Application.GetRealHeight(50), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(viewSwitch); var btnSwitchText = new Button() { X = Application.GetRealWidth(16), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.CulorfulTest, }; viewSwitch.AddChidren(btnSwitchText); var btnColorfulSwitch = new Button() { X = Application.GetRealWidth(314), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(48), Height = Application.GetMinRealAverage(36), UnSelectedImagePath = "Public/Switch.png", SelectedImagePath = "Public/SwitchOn.png", IsSelected = function.GetAttrState(FunctionAttributeKey.Colorful) == "on" }; viewSwitch.AddChidren(btnColorfulSwitch); btnColorfulSwitch.MouseUpEventHandler = (sender, e) => { btnColorfulSwitch.IsSelected = !btnColorfulSwitch.IsSelected; new System.Threading.Thread(() => { try { var controlColorfulState = btnColorfulSwitch.IsSelected ? "on" : "off"; function.SetAttrState(FunctionAttributeKey.Colorful, controlColorfulState); var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Colorful, controlColorfulState); if (controlColorfulState == "on") { var color = function.GetAttrState(FunctionAttributeKey.ColorfulBegin).Split(","); var sendColorString = color[0] + "," + color[1] + "," + color[2]; d.Add(FunctionAttributeKey.ColorfulBegin, sendColorString); color = function.GetAttrState(FunctionAttributeKey.ColorfulEnd).Split(","); sendColorString = color[0] + "," + color[1] + "," + color[2]; d.Add(FunctionAttributeKey.ColorfulEnd, sendColorString); d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime)); } Control.Ins.SendWriteCommand(function, d); } catch (Exception ex) { MainPage.Log($"控制炫彩开关异常:{ex.Message}"); } }) { IsBackground = true }.Start(); }; contentView.AddChidren(new Button { Height = Application.GetRealHeight(10), BackgroundColor = CSS_Color.BackgroundColor, }); #endregion #region 起始颜色 var startView = new FrameLayout() { @@ -87,7 +161,7 @@ btnStartColor.MouseUpEventHandler = (sender, e) => { Action<uint> action = (color) => { btnStartColor.BackgroundColor = color; function.SetAttrState(FunctionAttributeKey.ColorfulBegin, color); //function.SetAttrState(FunctionAttributeKey.ColorfulBegin, color); }; var rgbView = new ColorfulSettingPage(function, action,true); MainPage.BasePageView.AddChidren(rgbView); @@ -197,6 +271,13 @@ }; workHoursView.AddChidren(btnWorkHours); var time = Convert.ToInt32( function.GetAttrState(FunctionAttributeKey.ColorfulTime)); btnWorkHours.Text = time/ 360 + Language.StringByID(StringId.h); btnWorkHours.Text += time / 60 + Language.StringByID(StringId.m); btnWorkHours.Text += time % 60 + Language.StringByID(StringId.s); var waitPage = new Loading(); this.AddChidren(waitPage); @@ -211,11 +292,17 @@ { LoadEditDialog(() => { if(hour == 0 && minute == 0 && second == 0) { new PublicAssmebly().TipMsg(StringId.Tip, StringId.TimeInvalid); return; } btnWorkHours.Text = hour + "时"; btnWorkHours.Text += minute + "分"; btnWorkHours.Text += second + "秒"; new System.Threading.Thread(() => { System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); var d = new Dictionary<string, string>(); function.SetAttrState(FunctionAttributeKey.ColorfulTime, (hour * 360 + minute * 60 + second).ToString()); d.Add(FunctionAttributeKey.ColorfulTime, (hour * 360 + minute * 60 + second).ToString()); Control.Ins.SendWriteCommand(function, d); }) { IsBackground = true }.Start(); @@ -235,8 +322,6 @@ btnWorkHours.MouseUpEventHandler = eventHandler; workHoursView.MouseUpEventHandler = eventHandler; btnWorkHoursRight.MouseUpEventHandler = eventHandler; #endregion HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulSettingPage.cs
@@ -333,26 +333,26 @@ btnConfrim.MouseUpEventHandler = (sender, e) => { backAction?.Invoke(curColor) ; System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); var d = new System.Collections.Generic.Dictionary<string, string>(); if (isSatrtColor) { d.Add(FunctionAttributeKey.ColorfulBegin, redColor + "," + greenColor + "," + blueColor); function.SetAttrState(FunctionAttributeKey.ColorfulBegin, redColor + "," + greenColor + "," + blueColor); var color = function.GetAttrState(FunctionAttributeKey.ColorfulEnd).Split(","); var sendColorString = color[0] + "," + color[1] + "," + color[2]; d.Add(FunctionAttributeKey.ColorfulEnd, sendColorString); d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime)); //var color = function.GetAttrState(FunctionAttributeKey.ColorfulEnd).Split(","); //var sendColorString = color[0] + "," + color[1] + "," + color[2]; //d.Add(FunctionAttributeKey.ColorfulEnd, sendColorString); //d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime)); } else { var color = function.GetAttrState(FunctionAttributeKey.ColorfulBegin).Split(","); var sendColorString = color[0] + "," + color[1] + "," + color[2]; d.Add(FunctionAttributeKey.ColorfulBegin, sendColorString); d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime)); //var color = function.GetAttrState(FunctionAttributeKey.ColorfulBegin).Split(","); //var sendColorString = color[0] + "," + color[1] + "," + color[2]; //d.Add(FunctionAttributeKey.ColorfulBegin, sendColorString); //d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime)); d.Add(FunctionAttributeKey.ColorfulEnd, redColor + "," + greenColor + "," + blueColor); function.SetAttrState(FunctionAttributeKey.ColorfulEnd, redColor + "," + greenColor + "," + blueColor); } //d.Add(FunctionAttributeKey.Colorful, "off"); Control.Ins.SendWriteCommand(function, d); this.RemoveFromParent(); }; HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
@@ -1,5 +1,7 @@ using System; using System.Collections.Generic; using HDL_ON.Common; using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -31,8 +33,15 @@ } } public override void RemoveFromParent() { base.RemoveFromParent(); } public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut) { bodyView.RemoveAll(); btnCollection_Out = btnCollectionIcon; btnFunctionName_Out = btnFunctionNameOut; btnFromFloor_Out = btnFromFloorOut; @@ -92,8 +101,9 @@ //回退刷新信息事件 new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView_SettingIcon( () => { new TopViewDiv(bodyView, Language.StringByID(StringId.GroupControl)).LoadTopView_SettingIcon( () => { var page = new AddGroupControlPage(function, (newGC) => { try @@ -102,9 +112,22 @@ { if (newGC != null) { btnFunctionName.Text = btnFunctionName_Out.Text = function.name; function.roomIds = newGC.uids; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = newGC.GetUidListName(); var localTemp = FunctionList.List.groupControls.Find((obj) => obj.deviceId == newGC.deviceId); if(localTemp!= null) { try { localTemp.sids = newGC.sids; localTemp.name = newGC.name; localTemp.roomIds = newGC.roomIds; localTemp.uids = newGC.uids; } catch { } function = newGC; btnFunctionName_Out.Text = function.name; btnFromFloor_Out.Text = function.GetRoomListName(); LoadPage(btnCollection, btnFunctionName, btnFunctionName); } } }); } @@ -116,7 +139,7 @@ try { this.RemoveFromParent(); UI.HomePage.RefreshFunctionView(); UI.HomePage.RefreshGroupControlView(); UI.RoomPage.bodyView?.ReLoadPage(); UI.FunctionPage.bodyView?.ReLoadPage(); } @@ -157,10 +180,12 @@ } } hadRGB = true; hadDimming = true; } else if (temp.spk == SPK.LightCCT) { hadCCT = true; hadDimming = true; } else if (temp.spk == SPK.LightDimming) { @@ -174,38 +199,17 @@ } //属性设置区域 var attrView = new VerticalScrolViewLayout() VerticalScrolViewLayout attrView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(52), Width = Application.GetRealWidth(343), ScrollEnabled = false, }; //属性设置区域高度 int attrViewHight = Application.GetRealHeight(18 + 22); controlView.AddChidren(attrView); attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) }); if (hadRGB) { hadCCT = true; LoadRgbAttrView(hadCCT,hadColorful); } else if (hadCCT) { LoadCctAttrView(attrView); } else if (hadDimming) { LoadDimmingAttrView(attrView); } var btnSwitch = new Button() btnSwitch = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(466), @@ -233,7 +237,59 @@ }; if (hadRGB) { LoadRgbAttrView(hadCCT,hadColorful); } else if (hadCCT) { LoadCctAttrView(attrView); } else if (hadDimming) { LoadDimmingAttrView(attrView); } else { attrView.AddChidren(new Button() { Height = Application.GetRealHeight(30) }); var btnSwitchIcon = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(102), Width = Application.GetRealWidth(168), Height = Application.GetRealWidth(288), UnSelectedImagePath = "FunctionIcon/Light/RelayBg.png", SelectedImagePath = "FunctionIcon/Light/RelayOnBg.png", IsSelected = function.trait_on_off.curValue.ToString() == "on" }; attrView.AddChidren(btnSwitchIcon); btnSwitchIcon.MouseUpEventHandler = (sender, e) => { if (btnSwitchIcon.IsSelected) { btnSwitchIcon.IsSelected = btnSwitch.IsSelected = false; var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.OnOff, "off"); function.Control(d); } else { btnSwitchIcon.IsSelected = btnSwitch.IsSelected = true; var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.OnOff, "on"); function.Control(d); } }; btnSwitch.MouseUpEventHandler += (sender, e) => { btnSwitchIcon.IsSelected = btnSwitch.IsSelected; }; } } Button btnSwitch; /// <summary> /// 加载调光属性设置控件 @@ -241,88 +297,100 @@ /// <param name="attrView"></param> void LoadDimmingAttrView(VerticalScrolViewLayout attrView) { var dimmingView = new FrameLayout() { Height = Application.GetRealHeight(54 + 11) }; attrView.AddChidren(dimmingView); #region 亮度调节 attrView.AddChidren(new Button { Height = Application.GetRealHeight(50), }); var dimmerView = new FrameLayout() { Height = Application.GetRealHeight(280) }; attrView.AddChidren(dimmerView); var dimmerBar = new WaveSeekBarOn() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(168 - 40), Height = Application.GetRealHeight(288 - 16 - 16), BorderColor = 0x00000000, CornerRadius = Application.GetRealWidth(30), BorderWidth = 0, Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)), IsProgressTextShow = false, }; dimmerView.AddChidren(dimmerBar); var btnBrightnessText = new Button() { X = Application.GetRealWidth(35), Y = Application.GetRealHeight(1), Width = Application.GetRealWidth(224), Height = Application.GetRealHeight(25), TextAlignment = TextAlignment.CenterLeft, Gravity = Gravity.CenterHorizontal, Y = ((100 - Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100), Width = Application.GetRealWidth(56), Height = Application.GetRealWidth(46), UnSelectedImagePath = "FunctionIcon/Light/BrightnessBg.png", TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextID = StringId.Brightness, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, Text = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)) + "%", }; btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + function.GetAttrState(FunctionAttributeKey.Brightness) + "%"; dimmingView.AddChidren(btnBrightnessText); dimmerView.AddChidren(btnBrightnessText); var btnMinValuesText = new Button() { X = Application.GetRealWidth(35), Y = btnBrightnessText.Bottom, Width = Application.GetRealWidth(40), Height = Application.GetRealHeight(21), Text = "0%", TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, }; dimmingView.AddChidren(btnMinValuesText); var dimmerBar = new DiyImageSeekBar() { X = Application.GetRealWidth(45 + 10), Y = Application.GetRealHeight(11), Width = Application.GetRealWidth(220), Height = Application.GetRealHeight(54), SeekBarViewHeight = Application.GetRealHeight(8), ThumbImagePath = "Public/ThumbImage.png", ThumbImageHeight = Application.GetRealHeight(54), ProgressTextColor = CSS_Color.FirstLevelTitleColor, ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, ProgressBarColor = CSS_Color.AuxiliaryColor1, MaxValue = 100, SeekBarPadding = Application.GetRealWidth(20), IsProgressTextShow = false, ProgressChangeDelayTime = 0, }; dimmingView.AddChidren(dimmerBar); dimmerBar.OnProgressChangedEvent = (sender, e) => { btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%"; }; dimmerBar.OnStopTrackingTouchEvent = (sender, e) => if (e == 0 && lastBrightness != 0) { btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%"; btnSwitch.IsSelected = false; lastBrightness = 0; } else { if (lastBrightness == 0) lastBrightness = e; btnSwitch.IsSelected = true; } if (e == 0 || e == 100) { var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, e.ToString()); function.Control(d); }; var btnMaxValuesText = new Button() } else { X = dimmerBar.Right, Y = btnBrightnessText.Bottom, Width = Application.GetRealWidth(55), Height = Application.GetRealHeight(21), Text = "100%", TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds) { function.refreshTime = DateTime.Now; new System.Threading.Thread(() => { var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, e.ToString()); function.Control(d); }) { IsBackground = true }.Start(); } } btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100); btnBrightnessText.Text = dimmerBar.Progress + "%"; }; dimmingView.AddChidren(btnMaxValuesText); #endregion btnSwitch.MouseUpEventHandler += (sender, e) => { if (btnSwitch.IsSelected) { dimmerBar.Progress = 100; } else { dimmerBar.Progress = 0; } btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100); btnBrightnessText.Text = dimmerBar.Progress + "%"; }; } int lastBrightness = 0; /// <summary> /// 加载cct属性设置控件 @@ -330,6 +398,98 @@ /// <param name="attrView"></param> void LoadCctAttrView(VerticalScrolViewLayout attrView) { attrView.AddChidren(new Button { Height = Application.GetRealHeight(20), }); var dimmerView = new FrameLayout() { Height = Application.GetRealHeight(280) }; attrView.AddChidren(dimmerView); var dimmerBar = new WaveSeekBarOn() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(168 - 40), Height = Application.GetRealHeight(288 - 16 - 16), BorderColor = 0x00000000, CornerRadius = Application.GetRealWidth(30), BorderWidth = 0, Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)), IsProgressTextShow = false, }; dimmerView.AddChidren(dimmerBar); var btnBrightnessText = new Button() { Gravity = Gravity.CenterHorizontal, Y = ((100 - Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100), Width = Application.GetRealWidth(56), Height = Application.GetRealWidth(46), UnSelectedImagePath = "FunctionIcon/Light/BrightnessBg.png", TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, Text = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)) + "%", }; dimmerView.AddChidren(btnBrightnessText); dimmerBar.OnProgressChangedEvent = (sender, e) => { if (e == 0 && lastBrightness != 0) { btnSwitch.IsSelected = false; lastBrightness = 0; } else { if (lastBrightness == 0) lastBrightness = e; btnSwitch.IsSelected = true; } if (e == 0 || e == 100) { var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, e.ToString()); function.Control(d); } else { if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds) { function.refreshTime = DateTime.Now; new System.Threading.Thread(() => { var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, e.ToString()); function.Control(d); }) { IsBackground = true }.Start(); } } btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100); btnBrightnessText.Text = dimmerBar.Progress + "%"; }; btnSwitch.MouseUpEventHandler += (sender, e) => { if (btnSwitch.IsSelected) { dimmerBar.Progress = 100; } else { dimmerBar.Progress = 0; } btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100); btnBrightnessText.Text = dimmerBar.Progress + "%"; }; //attrView.AddChidren(new Button() { Height = Application.GetRealHeight(10) }); #region 色温 var cctView = new FrameLayout() { @@ -385,6 +545,7 @@ Y = Application.GetRealHeight(11), Width = Application.GetRealWidth(220), Height = Application.GetRealHeight(54), Progress = 38, }; barColorTemplatrue.MinValue = 27; barColorTemplatrue.MaxValue = 65; @@ -490,6 +651,52 @@ btnWhiteRound.Visible = false; framePickerBack.AddChidren(btnWhiteRound); //当前点击的【点】是否正确 bool pointIsRight = false; //圆的半径(考虑边界,需要设置它的半径比较小一点) int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); string rgbString = "255,255,255"; var rgbTemp = new Light(); colorPicker.MouseUpEventHandler = (sender2, e2) => { var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.RGB, rgbString); function.Control(d); }; colorPicker.ColorChaged += (sender2, e2) => { rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString(); btnCurColor.BackgroundColor = (uint)(0xFF000000 + rgbTemp.GetRGBcolor(rgbString)); var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.RGB, rgbString); function.Control(d); }; colorPicker.MouseDownEventHandler += (sender, e) => { pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y); if (pointIsRight == false) { //点的区域不是圆盘内 return; } //显示白点 btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2; btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2; if (btnWhiteRound.Visible == false) { btnWhiteRound.Visible = true; } }; colorPicker.MouseMoveEventHandler += (sender, e) => { //当鼠标点下事件处理 colorPicker.MouseDownEventHandler(sender, e); }; #region 亮度调节 var btnBrightnessText = new Button() { @@ -535,6 +742,43 @@ }; controlView.AddChidren(dimmerBar); dimmerBar.OnProgressChangedEvent = (sender, e) => { if (e == 0 && lastBrightness != 0) { btnSwitch.IsSelected = false; lastBrightness = 0; } else { if (lastBrightness == 0) lastBrightness = e; btnSwitch.IsSelected = true; } if (e == 0 || e == 100) { var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, e.ToString()); function.Control(d); } else { if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds) { function.refreshTime = DateTime.Now; new System.Threading.Thread(() => { var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, e.ToString()); function.Control(d); }) { IsBackground = true }.Start(); } } }; var btnMaxValuesText = new Button() { X = dimmerBar.Right, @@ -547,6 +791,17 @@ TextSize = CSS_FontSize.PromptFontSize_FirstLevel, }; controlView.AddChidren(btnMaxValuesText); btnSwitch.MouseUpEventHandler += (sender, e) => { if (btnSwitch.IsSelected) { dimmerBar.Progress = 100; } else { dimmerBar.Progress = 0; } }; #endregion int heightMore = 375 - magriHeight-20; @@ -612,6 +867,7 @@ }; barColorTemplatrue.MinValue = 27; barColorTemplatrue.MaxValue = 65; barColorTemplatrue.Progress = 38; barColorTemplatrue.ProgressBarColor = 0x00000000;//全部透明 barColorTemplatrue.ProgressBarUnEnableColor = 0x00000000; barColorTemplatrue.SeekBarBackgroundColor = 0x00000000; @@ -635,7 +891,7 @@ //6500K var btnTempClolorMax = new Button(); btnTempClolorMax.Y = btnTempClolorMin.Y; btnTempClolorMax.X = barColorTemplatrue.Right - Application.GetRealWidth(30); btnTempClolorMax.X = barColorTemplatrue.Right - Application.GetRealWidth(15); btnTempClolorMax.Width = Application.GetRealWidth(54); btnTempClolorMax.Height = Application.GetRealHeight(21); btnTempClolorMax.Text = "6500K"; @@ -658,7 +914,7 @@ var btnGradualChangeText = new Button() { X = Application.GetRealWidth(35), Y = Application.GetRealHeight(375 + heightMore - magriHeight), Y = hadCCT ? Application.GetRealHeight(375 + heightMore - magriHeight) : Application.GetRealHeight(heightMore+10), Width = Application.GetRealWidth(224), Height = Application.GetRealHeight(21), TextAlignment = TextAlignment.CenterLeft, @@ -668,16 +924,17 @@ }; controlView.AddChidren(btnGradualChangeText); var btnGradualChangeMinValuesText = new Button() var btnColorfulEdit = new Button() { X = Application.GetRealWidth(35), Y = btnGradualChangeText.Bottom + Application.GetRealHeight(10), Width = Application.GetRealWidth(22), Height = Application.GetRealHeight(21), UnSelectedImagePath = "Public/Edit.png", Visible = false, }; controlView.AddChidren(btnGradualChangeMinValuesText); btnGradualChangeMinValuesText.MouseUpEventHandler = (sender, e) => { controlView.AddChidren(btnColorfulEdit); btnColorfulEdit.MouseUpEventHandler = (sender, e) => { var rgbView = new ColorfulInfoPage(function); MainPage.BasePageView.AddChidren(rgbView); rgbView.LoadPage(); @@ -686,23 +943,48 @@ var barColorful = new FrameLayout() { X = btnGradualChangeMinValuesText.Right + Application.GetRealWidth(15+5), Y = Application.GetRealHeight(412 + heightMore - magriHeight), X = btnColorfulEdit.Right + Application.GetRealWidth(15 + 5), Width = Application.GetRealWidth(170), //X = Application.GetRealWidth(35), //Width = Application.GetRealWidth(170 + 41), Y = hadCCT ? Application.GetRealHeight(412 + heightMore - magriHeight) : Application.GetRealHeight(heightMore + 50), Height = Application.GetRealHeight(8), BackgroundImagePath = "FunctionIcon/Light/ColorfulBar.png", }; controlView.AddChidren(barColorful); var btnGradualChangeMaxValuesText = new Button() var btnColorfulSwitch = new Button() { X = barColorful.Right + Application.GetRealWidth(8), Y = btnGradualChangeText.Bottom + Application.GetRealHeight(10), Width = Application.GetRealWidth(38), Height = Application.GetRealHeight(24), UnSelectedImagePath = "Public/Switch.png" UnSelectedImagePath = "Public/Switch.png", SelectedImagePath = "Public/SwitchOn.png" }; controlView.AddChidren(btnGradualChangeMaxValuesText); controlView.AddChidren(btnColorfulSwitch); btnColorfulSwitch.MouseUpEventHandler = (sender, e) => { btnColorfulSwitch.IsSelected = !btnColorfulSwitch.IsSelected; new System.Threading.Thread(() => { try { var controlColorfulState = btnColorfulSwitch.IsSelected ? "on" : "off"; function.SetAttrState(FunctionAttributeKey.Colorful, controlColorfulState); var d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Colorful, controlColorfulState); function.Control(d); } catch (Exception ex) { MainPage.Log($"控制炫彩开关异常:{ex.Message}"); } }) { IsBackground = true }.Start(); }; #endregion @@ -742,5 +1024,9 @@ return false; } } } HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
@@ -71,7 +71,7 @@ #endregion #region ---界面点击事件--- playView.collectIconBtn.Visible = false;//先暂时隐藏收藏功能 //playView.collectIconBtn.Visible = false;//先暂时隐藏收藏功能 //收藏图标事件 playView.collectIconBtn.MouseUpEventHandler += (sender, e) => { @@ -84,7 +84,7 @@ { A31MusicModel.Current.functionMusic.collect = false; } A31MusicModel.Current.functionMusic.CollectFunction(); }; ///切换播放模式点击事件; playView.playOrderBtn.MouseUpEventHandler += (sender, e) => HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
@@ -194,7 +194,7 @@ musicView.singerBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name); musicView.songNameBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name); musicView.musicNameBtn.Text = player.functionMusic.name; musicView.collectIconBtn.Visible = false;//先暂时隐藏收藏功能 //musicView.collectIconBtn.Visible = false;//先暂时隐藏收藏功能 ///收藏事件 musicView.collectIconBtn.MouseUpEventHandler += (sender, e) => { @@ -207,6 +207,7 @@ { player.functionMusic.collect = false; } player.functionMusic.CollectFunction(); }; HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs
@@ -90,6 +90,21 @@ bodyView.AddChidren(waitPage); waitPage.Start(""); #endregion contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor, }); var view = new VerticalScrolViewLayout() { Height = Application.GetRealHeight(300), }; contentView.AddChidren(view); btnFaceUnlockSwitchIcon.MouseUpEventHandler = (sender, e) => { waitPage.Start(""); @@ -110,6 +125,7 @@ { //更新界面 btnFaceUnlockSwitchIcon.IsSelected = changeState; loadSubView(view, faceUnlockSetup); }); } else @@ -145,19 +161,7 @@ }) { IsBackground = true }.Start(); }; #endregion contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor, }); var view = new VerticalScrolViewLayout() { Height = Application.GetRealHeight(300), }; contentView.AddChidren(view); new System.Threading.Thread(() => { try HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs
@@ -284,6 +284,8 @@ recordFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/HistoryList.png"; recordFL.GetTextButton().TextID = StringId.lishijilu; if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) { //用户管理 CustomFrameLayout userManagerView = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout); whiteFl.AddChidren(userManagerView); @@ -294,14 +296,15 @@ userManagerView.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/DoorlockUserManager.png"; userManagerView.GetTextButton().TextID = StringId.UserManagement; userManagerView.SetClickListener((fl, btnImage, btnText) => { userManagerView.SetClickListener((fl, btnImage, btnText) => { var page = new VideoDoorlockUserListPage(device); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); } #endregion @@ -387,8 +390,30 @@ //MainPage.BasePageView.AddChidren(historyPage); //historyPage.LoadPage(); //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; var waitPage = new Loading(); this.AddChidren(waitPage); waitPage.Start(""); new System.Threading.Thread(() => { try { Application.RunOnMainThread(() => { CommonMethod.Current.SkipRecordActivity(this.device.deviceId); }); }catch(Exception ex) { } finally { Application.RunOnMainThread(() => { waitPage.Hide(); }); } }) { IsBackground = true }.Start(); }); } HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockAudioSetupPage.cs
@@ -12,17 +12,17 @@ FrameLayout bodyView; Function device; /// <summary> /// 门铃系统音量 /// 门锁系统音量 /// </summary> int doorlockSystemSound = 0; DoorLockSystemSound doorLockSystemSound; /// <summary> /// 门铃音量 /// </summary> int doorbelVol = 0; int doorbellVol = 0; public VideoDoorlockAudioSetupPage(Function function) { doorLockSystemSound = new DoorLockSystemSound(); device = function; bodyView = this; } @@ -74,7 +74,7 @@ btnDoorlockSystemVolumeText.MouseUpEventHandler = (sender, e) => { LoadEditDialog(StringId.DoorlockSystemVolume, 3-doorlockSystemSound, btnDoorlockSystemVolumeStateText); LoadEditDialog(StringId.DoorlockSystemVolume, btnDoorlockSystemVolumeStateText,true); }; #endregion @@ -124,7 +124,7 @@ btnDoorbellVolumeText.MouseUpEventHandler = (sender, e) => { LoadEditDialog(StringId.DoorbellVolume, doorbelVol, btnDoorbellVolumeStateText); LoadEditDialog(StringId.DoorbellVolume, btnDoorbellVolumeStateText,false); }; #endregion @@ -149,25 +149,21 @@ Application.RunOnMainThread(() => { //更新界面 var doorLockSystemSound = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockSystemSound>(pack.Data.ToString()); doorLockSystemSound = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockSystemSound>(pack.Data.ToString()); if(doorLockSystemSound != null) { switch (doorLockSystemSound.sound) { case 0: doorlockSystemSound = 0; btnDoorlockSystemVolumeStateText.TextID = StringId.Mute; break; case 1: doorlockSystemSound = 1; btnDoorlockSystemVolumeStateText.TextID = StringId.Low; break; case 2: doorlockSystemSound = 2; btnDoorlockSystemVolumeStateText.TextID = StringId.Moderate; break; case 3: doorlockSystemSound = 3; btnDoorlockSystemVolumeStateText.TextID = StringId.High; break; } @@ -205,22 +201,22 @@ { if (doorbellTone.volume == 0) { doorbelVol = 3; doorbellVol = 0; btnDoorbellVolumeStateText.TextID = StringId.Mute; } else if (doorbellTone.volume > 0 && doorbellTone.volume < 35) { doorbelVol = 2; doorbellVol = 1; btnDoorbellVolumeStateText.TextID = StringId.Low; } else if (doorbellTone.volume > 35 && doorbellTone.volume < 70) { doorbelVol = 1; doorbellVol = 2; btnDoorbellVolumeStateText.TextID = StringId.Moderate; } else if (doorbellTone.volume > 70) { doorbelVol = 0; doorbellVol = 3; btnDoorbellVolumeStateText.TextID = StringId.High; } } @@ -271,10 +267,10 @@ /// <summary> /// 加载功能属性数据选择弹窗 /// </summary> void LoadEditDialog(int titleId, int index, Button btn) void LoadEditDialog(int titleId, Button btn,bool isDoorlockSystemVolume) { Button lastButton = new Button(); var lastData = ""; var lastText = ""; Dialog dialog = new Dialog(); @@ -311,7 +307,7 @@ { Gravity = Gravity.CenterHorizontal, TextAlignment = TextAlignment.Center, Width = Application.GetRealWidth(100), Width = Application.GetRealWidth(150), TextID = titleId, IsBold = true, TextColor = CSS_Color.FirstLevelTitleColor, @@ -340,7 +336,7 @@ TextID = StringId.Complete, }; topView.AddChidren(btnConfrim); int hei = 1; int index = 1; var statusList = new List<string> { Language.StringByID(StringId.High), @@ -353,11 +349,11 @@ { var row = new FrameLayout() { Y = Application.GetRealHeight(50 * hei), Y = Application.GetRealHeight(50 * index), Height = Application.GetRealHeight(50), }; optionBaseView.AddChidren(row); if (statusList.Count > hei) if (statusList.Count > index) { optionBaseView.AddChidren(new Button() { @@ -377,13 +373,76 @@ Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/ChooseIcon.png", SelectedImagePath = "Public/ChooseOnIcon.png", Tag = index - 1, }; row.AddChidren(btnChoose); if (index == hei - 1) if (isDoorlockSystemVolume) {//设置门锁系统音量 switch (doorLockSystemSound.sound) { case 0: if (index == 3 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; case 1: if (index == 2 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; case 2: if (index == 1 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; case 3: if (index == 0 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; } } else//设置门铃音量 { switch (doorbellVol) { case 0: if (index == 3 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; case 1: if (index == 2 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; case 2: if (index == 1 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; case 3: if (index == 0 + 1) { lastButton = btnChoose; btnChoose.IsSelected = true; } break; } } var btnPropertyTitle = new Button() { @@ -391,22 +450,24 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, Tag = hei-1, Text = m }; row.AddChidren(btnPropertyTitle); btnPropertyTitle.MouseUpEventHandler = (sender, e) => { if (btnChoose.IsSelected) { return; } btnChoose.IsSelected = true; if (lastButton != null) { lastButton.IsSelected = false; } lastButton = btnChoose; lastData = btnPropertyTitle.Tag.ToString(); lastText = btnPropertyTitle.Text; }; hei++; index++; } @@ -423,13 +484,14 @@ }; btnConfrim.MouseUpEventHandler = (sender, e) => { dialog.Close(); if(titleId == StringId.DoorlockSystemVolume) var lastData = lastButton.Tag.ToString(); if (isDoorlockSystemVolume) { var waitPage = new Loading(); bodyView.AddChidren(waitPage); waitPage.Start(""); new System.Threading.Thread(() => { try { @@ -462,15 +524,19 @@ switch (sound) { case 0: doorLockSystemSound.sound = 0; btn.TextID = StringId.Mute; break; case 1: doorLockSystemSound.sound = 1; btn.TextID = StringId.Low; break; case 2: doorLockSystemSound.sound = 2; btn.TextID = StringId.Moderate; break; case 3: doorLockSystemSound.sound = 3; btn.TextID = StringId.High; break; } @@ -550,15 +616,19 @@ switch (lastData) { case "0": doorbellVol = 3; btn.TextID = StringId.High; break; case "1": doorbellVol = 2; btn.TextID = StringId.Moderate; break; case "2": doorbellVol = 1; btn.TextID = StringId.Low; break; case "3": doorbellVol = 0; btn.TextID = StringId.Mute; break; } HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockBatteryManagementPage.cs
@@ -16,22 +16,92 @@ public void LoadPage() { new TopViewDiv(bodyView, Language.StringByID(StringId.AudioSetup)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; new TopViewDiv(bodyView, Language.StringByID(StringId.BatteryManagement)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.BackgroundColor; var btn = new Button() var view1 = new FrameLayout() { Width = Application.GetRealWidth(343), Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(276), BackgroundColor = CSS_Color.MainBackgroundColor, BackgroundImagePath = "FunctionIcon/DoorLock/VideoDoorlockBatteryManagementBg.png"//VideoDoorlockBatteryManagementBg }; bodyView.AddChidren(view1); var btnTitle1 = new Button() { Width = Application.GetRealWidth(200), X = Application.GetRealWidth(16), Y = Application.GetRealHeight(64 + 24), Y = Application.GetRealHeight(16), IsMoreLines = true, TextAlignment = TextAlignment.TopLeft, TextSize = CSS_FontSize.TextFontSize, TextSize = CSS_FontSize.HeadlineFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Text = "门锁电源", }; bodyView.AddChidren(btn); view1.AddChidren(btnTitle1); var btnMsg1 = new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(57), Width = Application.GetRealWidth(213), Height = Application.GetRealHeight(200), TextAlignment = TextAlignment.TopLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsMoreLines = true, Text = "打开室内面板电池盖,取出锂电池进行充电。\r\n请使用 5V2A 适配器对锂电池进行充电。" }; view1.AddChidren(btnMsg1); var view2 = new FrameLayout() { Y = Application.GetRealHeight(8) + view1.Bottom, BackgroundColor = CSS_Color.MainBackgroundColor, Height = Application.GetRealHeight(170) }; bodyView.AddChidren(view2); var btnTitle2 = new Button() { Width = Application.GetRealWidth(200), X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), IsMoreLines = true, TextAlignment = TextAlignment.TopLeft, TextSize = CSS_FontSize.HeadlineFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Text = "低电量说明", BackgroundColor = CSS_Color.MainBackgroundColor, }; view2.AddChidren(btnTitle2); var btnMsg2 = new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(57), Width = Application.GetRealWidth(213), Height = Application.GetRealHeight(110), TextAlignment = TextAlignment.TopLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsMoreLines = true, Text = "设备电量低时将自动关闭检测唤醒功能,人脸识别开锁为手动触发。\r\n 当电量低于极限值时,为保证应急开锁,设备将自动离线并仅支持开锁功能。" }; view2.AddChidren(btnMsg2); if (Language.CurrentLanguage != "Chinese") { btnTitle1.Text = "Door lock power supply"; btnMsg1.Text = "Open the indoor panel battery cover and remove the lithium battery for charging.\r\n" + "Please use a 5V2A adapter to charge the lithium battery."; btnTitle2.Text = "Low battery description"; btnMsg2.Text = "When the device's battery is low, the detection and wake-up function will be automatically turned off, and the facial recognition unlock will be manually triggered.\r\n" + "When the battery level drops below the limit value, to ensure emergency unlocking, the device will automatically go offline and only support unlocking function."; } } HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockFaceUnlockTriggerSettingPage.cs
@@ -305,6 +305,7 @@ TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextColor = CSS_Color.PromptingColor1, TextID = StringId.FaceUnlockNote, IsMoreLines = true, }; automaitcTipView.AddChidren(btnAutomaitcNote); HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs
@@ -30,13 +30,28 @@ bodyView.BackgroundColor = CSS_Color.BackgroundColor; contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(667 - 70), Height = Application.GetRealHeight(607 - 70), }; bodyView.AddChidren(contentView); var btnTip = new Button() { Y = Application.GetRealHeight(667 - 70), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(60), TextAlignment = TextAlignment.TopLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextColor = CSS_Color.TextualColor, TextID = StringId.VideoDoorlockManagerTip, IsMoreLines = true, }; bodyView.AddChidren(btnTip); var waitPage = new Loading(); bodyView.AddChidren(waitPage); waitPage.Start(""); HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
@@ -18,7 +18,7 @@ VerticalScrolViewLayout contentView; FrameLayout userPermissionsView; Button btnUserName; //Button btnUserName; Function device; VideoDoorlockUser doorlockUser; @@ -48,6 +48,8 @@ }; bodyView.AddChidren(contentView); #region 用户名称 var userNameView = new FrameLayout() { @@ -75,7 +77,7 @@ }; userNameView.AddChidren(btnEditUserNameIcon); btnUserName = new Button() var btnUserName = new Button() { X = Application.GetRealWidth(100), Width = Application.GetRealWidth(230), @@ -94,12 +96,82 @@ contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) }); initOptionView(false); EventHandler<MouseEventArgs> eventHandler = (sender, e) => { Action<string> callBack = (str) => { if (string.IsNullOrEmpty(str)) { new Tip() { CloseTime = 1, Text = Language.StringByID(StringId.UesrNameCannotBeEmpty), Direction = AMPopTipDirection.None, }.Show(bodyView); return; } if (str == UserInfo.Current.userName) { return; } if (System.Text.Encoding.Default.GetBytes(str).Length > 20) { new Tip() { CloseTime = 1, Text = Language.StringByID(StringId.LengthOutOfRange), Direction = AMPopTipDirection.None, }.Show(bodyView); return; } waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { var resultObj = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId, str); if (resultObj.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => { btnUserName.Text = str; }); } else { //失败提示 IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } } catch (Exception ex) { MainPage.Log($"update user name error : {ex.Message}"); } finally { Application.RunOnMainThread(() => { waitPage.Hide(); }); } }) { IsBackground = true }.Start(); }; var pa = new PublicAssmebly(); pa.entryMaxLength = 20; pa.LoadDialog_EditParater(StringId.ChangeName, "", callBack, StringId.UesrNameCannotBeEmpty, 0, new List<string>()); }; btnUserName.MouseUpEventHandler = eventHandler; btnEditUserNameIcon.MouseUpEventHandler = eventHandler; userNameView.MouseUpEventHandler = eventHandler; } void initOptionView(bool isEdit) { if(doorlockUser.faceCount == 0&& doorlockUser.faceCount == 0 && doorlockUser.fingerCount == 0 && doorlockUser.pwdCount == 0 && doorlockUser.cardCount == 0) { @@ -113,14 +185,14 @@ int childrenViewHeight = Application.GetRealWidth(116); int permissionsViewHeight = Application.GetRealHeight(291 + 92); int permissionsViewHeight = Application.GetRealHeight(291 + 92 + 100); if (userPermissionsView!= null) { userPermissionsView.RemoveAll(); if (isEdit) { permissionsViewHeight = Application.GetRealHeight(391 + 50); permissionsViewHeight = Application.GetRealHeight(391 + 50 + 100); childrenViewHeight = Application.GetRealWidth(156); } userPermissionsView.Height = permissionsViewHeight; @@ -629,7 +701,7 @@ var delUserView = new FrameLayout() { Y = unlockOptionView.Bottom, Height = Application.GetRealHeight(110), Height = Application.GetRealHeight(310), BackgroundColor = CSS_Color.BackgroundColor, }; userPermissionsView.AddChidren(delUserView); @@ -712,60 +784,7 @@ /// </summary> void LoadEvent_EditUserName() { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { Action<string> callBack = (str) => { if (string.IsNullOrEmpty(str)) { new Tip() { CloseTime = 1, Text = Language.StringByID(StringId.UesrNameCannotBeEmpty), Direction = AMPopTipDirection.None, }.Show(bodyView); return; } if (str == UserInfo.Current.userName) { return; } waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { var resultObj = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId,str); if (resultObj.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => { btnUserName.Text = str; }); } else { //失败提示 IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } } catch (Exception ex) { MainPage.Log($"update user name error : {ex.Message}"); } finally { Application.RunOnMainThread(() => { waitPage.Hide(); }); } }) { IsBackground = true }.Start(); }; new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, doorlockUser.lockUserName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>()); }; btnUserName.MouseUpEventHandler = eventHandler; //btnUserName.MouseUpEventHandler = eventHandler; } SiriIntents/Server/HttpUtil.cs
@@ -16,8 +16,8 @@ /// 固定域名,正式环境 /// 公共域名就近解析 /// </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 SiriIntents/SiriIntents.csproj
@@ -18,7 +18,7 @@ <DefineConstants>DEBUG;</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <CodesignKey>iPhone Developer</CodesignKey> <CodesignKey>Apple Development: xuebiao huang (4P32GXQWWK)</CodesignKey> <MtouchDebug>true</MtouchDebug> <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> <MtouchFastDev>true</MtouchFastDev> @@ -28,6 +28,7 @@ <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler> <DeviceSpecificBuild>false</DeviceSpecificBuild> <MtouchVerbosity></MtouchVerbosity> <CodesignProvision>OnProSiri230605-1-Dev</CodesignProvision> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <DebugType>pdbonly</DebugType> @@ -67,7 +68,7 @@ <DefineConstants>DEBUG;</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <CodesignKey>iPhone Developer: xuebiao huang (4P32GXQWWK)</CodesignKey> <CodesignKey>Apple Development: xuebiao huang (4P32GXQWWK)</CodesignKey> <DeviceSpecificBuild>true</DeviceSpecificBuild> <MtouchDebug>true</MtouchDebug> <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> @@ -79,6 +80,7 @@ <MtouchArch>ARM64</MtouchArch> <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler> <MtouchVerbosity></MtouchVerbosity> <CodesignProvision>OnProSiri230630-1-Dev</CodesignProvision> </PropertyGroup> <ItemGroup> <Reference Include="System" /> SiriIntentsUI/SiriIntentsUI.csproj
@@ -18,7 +18,7 @@ <DefineConstants>DEBUG;</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <CodesignKey>iPhone Developer</CodesignKey> <CodesignKey>Apple Development: xuebiao huang (4P32GXQWWK)</CodesignKey> <MtouchDebug>true</MtouchDebug> <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> <MtouchFastDev>true</MtouchFastDev> @@ -29,6 +29,7 @@ <DeviceSpecificBuild>false</DeviceSpecificBuild> <MtouchVerbosity></MtouchVerbosity> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <CodesignProvision>OnProSiriUI230605-1-Dev</CodesignProvision> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <DebugType>pdbonly</DebugType> @@ -70,7 +71,7 @@ <DefineConstants>DEBUG;</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <CodesignKey>iPhone Developer: xuebiao huang (4P32GXQWWK)</CodesignKey> <CodesignKey>Apple Development: xuebiao huang (4P32GXQWWK)</CodesignKey> <DeviceSpecificBuild>true</DeviceSpecificBuild> <MtouchDebug>true</MtouchDebug> <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> @@ -83,6 +84,7 @@ <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler> <MtouchVerbosity></MtouchVerbosity> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <CodesignProvision>OnProSiriUI230630-1-Dev</CodesignProvision> </PropertyGroup> <ItemGroup> <Reference Include="System" />