wjc
2023-03-29 adf7df175e590b7d9e0f33c0c2ea1d2897da6301
Merge branch 'dev-cqy(1.5.9)' into wjc
1个文件已添加
1个文件已删除
47个文件已修改
1206 ■■■■■ 已修改文件
DLL/IOS/Shared.IOS.HDLCNVRSDK.dll 补丁 | 查看 | 原始文档 | blame | 历史
DLL/IOS/Shared.IOS.HDLFVSDK.dll 补丁 | 查看 | 原始文档 | blame | 历史
DLL/LC/Android/LCDeviceAddModule.dll 补丁 | 查看 | 原始文档 | blame | 历史
DLL/LC/IOS/Shared.IOS.LCVideoOnSDK.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/DoorLock/History.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/BlueWifi.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/EZ/Base.lproj/AddDevice.storyboard 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/EZ/Base.lproj/EZMain.storyboard 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/EZ/Base.lproj/EZVideoTalkViewcontroller.xib 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/com.hri.hpc.mobile.ios.player.metallib 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/en.lproj/Localizable.strings 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/zh-Hans.lproj/Localizable.strings 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/ApiUtlis.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/HDLCommon.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/DriverLayer/Control.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs 189 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/Function.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Room.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorEnvironment/AddSensorEnvironmentPage.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs 158 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SiriIntents/SiriIntents.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SiriIntentsUI/SiriIntentsUI.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/IOS/Shared.IOS.HDLCNVRSDK.dll
Binary files differ
DLL/IOS/Shared.IOS.HDLFVSDK.dll
Binary files differ
DLL/LC/Android/LCDeviceAddModule.dll
Binary files differ
DLL/LC/IOS/Shared.IOS.LCVideoOnSDK.dll
Binary files differ
HDL-ON_Android/Assets/Language.ini
@@ -1132,6 +1132,9 @@
8508=History
8509=Fluorite video door lock
8510=Call from the doorbell
8511=User Education
@@ -2370,6 +2373,7 @@
8508=历史记录
8509=萤石视频门锁
8510=来自“门铃”呼叫
8511=用户人员
HDL-ON_Android/Assets/Phone/FunctionIcon/DoorLock/History.png
Binary files differ
HDL-ON_Android/HDL-ON_Android.csproj
@@ -65,7 +65,7 @@
    <AndroidSigningStorePass>85521566</AndroidSigningStorePass>
    <AndroidSigningKeyPass>85521566</AndroidSigningKeyPass>
    <AndroidSigningKeyAlias>on_plus</AndroidSigningKeyAlias>
    <AndroidSupportedAbis>armeabi-v7a;arm64-v8a</AndroidSupportedAbis>
    <AndroidSupportedAbis>arm64-v8a</AndroidSupportedAbis>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Shared.Droid.JPush">
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.6.4" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202302102">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.6.4" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202302201">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <!--友盟-->
    <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
HDL-ON_iOS/BlueWifi.cs
@@ -30,13 +30,14 @@
        //public string GetPer()
        //{
        //share.
        //}
        //}1
        /// <summary>
        /// 搜索到蓝牙设备之后到代理事件
        /// </summary>
        FBYBleDeviceBackBlock getBlufiDeviceDelegate;
        /// <summary>
        /// 设备搜索到蓝牙设备之后到代理事件
        /// </summary>
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -26,7 +26,7 @@
        <MtouchLink>Full</MtouchLink>
        <MtouchDebug>true</MtouchDebug>
        <CodesignKey>iPhone Developer</CodesignKey>
        <MtouchExtraArgs>-gcc_flags="-dead_strip -ObjC";-w</MtouchExtraArgs>
        <MtouchExtraArgs>-gcc_flags="-dead_strip -ObjC"</MtouchExtraArgs>
        <CodesignProvision>On+Dev-20210616-1</CodesignProvision>
        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    </PropertyGroup>
@@ -59,6 +59,7 @@
        <MtouchEnableSGenConc>false</MtouchEnableSGenConc>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<CodesignProvision>OnPro230308-3-Dev</CodesignProvision>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
        <DebugType>none</DebugType>
@@ -86,26 +87,11 @@
          <HintPath>..\DLL\Shared.IOS.TBL.dll</HintPath>
          <Private>False</Private>
        </Reference>
        <Reference Include="MJRefresh_Xamarin">
          <HintPath>..\DLL\IOS\MJRefresh_Xamarin.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.JLCountryCode">
          <HintPath>..\DLL\IOS\Shared.IOS.JLCountryCode.dll</HintPath>
        </Reference>
        <Reference Include="EZSDK.IOS">
          <HintPath>..\DLL\IOS\EZSDK.IOS.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.ESVideoOnSDK">
          <HintPath>..\DLL\FL\iOS\Shared.IOS.ESVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.LCVideoOnSDK">
          <HintPath>..\DLL\LC\IOS\Shared.IOS.LCVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.HDLLinphoneSDK">
          <HintPath>..\DLL\Linphone\iOS\Shared.IOS.HDLLinphoneSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.HDLFVSDK">
          <HintPath>..\DLL\IOS\Shared.IOS.HDLFVSDK.dll</HintPath>
        <Reference Include="Shared.IOS.HDLSceneSiri">
          <HintPath>..\DLL\IOS\Shared.IOS.HDLSceneSiri.dll</HintPath>
        </Reference>
        <Reference Include="HDL.Shared.IOS.ScanQRCode">
          <HintPath>..\DLL\IOS\HDL.Shared.IOS.ScanQRCode.dll</HintPath>
@@ -113,8 +99,23 @@
        <Reference Include="Shared.IOS">
          <HintPath>..\DLL\Shared.IOS.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.HDLSceneSiri">
          <HintPath>..\DLL\IOS\Shared.IOS.HDLSceneSiri.dll</HintPath>
        <Reference Include="Shared.IOS.HDLLinphoneSDK">
          <HintPath>..\DLL\Linphone\iOS\Shared.IOS.HDLLinphoneSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.LCVideoOnSDK">
          <HintPath>..\DLL\LC\IOS\Shared.IOS.LCVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.HDLCNVRSDK">
          <HintPath>..\DLL\IOS\Shared.IOS.HDLCNVRSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.ESVideoOnSDK">
          <HintPath>..\DLL\FL\iOS\Shared.IOS.ESVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.HDLFVSDK">
          <HintPath>..\DLL\IOS\Shared.IOS.HDLFVSDK.dll</HintPath>
        </Reference>
        <Reference Include="EZSDK.IOS">
          <HintPath>..\DLL\IOS\EZSDK.IOS.dll</HintPath>
        </Reference>
    </ItemGroup>
    <ItemGroup>
@@ -141,6 +142,12 @@
      </PackageReference>
      <PackageReference Include="Xamarin.Essentials">
        <Version>1.7.0</Version>
      </PackageReference>
      <PackageReference Include="Xamarin.iOS.SwiftRuntimeSupport">
        <Version>0.2.1</Version>
      </PackageReference>
      <PackageReference Include="Xamarin.iOS.MJRefresh">
        <Version>3.2.2</Version>
      </PackageReference>
    </ItemGroup>
    <ItemGroup>
@@ -1562,17 +1569,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\MusicIcon\currentPlayList.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\HistoryList.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\OneOpenLock.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\RTV.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UnLocked.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\UnLocking.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorLockClose.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorLockOpen.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\Cell.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\FunctionBg\VideoDoorLockFunctionBg.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\securitydoorezviz.png" />
    </ItemGroup>
    <ItemGroup>
      <ITunesArtwork Include="iTunesArtwork" />
@@ -1599,10 +1595,6 @@
      <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\1024.png" />
    </ItemGroup>
    <ItemGroup>
      <ProjectReference Include="..\HdlBluWi\Blufi.csproj">
        <Project>{2DDF4C3C-6998-432E-9F43-6786D82F0630}</Project>
        <Name>Blufi</Name>
      </ProjectReference>
      <ProjectReference Include="..\SiriIntents\SiriIntents.csproj">
        <IsAppExtension>true</IsAppExtension>
        <Project>{760980F5-1CD3-4F4F-9134-34D87BECD790}</Project>
@@ -1617,6 +1609,10 @@
        <Project>{8B1652FA-5158-4D57-B90D-07BB91766625}</Project>
        <Name>SiriKit</Name>
      </ProjectReference>
      <ProjectReference Include="..\HdlBluWi\Blufi.csproj">
        <Project>{2DDF4C3C-6998-432E-9F43-6786D82F0630}</Project>
        <Name>Blufi</Name>
      </ProjectReference>
    </ItemGroup>
    <ItemGroup>
      <Content Include="Base.lproj\Intents.intentdefinition" />
HDL-ON_iOS/Info.plist
@@ -42,7 +42,7 @@
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>MinimumOSVersion</key>
    <string>12.0</string>
    <string>12.2</string>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
@@ -66,6 +66,8 @@
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
    </array>
    <key>UIAppFonts</key>
    <array>
@@ -98,9 +100,9 @@
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>CFBundleShortVersionString</key>
    <string>1.6.302302021</string>
    <string>1.6.402302222</string>
    <key>CFBundleVersion</key>
    <string>1.6.302021</string>
    <string>1.6.402171</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Use geographic location to provide services such as weather</string>
    <key>NSAppleMusicUsageDescription</key>
@@ -138,5 +140,7 @@
    <array>
        <string>HDLRunSceneIntent</string>
    </array>
    <key>Custom Property</key>
    <string></string>
</dict>
</plist>
HDL-ON_iOS/Resources/EZ/Base.lproj/AddDevice.storyboard
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="19162" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="1Qq-y9-5Vr">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="1Qq-y9-5Vr">
    <device id="retina4_7" orientation="portrait" appearance="light"/>
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19144"/>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
@@ -984,8 +985,8 @@
    </scenes>
    <inferredMetricsTieBreakers>
        <segue reference="9TP-S2-hhI"/>
        <segue reference="9Lc-Kx-oZS"/>
        <segue reference="ikM-Zn-H8f"/>
        <segue reference="Lmt-j9-vhw"/>
        <segue reference="VYk-37-nb6"/>
    </inferredMetricsTieBreakers>
    <resources>
        <image name="addDevice_success" width="320" height="185"/>
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="17506" 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="20037" 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="17505"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
        <capability name="System colors in document resources" minToolsVersion="11.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
@@ -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="28" width="375" height="44"/>
                                <rect key="frame" x="0.0" y="44.5" 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"/>
@@ -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="28" width="375" height="73"/>
                                <rect key="frame" x="0.0" y="44.5" 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"/>
@@ -356,7 +356,7 @@
                    </tableView>
                    <navigationItem key="navigationItem" id="QiI-QE-qqY">
                        <rightBarButtonItems>
                            <barButtonItem systemItem="add" id="yGh-cj-oPZ">
                            <barButtonItem id="yGh-cj-oPZ">
                                <connections>
                                    <action selector="go2AddDevice:" destination="PUV-T9-WXJ" id="D58-zZ-Ox4"/>
                                </connections>
@@ -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="28" width="375" height="44"/>
                                <rect key="frame" x="0.0" y="44.5" 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"/>
@@ -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="28" width="375" height="44"/>
                                <rect key="frame" x="0.0" y="44.5" 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="28" width="375" height="44"/>
                                <rect key="frame" x="0.0" y="44.5" 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"/>
@@ -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="28" width="375" height="44"/>
                                <rect key="frame" x="0.0" y="44.5" 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"/>
@@ -1809,7 +1809,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="28" width="375" height="75"/>
                                <rect key="frame" x="0.0" y="44.5" 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 +1927,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="55.5" width="375" height="44"/>
                                <rect key="frame" x="0.0" y="49.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"/>
HDL-ON_iOS/Resources/EZ/Base.lproj/EZVideoTalkViewcontroller.xib
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
    <device id="retina5_9" orientation="portrait" appearance="light"/>
    <dependencies>
        <deployment version="2304" identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
        <capability name="System colors in document resources" minToolsVersion="11.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <objects>
@@ -26,7 +27,7 @@
                        <rect key="frame" x="195" y="64" width="160" height="160"/>
                        <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                    </view>
                    <button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="249" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9ko-k4-F0N">
                    <button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="249" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9ko-k4-F0N">
                        <rect key="frame" x="20" y="302" width="85" height="30"/>
                        <color key="backgroundColor" red="0.80782043147208116" green="0.80782043147208116" blue="0.80782043147208116" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                        <state key="normal" title="创建房间">
@@ -42,7 +43,7 @@
                            <action selector="createRoomAction:" destination="333-bP-4tK" eventType="touchUpInside" id="rAq-LO-B2O"/>
                        </connections>
                    </button>
                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qiF-2z-Rwj">
                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qiF-2z-Rwj">
                        <rect key="frame" x="145" y="302" width="85" height="30"/>
                        <color key="backgroundColor" red="0.80782043150000005" green="0.80782043150000005" blue="0.80782043150000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                        <state key="normal" title="加入房间">
@@ -73,7 +74,7 @@
                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
                        <textInputTraits key="textInputTraits"/>
                    </textField>
                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YO9-MU-r4L">
                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YO9-MU-r4L">
                        <rect key="frame" x="270" y="302" width="85" height="30"/>
                        <color key="backgroundColor" red="0.80782043150000005" green="0.80782043150000005" blue="0.80782043150000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                        <state key="normal" title="离开房间">
@@ -90,7 +91,8 @@
                        </connections>
                    </button>
                </subviews>
                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                <viewLayoutGuide key="safeArea" id="gRk-Lv-awz"/>
                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                <constraints>
                    <constraint firstItem="YO9-MU-r4L" firstAttribute="height" secondItem="9ko-k4-F0N" secondAttribute="height" id="3hn-CA-7hn"/>
                    <constraint firstItem="3UU-E8-PbA" firstAttribute="leading" secondItem="gRk-Lv-awz" secondAttribute="leading" constant="20" id="4Rd-ZV-SEq"/>
@@ -116,7 +118,6 @@
                    <constraint firstItem="6Wf-7i-TE6" firstAttribute="centerY" secondItem="jc8-E1-NYw" secondAttribute="centerY" id="r2S-JH-0Bo"/>
                    <constraint firstItem="qiF-2z-Rwj" firstAttribute="leading" secondItem="9ko-k4-F0N" secondAttribute="trailing" constant="40" id="rkn-HZ-QQp"/>
                </constraints>
                <viewLayoutGuide key="safeArea" id="gRk-Lv-awz"/>
            </view>
            <connections>
                <outlet property="localView" destination="3UU-E8-PbA" id="JEa-Cq-Kuk"/>
@@ -126,4 +127,9 @@
            <point key="canvasLocation" x="-143.19999999999999" y="131.52709359605913"/>
        </viewController>
    </objects>
    <resources>
        <systemColor name="systemBackgroundColor">
            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
        </systemColor>
    </resources>
</document>
HDL-ON_iOS/Resources/Language.ini
@@ -1132,6 +1132,7 @@
8508=History
8509=Fluorite video door lock
8510=Call from the doorbell
8511=User Education
@@ -2370,6 +2371,7 @@
8508=历史记录
8509=萤石视频门锁
8510=来自“门铃”呼叫
8511=用户人员
HDL-ON_iOS/Resources/com.hri.hpc.mobile.ios.player.metallib
Binary files differ
HDL-ON_iOS/Resources/en.lproj/Localizable.strings
@@ -28,6 +28,9 @@
"get_info_fail"="Searching for failed. Poor network.";
"ad_input_manual"="Manual Input";
"ad_result_verify_local_lock"="Please verify the added primary user fingerprint, key or sensor card within 2 minutes. Click the Verified button after verification";
"ad_verified"="Verified";
"device_camera_list_title"="Device Channel List";
"device_input_vierify_code"="Input the device verification code.";
"device_verify_code_wrong"="Incorrect verification code.";
@@ -64,6 +67,46 @@
"device_account_pw_empty"="The user name or password is required.";
"device_lan_preview_title"="Live View via LAN";
"device_open"="Open";
"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_temp_pass"="Temporary password";
"device_temp_year"=".";
"device_temp_month"=".";
"device_temp_date"=".";
"device_temp_left"="Left";
"device_temp_times"="times";
"device_temp_save"="Save";
"device_temp_valid_date"="Term of validity";
"device_temp_valid_begin"="Begin";
"device_temp_valid_end"="End";
"device_temp_use_times"="Use times";
"device_temp_user"="User";
"device_temp_please_select"="Please select";
"device_temp_unlimited_times"="Unlimited";
"device_temp_sure"="Sure";
"device_temp_cancle"="Cancle";
"device_temp_please_input"="Please input";
"device_temp_input_use_count_describe"="Enter an integer from 1 to 100. Null means unlimited times";
"device_temp_input_pure_number"="Please enter a pure number";
"device_temp_input_valid_number"="Please enter a number between 1-100";
"device_temp_unit_year"="Y";
"device_temp_unit_month"="M";
"device_temp_unit_date"="D";
"device_temp_unit_hour"="h";
"device_temp_unit_minute"="m";
"device_temp_please_input_user_name"="Please input a user name";
"device_temp_please_select_begin_time"="Please select the start time";
"device_temp_please_select_end_time"="Please select the end time";
"device_temp_please_end_time_should_later"="The end time cannot be earlier than the start time";
"device_temp_unlimited_use_times"="Unlimited times";
"device_temp_total"="Total ";
"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?";
"dmessage_title"="Message";
"message_read"="Mark as Read";
"message_deleting"="Deleting. Please wait...";
HDL-ON_iOS/Resources/zh-Hans.lproj/Localizable.strings
@@ -28,6 +28,9 @@
"get_info_fail"="查询失败,网络不给力";
"ad_input_manual"="手动输入";
"ad_result_verify_local_lock"="请在2分钟之内校验已添加的主用户指纹、密钥或感应卡,校验完成请点击已校验按钮";
"ad_verified"="已校验";
"device_camera_list_title"="设备通道列表";
"device_input_vierify_code"="请输入设备验证码";
"device_verify_code_wrong"="验证码错误";
@@ -64,6 +67,47 @@
"device_account_pw_empty"="帐号或密码不能为空";
"device_lan_preview_title"="局域网预览";
"device_open"="开门";
"device_open_success"="开门成功!";
"device_please_input_door_password"="请输入开锁密码";
"device_history"="历史记录";
"device_his_no_more_data"="没有更多数据";
"device_temp_pass"="临时密码";
"device_temp_year"="年";
"device_temp_month"="月";
"device_temp_date"="日";
"device_temp_left"="剩余";
"device_temp_times"="次";
"device_temp_save"="保存";
"device_temp_user"="使用人";
"device_temp_valid_date"="有效期";
"device_temp_valid_begin"="开始";
"device_temp_valid_end"="结束";
"device_temp_use_times"="使用次数";
"device_temp_please_select"="请选择";
"device_temp_unlimited_times"="不限";
"device_temp_sure"="确认";
"device_temp_cancle"="取消";
"device_temp_please_input"="请输入";
"device_temp_input_use_count_describe"="输入1到100的整数, 为空表示不限次数";
"device_temp_input_pure_number"="请输入纯数字";
"device_temp_input_valid_number"="请输入1-100之间的数字";
"device_temp_unit_year"="年";
"device_temp_unit_month"="月";
"device_temp_unit_date"="日";
"device_temp_unit_hour"="时";
"device_temp_unit_minute"="分";
"device_temp_please_input_user_name"="请输入使用人";
"device_temp_please_select_begin_time"="请选择开始时间";
"device_temp_please_select_end_time"="请选择结束时间";
"device_temp_please_end_time_should_later"="结束时间不得早于开始时间";
"device_temp_unlimited_use_times"="不限次数";
"device_temp_total"="总数";
"device_temp_copied"="已复制";
"device_temp_long_tap_copy"="长按复制临时密码";
"device_temp_sure_to_delete"="确认删除临时密码吗?";
"dmessage_title"="消息";
"message_read"="标记已读";
"message_deleting"="正在删除,请稍候...";
HDL_ON/Common/ApiUtlis.cs
@@ -314,9 +314,18 @@
                                //======================登录全视通====================
                                if (isInterphoneType_FREEVIEW)
                                {
#if __IOS__
                        //登录全视通
                        Shared.IOS.HDLFVSDK.Video.Init("", DB_ResidenceData.Instance.CurrentRegion.id);
                                    var extUserResult = Ins.HttpRequest.GetExtUserId(DB_ResidenceData.Instance.CurrentRegion.id);
                                    if (extUserResult.Code == StateCode.SUCCESS)
                                    {
                                        var data = JsonConvert.DeserializeObject<extUserInfo>(deviceResult.Data.ToString());
                                        //登录全视通
                                        //Shared.IOS.HDLFVSDK.Video.Init("", data.extUserId, DB_ResidenceData.Instance.CurrentRegion.id, "78FF1E4D-FC0A-4E71-9B79-0448E4460BD7", "T0001", "120.77.53.170:9700", "120.77.53.170:21664");
                                    }
#endif
                                }
HDL_ON/Common/HDLCommon.cs
@@ -7,7 +7,7 @@
using HDL_ON.Entity;
using System.Threading;
using HDL_ON.DriverLayer;
using Foundation;
namespace HDL_ON
{
    /// <summary>
HDL_ON/Common/R.cs
@@ -3104,7 +3104,11 @@
        /// 来自“门铃”呼叫
        /// </summary>
        public const int laizimenlinghujiao = 8510;
        /// <summary>
        /// 用户人员
        /// </summary>
        public const int yonghurenyuan = 8511;
HDL_ON/DAL/DriverLayer/Control.cs
@@ -1404,7 +1404,7 @@
                                EnvironmentalPage.LoadEvent_UpdataStatus(localFunction);
                                //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(localFunction);
                                break;
                            case SPK.SensorEnvironment:
                            case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
                            case SPK.SensorEnvironment2:
                            case SPK.SensorEnvironment3:
                                if (localFunction.GetAttributes().Contains(FunctionAttributeKey.Temperature))
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -2078,7 +2078,7 @@
        /// <param name="productPlatform"></param>
        /// <param name="productBrand"></param>
        /// <returns></returns>
        public ResponsePackNew IndependentRegister3TyDevcie(string spk, string extDevId, string deviceName, string pairCode = "")
        public ResponsePackNew IndependentRegister3TyDevcie(string spk, string extDevId, string deviceName,string productBrandIdentity, string pairCode = "")
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
@@ -2086,6 +2086,7 @@
            d.Add("extDevId", extDevId);
            d.Add("name", deviceName);
            d.Add("code", pairCode);
            d.Add("productBrandIdentity", productBrandIdentity);
            var requestJson = HttpUtil.GetSignRequestJson(d);
@@ -2867,9 +2868,25 @@
        }
#endregion
        /// <summary>
        /// 获取第三方注册的id
        /// </summary>
        /// <param homeId="homeId">住宅id</param>
        /// <returns></returns>
        public ResponsePackNew GetExtUserId(string homeId)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", homeId);
#region ■ 门锁相关____________________________
            var requestJson = HttpUtil.GetSignRequestJson(d);
            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetExtUserId, requestJson);
            return pack;
        }
        #endregion
        #region ■ 门锁相关____________________________
        /// <summary>
        /// 获取门锁历史记录(按日期降序)
HDL_ON/DAL/Server/NewAPI.cs
@@ -831,7 +831,10 @@
        /// </summary>
        public const string Api_Post_GetListHomeFace = "/home-wisdom/app/logic/listHomeFace";
        /// <summary>
        /// 获第三方注册userId
        /// </summary>
        public const string Api_Post_GetExtUserId = "/community-wisdom/app/visitor/freeview/getExtMemberInfo";
        #endregion
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -82,7 +82,7 @@
            if (interphoneType == InterphoneType.IMOUVISIAL.ToString())
            {
                //乐橙可视对讲
                //1.初始化LCOpenSDK_Api
                //1.初始化LCOpenSDK_Api(Shared.IOS.LCVideoOnSDK)
                LCApiKit.SharedInstance().IsChinaMainland = GetIsChinaMainland();
                LCApiKit.SharedInstance().InitSDKOpenApi(mESVideoInfo.Lc_AccessToken);
                LCApiKit.SharedInstance().CurrentDevicePlayToken = mESVideoInfo.Lc_PlayToken;
@@ -98,21 +98,17 @@
            }
            else if(interphoneType == InterphoneType.FLVI.ToString())
            {
                //Shared.IOS.ESVideoOnSDK
                ESOnMonitorViewController vc = new ESOnMonitorViewController();
                vc.MESVideoID = mESVideoInfo.ESVideoUUID;
                vc.MESRoomID = roomID;
                vc.DeviceName = mESVideoInfo.DeviceName;
                //vc.RoomName = mESVideoInfo.RoomName;
                //vc.MESCallDelegate = new OnESCallDelegate(this);
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }else if (interphoneType == InterphoneType.HDL.ToString())
            }
            else if (interphoneType == InterphoneType.HDL.ToString())
            {
                //HDLLinphone 狄耐克
                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo, interphoneType);
                ////全视通
                //NSDictionary deviceInfo = new NSDictionary("deviceCode","3-1-11-2", "deviceName", mESVideoInfo.DeviceName);
                //Shared.IOS.HDLFVSDK.Video.Monitor(deviceInfo);
            } else if (interphoneType == InterphoneType.FREEVIEW.ToString())
            {
                //全视通监视
@@ -191,7 +187,7 @@
            if (interphoneType == InterphoneType.IMOUVISIAL.ToString())
            {
                //乐橙可视对讲
                //1.初始化LCOpenSDK_Api
                //1.初始化LCOpenSDK_Api(Shared.IOS.LCVideoOnSDK)
                LCApiKit.SharedInstance().IsChinaMainland = GetIsChinaMainland();
                LCApiKit.SharedInstance().InitSDKOpenApi(mESVideoInfo.Lc_AccessToken);
                //2021-05-18 目前推送的PlayToken;有问题会导致SDK崩溃,暂时不传
@@ -229,7 +225,7 @@
            }
            else if (interphoneType == InterphoneType.FLVI.ToString())
            {
                //Shared.IOS.ESVideoOnSDK
                ESOnIntercomViewController vc = new ESOnIntercomViewController();
                vc.MESVideoID = mESVideoInfo.ESVideoUUID;
                vc.MESRoomID = roomID;
@@ -239,7 +235,8 @@
                mOnESCallDelegate = new OnESCallDelegate(this);
                vc.MESCallDelegate = mOnESCallDelegate;
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }else{
            }
            else{
                HDLUtils.WriteLine("未支持的可视对讲类型");
            }
@@ -571,7 +568,7 @@
#if __IOS__
        #region OnESCallDelegate
        /////// <summary>
        /////// OnESCallDelegate 继承响应事件
        /////// OnESCallDelegate 继承响应事件(Shared.IOS.ESVideoOnSDK)
        /////// </summary>
        OnESCallDelegate mOnESCallDelegate;
@@ -647,7 +644,7 @@
        #region OnLCCallDelegate
        /////// <summary>
        /////// OnLCCallDelegate 继承响应事件
        /////// OnLCCallDelegate 继承响应事件(Shared.IOS.LCVideoOnSDK)
        /////// </summary>
        OnLCCallDelegate mOnLCCallDelegate;
@@ -715,7 +712,7 @@
        #endregion
#endif
        ///// <summary>
HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -15,7 +15,7 @@
#else
using Foundation;
using UIKit;
//using Shared.IOS.HDLLinphoneSDK;
using Shared.IOS.HDLLinphoneSDK;
#endif
namespace Shared
@@ -92,13 +92,13 @@
#if __IOS__
            //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().InitalLinPhone();
            ////设置收到来电后、是否需自动跳转呼叫页面方案
            //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().IsAutoJumpCallView = IsAutoJumpCallView;
            ////设置Listener监听
            //mOnHDLLinphoneCallDelegate = new OnHDLLinphoneCallDelegate(this);
            //Console.WriteLine(UserInfo.Current.ID);
            //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().HdlLinphoneCallDelegate = mOnHDLLinphoneCallDelegate;
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().InitalLinPhone();
            //设置收到来电后、是否需自动跳转呼叫页面方案
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().IsAutoJumpCallView = IsAutoJumpCallView;
            //设置Listener监听(Shared.IOS.HDLLinphoneSDK)
            mOnHDLLinphoneCallDelegate = new OnHDLLinphoneCallDelegate(this);
            Console.WriteLine(UserInfo.Current.ID);
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().HdlLinphoneCallDelegate = mOnHDLLinphoneCallDelegate;
#else
            HDLLinphoneKit.Instance.InitLinphone(Application.Activity);
            //设置收到来电后、是否需自动跳转呼叫页面方案
@@ -125,9 +125,8 @@
#if __IOS__
            //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("1003", "123456", "192.168.31.194:5060");
            //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("6666", "85521566", "116.62.26.215:5060");
            //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm);
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm);
#else
            if (mInterphoneType == InterphoneType.FREEVIEW.ToString())
            {
@@ -163,7 +162,7 @@
            this.mHDLCallVideoInfo = null;
#if __IOS__
            //HDLLinPhoneSDK.Instance().LogoutAllLinphoneUser();
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().LogoutAllLinphoneUser();
#else
            HDLLinphoneKit.Instance.Logout();
#endif
@@ -176,7 +175,7 @@
        {
#if __IOS__
            //HDLLinPhoneSDK.Instance().ClearAllConfigs();
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().ClearAllConfigs();
#else
            HDLLinphoneKit.Instance.ClearProxyConfig();
#endif
@@ -427,7 +426,7 @@
#if __IOS__
            //HDLLinPhoneSDK.Instance().CallWithUserName(mHDLCallVideoInfo.DeviceSipAccount, mHDLCallVideoInfo.DeviceName);
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().CallWithUserName(mHDLCallVideoInfo.DeviceSipAccount, mHDLCallVideoInfo.DeviceName);
#else
            //1.先呼叫设备
@@ -495,7 +494,7 @@
            {
#if __IOS__
                //自研可视对讲
                //HDLLinPhoneSDK.Instance().GotoHDLSRLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName,mHDLCallVideoInfo.DeviceSipAccount);
                Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().GotoHDLSRLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName, mHDLCallVideoInfo.DeviceSipAccount);
#else
                var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneReverseCallActivity));  
                if (mHDLCallVideoInfo != null)
@@ -513,7 +512,7 @@
                if (IsAutoJumpCallView) return;
                //先结束掉之前的线程
                EndCheckIncomingCallThread();
                //检测是否来电了如果是直接调整呼叫页面如果不是则开启线程等待判断
                //检测是否来电了如果是直接调整呼叫页面如果不是则开启线程等待判断(Shared.IOS.HDLLinphoneSDK)
                if (IsIncomingReceivedCallState())
                {
                    Utlis.WriteLine("CALL 已经来电了。。。打开呼叫页面");
@@ -530,13 +529,13 @@
        }
        /// <summary>
        /// 是否来电状态
        /// 是否来电状态(Shared.IOS.HDLLinphoneSDK)
        /// </summary>
        /// <returns></returns>
        bool IsIncomingReceivedCallState() {
        bool IsIncomingReceivedCallState()
        {
#if __IOS__
            //return HDLLinPhoneSDK.Instance().IsIncomingReceivedCallState;
            return true;
            return Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().IsIncomingReceivedCallState;
#else
            return HDLLinphoneKit.Instance.IsIncomingReceivedCallState;
#endif
@@ -549,7 +548,7 @@
#if __IOS__
            //HDLLinPhoneSDK.Instance().GotoHDLLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName);
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().GotoHDLLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName);
#else
            var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneIntercomActivity));
@@ -598,7 +597,7 @@
                                threadTime--;
                                Utlis.WriteLine("CALL 检测中...." + threadTime);
                                Thread.Sleep(1000);
                                //来电了,跳转呼叫页面
                                //来电了,跳转呼叫页面(Shared.IOS.HDLLinphoneSDK)
                                if (IsIncomingReceivedCallState())
                                {
                                    Utlis.WriteLine("CALL 来电了。。。打开呼叫页面");
@@ -650,10 +649,10 @@
            return checkIncomingCallThread == null || checkIncomingCallThread.ThreadState != ThreadState.Running;
        }
#endregion
        #endregion
#region ■  --  Android相关操作_______________________________
        #region ■  --  Android相关操作_______________________________
#if __Android__
@@ -748,93 +747,93 @@
        }
#endif
#endregion
        #endregion
#region ■  --  iOS相关操作_______________________________
        #region ■  --  iOS相关操作_______________________________
#if __IOS__
#region OnHDLLinphoneCallDelegate
        ///// <summary>
        /////
        ///// </summary>
        //OnHDLLinphoneCallDelegate mOnHDLLinphoneCallDelegate;
        ///// <summary>
        /////
        ///// </summary>
        //public class OnHDLLinphoneCallDelegate : HDLLinphoneCallDelegate
        //{
        //    [Weak] HDLLinphone hdlLinphone;
        #region OnHDLLinphoneCallDelegate
        /// <summary>
        ///
        /// </summary>
        OnHDLLinphoneCallDelegate mOnHDLLinphoneCallDelegate;
        //    public OnHDLLinphoneCallDelegate(HDLLinphone mHDLLinphone)
        //    {
        //        this.hdlLinphone = mHDLLinphone;
        //    }
        /// <summary>
        ///
        /// </summary>
        public class OnHDLLinphoneCallDelegate : HDLLinphoneCallDelegate
        {
            [Weak] HDLLinphone hdlLinphone;
        //    /// <summary>
        //    /// 接听
        //    /// </summary>
        //    public override void OnAnswerAction()
        //    {
        //        hdlLinphone.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.HDL);
        //    }
            public OnHDLLinphoneCallDelegate(HDLLinphone mHDLLinphone)
            {
                this.hdlLinphone = mHDLLinphone;
            }
        //    /// <summary>
        //    /// 挂断
        //    /// </summary>
        //    /// <param name="callDuration"></param>
        //    public override void OnHangUpAction(int callDuration)
        //    {
        //        hdlLinphone.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.HDL, callDuration);
        //    }
            /// <summary>
            /// 接听
            /// </summary>
            public override void OnAnswerAction()
            {
                hdlLinphone.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.HDL);
            }
        //    /// <summary>
        //    /// 拒接
        //    /// </summary>
        //    public override void OnRejectCallAction()
        //    {
        //        hdlLinphone.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.HDL);
        //    }
            /// <summary>
            /// 挂断
            /// </summary>
            /// <param name="callDuration"></param>
            public override void OnHangUpAction(int callDuration)
            {
                hdlLinphone.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.HDL, callDuration);
            }
        //    /// <summary>
        //    /// 截图成功
        //    /// </summary>
        //    /// <param name="image"></param>
        //    //public override void OnScreenshotSuccessfulAction(UIImage image)
        //    //{
        //        ////NSData imageData = UIImagePNGRepresentation(image); UIImage
        //        //NSData imageData = image.AsPNG();
        //        //byte[] dataBytes = new byte[imageData.Length];
        //        //System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, dataBytes, 0, Convert.ToInt32(imageData.Length));
        //        ////image.g
        //        ////hdlLinphone.ScreenshotSuccessfulAction(dataBytes);
        //    //}
            /// <summary>
            /// 拒接
            /// </summary>
            public override void OnRejectCallAction()
            {
                hdlLinphone.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.HDL);
            }
        //    /// <summary>
        //    /// 开锁成功
        //    /// </summary>
        //    public override void OnUnlockAction()
        //    {
        //        hdlLinphone.HDLUnlockAction();
        //    }
            /// <summary>
            /// 截图成功
            /// </summary>
            /// <param name = "image" ></ param >
            public  void OnScreenshotSuccessfulAction(UIImage image)
            {
                //NSData imageData = UIImagePNGRepresentation(image); UIImage
                NSData imageData = image.AsPNG();
                byte[] dataBytes = new byte[imageData.Length];
                System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, dataBytes, 0, Convert.ToInt32(imageData.Length));
                //image.g
                //hdlLinphone.ScreenshotSuccessfulAction(dataBytes);
            }
        //    /// <summary>
        //    /// 来电中...
        //    /// </summary>
        //    public override void OnIncomingCall(string userName)
        //    {
        //        Utlis.WriteLine("OnIncomingCall :" + userName);
        //    }
            /// <summary>
            /// 开锁成功
            /// </summary>
            public override void OnUnlockAction()
            {
                hdlLinphone.HDLUnlockAction();
            }
            /// <summary>
            /// 来电中...
            /// </summary>
            public override void OnIncomingCall(string userName)
            {
                Utlis.WriteLine("OnIncomingCall :" + userName);
            }
        //}
#endregion
        }
        #endregion
#endif
#endregion
        #endregion
    }
HDL_ON/Entity/Function/Function.cs
@@ -742,6 +742,18 @@
            var sFunc = new SceneFunction();
            foreach (var attr in attributes)
            {
                //窗帘同时发送开关跟百分比会有问题,
                if(spk == SPK.CurtainRoller || spk == SPK.CurtainTrietex)
                {
                    if (attr.key == FunctionAttributeKey.OnOff)
                    {
                        if (attributes.Find((obj) => obj.key == FunctionAttributeKey.Percent) != null)
                        {
                            continue;
                        }
                    }
                }
                switch (attr.key)
                {
                    case FunctionAttributeKey.OnOff:
@@ -1362,6 +1374,7 @@
        /// 门锁
        /// </summary>
        public const string DoorLock = "security.door";
        /// <summary>
        /// 门锁spk列表
        /// </summary>
@@ -1760,7 +1773,7 @@
            spkList.Add(SensorCO2);
            spkList.Add(SensorTVOC);
            spkList.Add(SensorHumidity);
            spkList.Add(SensorEnvironment);
            spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin);
            spkList.Add(SensorEnvironment2);
            spkList.Add(SensorEnvironment3);
            spkList.Add(SensorHcho);
@@ -1790,7 +1803,7 @@
        public static List<string> EvironmentSensorList()
        {
            var spkList = new List<string>();
            spkList.Add(SensorEnvironment);
            spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin);
            spkList.Add(SensorEnvironment2);
            spkList.Add(SensorEnvironment3);
            return spkList;
HDL_ON/Entity/FunctionList.cs
@@ -77,6 +77,17 @@
                if (_IpCamImou.Count > 0)
                {
#if __IOS__
                    //初始化大华摄像头sdk
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().InitSDKWithAppKey("HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken = UserInfo.Current.LoginTokenString;
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshToken = UserInfo.Current.RefreshToken;
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                    Console.WriteLine("token:" + UserInfo.Current.LoginTokenString);
                    Console.WriteLine("token:" + UserInfo.Current.RefreshToken);
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshDeviceList();
#else
                    Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                    Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs
@@ -174,4 +174,26 @@
    //}
    /// <summary>
    /// 第三方注册信息
    /// </summary>
    public class extUserInfo
    {
        public string extUserId = "";
        public string extPlatform = "";
        public string homeId = "";
        public string extServerIp = "";
        public string extTenantCode = "";
        public string extUUID = "";
        public string extra = "";
    }
}
HDL_ON/Entity/Room.cs
@@ -568,5 +568,6 @@
            scenes.Remove(scenes.Find((obj) => obj.sid == scene.sid));
        }
    }
}
HDL_ON/HDL_ON.projitems
@@ -528,12 +528,12 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31UsbMusicList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\CommonMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31FlieList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorLockListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorLockPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\CommonMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\ObjectClass.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideDoorLockSend.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\StackTraceLog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\ObjectClass.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\CommonMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorLockPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorLockListPage.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
@@ -561,6 +561,5 @@
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\LightScene\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\FaceManagement\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Acst\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\" />
  </ItemGroup>
</Project>
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -65,13 +65,13 @@
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.CurtainRoller:
                        var rollingShutterView = new VenetianBlindsPage(function);
                        var rollingShutterView = new RollingShutterPage(function);
                        MainPage.BasePageView.AddChidren(rollingShutterView);
                        rollingShutterView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        break;
                    case SPK.CurtainShades:
                        var curtainShadesView = new RollingShutterPage(function);
                        var curtainShadesView = new VenetianBlindsPage(function);
                        MainPage.BasePageView.AddChidren(curtainShadesView);
                        curtainShadesView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -234,7 +234,19 @@
                        doorLockPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.IpCam_Imou:
#if __IOS__
                        if (Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken == null)
                        {//未初始化摄像头
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().InitSDKWithAppKey("HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken = UserInfo.Current.LoginTokenString;
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshToken = UserInfo.Current.RefreshToken;
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshDeviceList();
                        }
                        //跳转大华摄像头
                        Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshDeviceList();
                        Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().ToMonitorViewWithDeviceId(function.extDevId, function.name, Shared.Application.currentVC);
#else
                        FunctionList.List.GetIpCamImouList();
                        if (string.IsNullOrEmpty(Com.Utils.HdlToLcUtils.Instance.SubAccessToken))
@@ -260,6 +272,7 @@
                                        Application.RunOnMainThread(() =>{
                                            try
                                            {
                                                Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
                                                Com.Utils.HdlToLcUtils.Instance.Play(function.extDevId, function.name);
                                            }
@@ -299,6 +312,7 @@
                        {
                            try
                            {
                                Com.Utils.HdlToLcUtils.Instance.Play(function.extDevId, function.name);
                            }
                            catch (Exception ex)
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -232,6 +232,7 @@
                    //etAccount.Text = "13418062953";
                    etAccount.Text = "13138683659";
                    //etAccount.Text = "15217626103";
                    etAccount.Text = "13377799637";
                }
                else
                {
@@ -282,6 +283,10 @@
                {
                    etPassword.Text = "wsad123321";
                }
                else if (etAccount.Text == "13377799637")
                {
                    etPassword.Text = "lc392962649";
                }
                //etPassword.Text = "Hdl85521566";
                btnLogin.IsSelected = true;
            };
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -342,7 +342,7 @@
                    }
                    break;
                //环境检测传感器
                case SPK.SensorEnvironment:
                case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
                case SPK.SensorEnvironment2:
                case SPK.SensorEnvironment3:
                    {
@@ -622,11 +622,12 @@
                case SPK.VideoDoorLock:
                    {
                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
                        view1.btnText.Text = "用户人员";// StringId.shipintonghuahujiao;
                        view1.btnText.TextID=StringId.yonghurenyuan;
                        view1.btnText.Name = Language.StringByID(StringId.shipinmensuo);
                        fLayout.AddChidren(view1.FLayoutView());
                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            this.identifier = "open_door";//开锁事件
                            this.VideoDoorLockAction(this, device, view1.btnState);
                        };
                        if (edit)
@@ -686,6 +687,12 @@
                        inputDevice.condition = new List<Dictionary<string, string>>();
                    }
                }
                else if (device.spk == SPK.VideoDoorLock)
                {
                    ////萤石视频门锁
                    inputDevice.condition_type = "9";
                    inputDevice.identifier = this.identifier;
                }
                if (edit)
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -311,7 +311,7 @@
                                        }
                                    }
                                    break;
                                case SPK.SensorEnvironment:
                                case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
                                case SPK.SensorEnvironment2:
                                case SPK.SensorEnvironment3:
                                    {
@@ -678,7 +678,7 @@
                            {
                                //用sid找到设备;
                                var device = LogicMethod.Current.GetDevice(inputCondition.sid);
                                if (device.spk == SPK.SensorEnvironment
                                if (device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin
                                || device.spk == SPK.SensorEnvironment2
                                || device.spk == SPK.SensorEnvironment3
                                )
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -456,7 +456,7 @@
                case SPK.SensorMmvPose:
                case SPK.SenesorMegahealth:
                case SPK.SenesorMegahealth2:
                case SPK.SensorEnvironment:
                case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
                case SPK.SensorEnvironment2:
                case SPK.SensorEnvironment3:
                case SPK.SensorTemperature:
@@ -550,7 +550,7 @@
            || device.spk == SPK.SensorMmvPose
            || device.spk == SPK.SenesorMegahealth
            || device.spk == SPK.SenesorMegahealth2
            || device.spk == SPK.SensorEnvironment
            || device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin
             || device.spk == SPK.SensorEnvironment2
              || device.spk == SPK.SensorEnvironment3
                || device.spk == SPK.SensorTemperature
@@ -673,7 +673,7 @@
                functionTypeList.Add(SPK.SensorMmvPose);
                functionTypeList.Add(SPK.SenesorMegahealth);
                functionTypeList.Add(SPK.SenesorMegahealth2);
                functionTypeList.Add(SPK.SensorEnvironment);
                functionTypeList.Add(SPK.SensorEnvironment); functionTypeList.Add(SPK.SensorEnvironmentHailin);
                functionTypeList.Add(SPK.SensorEnvironment2);
                functionTypeList.Add(SPK.SensorEnvironment3);
                functionTypeList.Add(SPK.SensorTemperature);
@@ -754,7 +754,7 @@
                functionTypeList.Add(SPK.SensorMmvPose);
                functionTypeList.Add(SPK.SenesorMegahealth);
                functionTypeList.Add(SPK.SenesorMegahealth2);
                functionTypeList.Add(SPK.SensorEnvironment);
                functionTypeList.Add(SPK.SensorEnvironment); functionTypeList.Add(SPK.SensorEnvironmentHailin);
                functionTypeList.Add(SPK.SensorEnvironment2);
                functionTypeList.Add(SPK.SensorEnvironment3);
                functionTypeList.Add(SPK.SensorTemperature);
@@ -818,7 +818,7 @@
                        deviceTypeList.Add(SPK.SensorMmvPose);
                        deviceTypeList.Add(SPK.SenesorMegahealth);
                        deviceTypeList.Add(SPK.SenesorMegahealth2);
                        deviceTypeList.Add(SPK.SensorEnvironment);
                        deviceTypeList.Add(SPK.SensorEnvironment); deviceTypeList.Add(SPK.SensorEnvironmentHailin);
                        deviceTypeList.Add(SPK.SensorEnvironment2);
                        deviceTypeList.Add(SPK.SensorEnvironment3);
                        deviceTypeList.Add(SPK.SensorTemperature);
HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
@@ -92,11 +92,12 @@
            //日出/日落/正午点击事件
            timeSpecialView.btnClick.MouseUpEventHandler += (sen, e) =>
            {
                if (string.IsNullOrEmpty( Entity.DB_ResidenceData.Instance.CurrentRegion.homeAddress))//.longitude == 0 && Entity.DB_ResidenceData.Instance.CurrentRegion.latitude == 0)
                {
                    new PublicAssmebly().TipMsg(StringId.tip, StringId.GatewayLocationInformationIsNotConfigured);
                    return;
                }
                //if (string.IsNullOrEmpty( Entity.DB_ResidenceData.Instance.CurrentRegion.homeAddress))//.longitude == 0 && Entity.DB_ResidenceData.Instance.CurrentRegion.latitude == 0)
                //{
                //    new PublicAssmebly().TipMsg(StringId.tip, StringId.GatewayLocationInformationIsNotConfigured);
                //    return;
                //}
                SpeciaTime speciaTime = new SpeciaTime();
                MainPage.BasePageView.AddChidren(speciaTime);
                speciaTime.Show();
HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
@@ -86,38 +86,38 @@
            //判断是否需要隐藏自动化
            if (HideAutoPage)
            {
                if (DB_ResidenceData.Instance.GatewayType == 1)//网关需要加载安防--2021-11-28 19:56:53  刘晓辉将安防放入该界面
                {
                    btnSceneTilte  = new Button()
                    {
                        Y = Application.GetRealHeight(30),
                        Width = Application.GetRealWidth(170),
                        Height = Application.GetRealHeight(25),
                        TextAlignment = TextAlignment.CenterRight,
                        TextSize = CSS_FontSize.HeadlineFontSize,
                        TextColor = CSS_Color.PromptingColor1,
                        SelectedTextColor = CSS_Color.MainColor,
                        TextID = StringId.Scenes,
                        IsSelected = true
                    };
                    topView.AddChidren(btnSceneTilte);
                //if (DB_ResidenceData.Instance.GatewayType == 1)//网关需要加载安防--2021-11-28 19:56:53  刘晓辉将安防放入该界面
                //{
                //    btnSceneTilte  = new Button()
                //    {
                //        Y = Application.GetRealHeight(30),
                //        Width = Application.GetRealWidth(170),
                //        Height = Application.GetRealHeight(25),
                //        TextAlignment = TextAlignment.CenterRight,
                //        TextSize = CSS_FontSize.HeadlineFontSize,
                //        TextColor = CSS_Color.PromptingColor1,
                //        SelectedTextColor = CSS_Color.MainColor,
                //        TextID = StringId.Scenes,
                //        IsSelected = true
                //    };
                //    topView.AddChidren(btnSceneTilte);
                    btnSecurityTitle = new Button()
                    {
                        X = Application.GetRealWidth(209),
                        Y = Application.GetRealHeight(30),
                        Width = Application.GetRealWidth(170),
                        Height = Application.GetRealHeight(25),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.TextFontSize,
                        TextColor = CSS_Color.PromptingColor1,
                        SelectedTextColor = CSS_Color.MainColor,
                        TextID = StringId.anfang,
                    };
                    topView.AddChidren(btnSecurityTitle);
                    btnAutomationTitle = new Button();
                }
                else
                //    btnSecurityTitle = new Button()
                //    {
                //        X = Application.GetRealWidth(209),
                //        Y = Application.GetRealHeight(30),
                //        Width = Application.GetRealWidth(170),
                //        Height = Application.GetRealHeight(25),
                //        TextAlignment = TextAlignment.CenterLeft,
                //        TextSize = CSS_FontSize.TextFontSize,
                //        TextColor = CSS_Color.PromptingColor1,
                //        SelectedTextColor = CSS_Color.MainColor,
                //        TextID = StringId.anfang,
                //    };
                //    topView.AddChidren(btnSecurityTitle);
                //    btnAutomationTitle = new Button();
                //}
                //else
                {
                    btnSceneTilte = new Button()
HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorEnvironment/AddSensorEnvironmentPage.cs
@@ -123,7 +123,7 @@
            {
                editText.PlaceholderText = Language.StringByID(StringId.PlsEntryMacCode);
            }
            if (integratedDevice.spk == SPK.SensorEnvironment)
            if (integratedDevice.spk == SPK.SensorEnvironment || integratedDevice.spk == SPK.SensorEnvironmentHailin)
            {
                Button btnScan = new Button()
                {
@@ -160,7 +160,7 @@
                        try
                        {
                            var pm = new HttpServerRequest();
                            var pack = pm.IndependentRegister3TyDevcie(integratedDevice.spk, snCode,integratedDevice.ProductShowName, pairString);// Language.StringByID(StringId.SensorEnvironment)
                            var pack = pm.IndependentRegister3TyDevcie(integratedDevice.spk, snCode,integratedDevice.ProductShowName, integratedDevice.productBrand, pairString);// Language.StringByID(StringId.SensorEnvironment)
                            if (pack.Code == StateCode.SUCCESS)
                            {
                                //var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<IntegratedBrandDevice>>(pack.Data.ToString());
HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs
@@ -115,7 +115,7 @@
                        try
                        {
                            var pm = new HttpServerRequest();
                            var pack = pm.IndependentRegister3TyDevcie(device.spk, snCode,Language.StringByID(StringId.SenesorMillimeterWave));
                            var pack = pm.IndependentRegister3TyDevcie(device.spk, snCode,Language.StringByID(StringId.SenesorMillimeterWave),device.productBrand);
                            if (pack.Code == StateCode.SUCCESS)
                            {
                                //var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<IntegratedBrandDevice>>(pack.Data.ToString());
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs
@@ -1,13 +1,47 @@
using System;
using System.Collections.Generic;
#if __ANDROID__
using Android.Content;
#endif
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
#if __IOS__
using Shared.IOS.HDLCNVRSDK;
#endif
namespace HDL_ON.UI
{
    public class AddDevciePage : FrameLayout
    {
#if __ANDROID__
    public class dddxx { }
#else
        //大华摄像头sdk代理(Shared.IOS.HDLCNVRSDK)
        hdlLCNVRSDKDelegate hdlLCNVRDelegate;
        public class hdlLCNVRSDKDelegate : HDLLCNVRSDKDelegate
        {
            Action act;
            public hdlLCNVRSDKDelegate(Action action)
            {
                act = action;
            }
            public override void AddDeviceFailWithErrorCode(string errorCode)
            {
            }
            public override void BackFromAddDeviceView()
            {
                act?.Invoke();
            }
        }
#endif
        FrameLayout bodyView;
        IntegratedBrand brand;
        VerticalRefreshLayout contentView;
@@ -20,6 +54,7 @@
        public void LoadPage(VerticalRefreshLayout refreshView)
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.AddDevice)).LoadTopView();
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
@@ -46,7 +81,8 @@
        {
            var waitPage = new Loading();
            waitPage.Start();
            new System.Threading.Thread(() => {
            new System.Threading.Thread(() =>
            {
                try
                {
                    var pm = new HttpServerRequest();
@@ -119,7 +155,7 @@
                    Width = Application.GetRealWidth(32),
                    Height = Application.GetRealWidth(32),
                    Radius = (uint)Application.GetRealWidth(4),
                    UnSelectedImagePath =  $"FunctionIcon/Icon/{device.IconName}.png",
                    UnSelectedImagePath = $"FunctionIcon/Icon/{device.IconName}.png",
                };
                row.AddChidren(btnIcon);
                Button btnRight = new Button()
@@ -143,30 +179,235 @@
                };
                row.AddChidren(btnName);
                btnName.MouseUpEventHandler = (sender, e) => {
                btnName.MouseUpEventHandler = (sender, e) =>
                {
                    switch (device.spk)
                    {
                        case SPK.IpCam_Imou:
#if __IOS__
                            //初始化大华摄像头sdk
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().InitSDKWithAppKey("HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken = UserInfo.Current.LoginTokenString;
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshToken = UserInfo.Current.RefreshToken;
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                            //跳转添加摄像头(Shared.IOS.HDLCNVRSDK)
                            hdlLCNVRDelegate = new hdlLCNVRSDKDelegate(() =>
                            {//添加成功返回事件
                                refreshView.BeginHeaderRefreshing();
                                this.RemoveFromParent();
                            });
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().Delegate = hdlLCNVRDelegate;
                            Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().ToAddDeviceView();
#else
                                FunctionList.List.GetIpCamImouList();
                                if (string.IsNullOrEmpty(Com.Utils.HdlToLcUtils.Instance.SubAccessToken))
                                {
                                    var waitPage = new Loading();
                                    MainPage.BaseView.AddChidren(waitPage);
                                    waitPage.Start("");
                                    new System.Threading.Thread(() =>
                                    {
                                        try
                                        {
#if DEBUG
                                            Com.Utils.HdlToLcUtils.Instance.ShowErrorInfo(true);
#endif
                                            var http = new HttpServerRequest();
                                            var pack = http.GetLcSubAccountToken();
                                            if (pack.Code == StateCode.SUCCESS)
                                            {
                                                if (pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString()))
                                                {
                                                    Application.RunOnMainThread(() =>
                                                    {
                                                        new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.Get3tyIotInfoFailed));
                                                        return;
                                                    });
                                                }
                                                Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                                                Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                                                Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken;
                                                Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
#if __ANDROID__
                                                Application.RunOnMainThread(() =>
                                                {
                                                    try
                                                    {
                                                        var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions();
                                                        if (result)
                                                        {
                                                            var bindDeviceFeedback = new BindDeviceFeedback();
                                                            bindDeviceFeedback.tipAction = (method, msg) => {
                                                                HDLUtils.WriteLine(method + "::" + msg);
                                                                if(method == "bindDevice")
                                                                {
                                                                    var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg);
                                                                    if (bindResult != null)
                                                                    {
                                                                        if (bindResult.Code == "147021") {
                                                                            string tipTitle = "提示";
                                                                            string tipMsg = "无法绑定该设备,请从河东渠道购买该类型产品";
                                                                            if (Language.CurrentLanguage != "Chinese")
                                                                            {
                                                                                tipTitle = "Tip";
                                                                                tipMsg = "Unable to bind this device. Please purchase this type of product from HDL";
                                                                            }
                                                                            new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                                        }
                                                                        else
                                                                        {
                                                                            string tipTitle = "提示";
                                                                            string tipMsg = $"{bindResult.message}({bindResult.Code})";
                                                                            if (Language.CurrentLanguage != "Chinese")
                                                                            {
                                                                                tipTitle = "Tip";
                                                                            }
                                                                            new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                                        }
                                                                    }
                                                                }
                                                            };
                                                            Hdl.Onpro.HdlData.Instance.InitData(bindDeviceFeedback, device.productBrand);
                                                            var backTemp = new AddLcCam();
                                                            backTemp.backAction = () =>
                                                            {
                                                                refreshView.BeginHeaderRefreshing();
                                                                this.RemoveFromParent();
                                                            };
                                                            Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
                                                        }
                                                        else
                                                        {
                                                            Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions();
                                                        }
                                                    }
                                                    catch (Exception ex)
                                                    {
                                                    }
                                                    finally
                                                    {
                                                    }
                                                });
#endif
                                            }
                                            else
                                            {
                                                Application.RunOnMainThread(() =>
                                                {
                                                    new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})");
                                                });
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            MainPage.Log("加载乐橙摄像头异常");
                                        }
                                        finally
                                        {
                                            Application.RunOnMainThread(() =>
                                            {
                                                if (waitPage != null)
                                                {
                                                    waitPage.RemoveFromParent();
                                                    waitPage = null;
                                                }
                                            });
                                        }
                                    })
                                    { IsBackground = true }.Start();
                                }
                                else
                                {
                                    var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions();
                                    if (result)
                                    {
                                        var bindDeviceFeedback = new BindDeviceFeedback();
                                        bindDeviceFeedback.tipAction = (method, msg) => {
                                            HDLUtils.WriteLine(method + "::" + msg);
                                            if (method == "bindDevice")
                                            {
                                                var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg);
                                                if (bindResult != null)
                                                {
                                                    if (bindResult.Code == "147021")
                                                    {
                                                        string tipTitle = "提示";
                                                        string tipMsg = "无法绑定该设备,请从河东渠道购买该类型产品";
                                                        if (Language.CurrentLanguage != "Chinese")
                                                        {
                                                            tipTitle = "Tip";
                                                            tipMsg = "Unable to bind this device. Please purchase this type of product from HDL";
                                                        }
                                                        new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                    }
                                                    else
                                                    {
                                                        string tipTitle = "提示";
                                                        string tipMsg = $"{bindResult.message}({bindResult.Code})";
                                                        if (Language.CurrentLanguage != "Chinese")
                                                        {
                                                            tipTitle = "Tip";
                                                        }
                                                        new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                    }
                                                }
                                            }
                                        };
                                        Hdl.Onpro.HdlData.Instance.InitData(bindDeviceFeedback, device.productBrand);
                                    var backTemp = new AddLcCam();
                                        backTemp.backAction = () =>
                                        {
                                            refreshView.BeginHeaderRefreshing();
                                            this.RemoveFromParent();
                                        };
                                        Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
                                    }
                                    else
                                    {
                                        Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions();
                                    }
                                }
#endif
                            break;
                        case SPK.IrModule:
                            var form = new AddMiniRemoteControlDirection1Page();
                            form.AddForm();
                            form.AddDeviceEvent = (functionObj) => {
                            form.AddDeviceEvent = (functionObj) =>
                            {
                                refreshView.BeginHeaderRefreshing();
                            };
                            };
                            break;
                        case SPK.SenesorMegahealth:
                        case SPK.SenesorMegahealth2:
                        case SPK.SensorMmvPose:
                            var form1 = new AddSenesorMegahealthDirection1Page();
                            form1.AddForm(device);
                            form1.AddDeviceEvent = (functionObj) => {
                            form1.AddDeviceEvent = (functionObj) =>
                            {
                                refreshView.BeginHeaderRefreshing();
                                this.RemoveFromParent();
                            };
                            break;
                        case SPK.SensorEnvironment:
                        case SPK.SensorEnvironmentHailin:
                            var form2 = new AddSensorEnvironmentPage();
                            form2.AddForm(device);
                            form2.AddDeviceEvent = (functionObj) => {
                            form2.AddDeviceEvent = (functionObj) =>
                            {
                                refreshView.BeginHeaderRefreshing();
                                this.RemoveFromParent();
                            };
@@ -175,7 +416,8 @@
                        case SPK.SensorEnvironment3:
                            var form3 = new AddQingpingSensorEnvirTipPage();
                            form3.AddForm(device);
                            form3.AddDeviceEvent = (functionObj) => {
                            form3.AddDeviceEvent = (functionObj) =>
                            {
                                refreshView.BeginHeaderRefreshing();
                                this.RemoveFromParent();
                            };
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs
@@ -5,6 +5,8 @@
using HDL_ON.UI.CSS;
#if __Android__
using Java.Interop;
using Android.Content;
using Hdl.Onpro;
#endif
using Shared;
namespace HDL_ON.UI
@@ -26,124 +28,10 @@
        {
            Action<string, string> action = (s, a) =>
            {
                if (brand.productBrand == "IMOU")
                {
#if __ANDROID__
                    FunctionList.List.GetIpCamImouList();
                    if (string.IsNullOrEmpty(Com.Utils.HdlToLcUtils.Instance.SubAccessToken))
                    {
                        var waitPage = new Loading();
                        MainPage.BaseView.AddChidren(waitPage);
                        waitPage.Start("");
                        new System.Threading.Thread(() =>
                        {
                            try
                            {
#if DEBUG
                                Com.Utils.HdlToLcUtils.Instance.ShowErrorInfo(true);
#endif
                                var http = new HttpServerRequest();
                                var pack = http.GetLcSubAccountToken();
                                if (pack.Code == StateCode.SUCCESS)
                                {
                                    if (pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString()))
                                    {
                                        Application.RunOnMainThread(() =>
                                        {
                                            new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.Get3tyIotInfoFailed));
                                            return;
                                        });
                                    }
                                    Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                                    Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                                    Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken;
                                    Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
#if __ANDROID__
                                    Application.RunOnMainThread(() =>
                                    {
                                        try
                                        {
                                            var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions();
                                            if (result)
                                            {
                                                var backTemp = new AddLcCam();
                                                backTemp.backAction = () =>
                                                {
                                                    Load3tyBrandDeviceList();
                                                };
                                                Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
                                            }
                                            else
                                            {
                                                Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions();
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                        }
                                    });
#endif
                                }
                                else
                                {
                                    Application.RunOnMainThread(() =>
                                    {
                                        new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})");
                                    });
                                }
                            }
                            catch (Exception ex)
                            {
                                MainPage.Log("加载乐橙摄像头异常");
                            }
                            finally
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    if (waitPage != null)
                                    {
                                        waitPage.RemoveFromParent();
                                        waitPage = null;
                                    }
                                });
                            }
                        })
                        { IsBackground = true }.Start();
                    }
                    else
                    {
                        var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions();
                        if (result)
                        {
                            var backTemp = new AddLcCam();
                            backTemp.backAction = () =>
                            {
                                Load3tyBrandDeviceList();
                            };
                            Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
                        }
                        else
                        {
                            Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions();
                        }
                    }
#endif
                }
                else
                {
                    var page = new AddDevciePage(brand);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage(contentView);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
                var page = new AddDevciePage(brand);
                MainPage.BasePageView.AddChidren(page);
                page.LoadPage(contentView);
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            new TopViewDiv(bodyView, Language.StringByID(StringId.Devices)).LoadTopView_AddIcon("3ty", action);
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
@@ -299,7 +187,7 @@
                                contentView.BeginHeaderRefreshing();
                            };
                            break;
                        case SPK.SensorEnvironment:
                        case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
                        case SPK.SensorEnvironment2:
                        case SPK.SensorEnvironment3:
                            var smPage1 = new SensorEnvironmentManagerPage();
@@ -463,6 +351,23 @@
#if __Android__
    //[Android.Content.BroadcastReceiver(Enabled = true, Exported = false)]
    //public class ImouReceiver : Android.Content.BroadcastReceiver
    //{
    //    public override void OnReceive(Context context, Intent intent)
    //    {
    //        if (intent != null)
    //        {
    //            string action = intent.Action;
    //            if (action == "hdlUserDeviceBind")
    //            {
    //                string value = intent.GetStringExtra("data");
    //            }
    //        }
    //    }
    //}
    public class AddLcCam : Java.Lang.Object, Com.CallBack.IAddCamera
    {
@@ -523,6 +428,17 @@
        {
        }
    }
    public class BindDeviceFeedback : Java.Lang.Object, Hdl.Onpro.IRegisterDeviceFeedback
    {
        public Action<string,string> tipAction;
        public void Feedback(string method, string msg)
        {
            tipAction?.Invoke(method, msg);
        }
    }
#else
    public class AddLcCam
    {
@@ -534,4 +450,8 @@
        }
    }
#endif
}
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
@@ -744,7 +744,7 @@
                    //刷新接口请求所需要的参数
                    Foundation.NSDictionary info = new Foundation.NSDictionary("regionUrl", HttpUtil.GlobalRequestHttpsHost, "token", UserInfo.Current.LoginTokenString, "appkey", "HDL-HOME-APP-TEST", "secret", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", "refreshToken", UserInfo.Current.RefreshToken);
                    Shared.IOS.HDLFVSDK.Video.RefreshInfo(info);
                    //跳转访客管理界面
                    ////跳转访客管理界面
                    Shared.IOS.HDLFVSDK.Video.ShowVisitorManager();
#else
                    var page = new VisitorQRCodePage();
@@ -828,6 +828,7 @@
                MainPage.BasePageView.AddChidren(myServerInfoPage);
                myServerInfoPage.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            myServerInfoCellView.GoAction = selectAction;
            myServerInfoCellView.BtnTilte.Text = Language.StringByID(StringId.ServerInformation);
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -4,6 +4,11 @@
using HDL_ON.Entity;
using Shared;
#if __IOS__
using UIKit;
using Foundation;
#endif
namespace HDL_ON.UI
{
    public partial class PersonalDataPage
@@ -439,7 +444,6 @@
                MainPage.BasePageView.AddChidren(aep);
                aep.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            _QRcodeView.MouseUpEventHandler = eventHandler;
            btnQRcode.MouseUpEventHandler = eventHandler;
@@ -447,7 +451,7 @@
            btnQRcodeRight.MouseUpEventHandler = eventHandler;
        }
        #region 修改绑定邮箱
#region 修改绑定邮箱
        /// <summary>
        /// 修改绑定邮箱
        /// </summary>
@@ -459,6 +463,7 @@
                {
                    btnUserEmailInfo.Text = GetBindAccountText(email);
                };
                if (CheckIfUnbound(btnUserEmailInfo.Text))
@@ -493,6 +498,7 @@
                Action<string> action = (phone) =>
                {
                    btnUserPhoneInfo.Text = GetBindAccountText(phone);
                };
                if (CheckIfUnbound(btnUserPhoneInfo.Text))
@@ -511,15 +517,14 @@
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
            };
            btnUserPhoneInfo.MouseUpEventHandler = eventHandler;
            btnUserPhoneRight.MouseUpEventHandler = eventHandler;
            userPhoneInfoView.MouseUpEventHandler = eventHandler;
        }
        #endregion
#endregion
        #region 解锁设置区域
#region 解锁设置区域
        //void LoadEvent_SkipInterpretationSettings()
        //{
        //    EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
@@ -535,7 +540,7 @@
        //    btnInterpretationSettingsTip.MouseUpEventHandler = eventHandler;
        //}
        #endregion
#endregion
        /// <summary>
        /// 跳转修改密码界面
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
@@ -291,10 +291,10 @@
        /// <returns></returns>
        public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 20)
        {
            MainPage.Log("红外宝请求数据:"+api_Url+"\r\n"+o.ToString());
            MainPage.Log("红外宝->发送数据:"+api_Url+"\r\n"+o.ToString());
            var requestJson = HttpUtil.GetSignRequestJson(o);
            var responsePackNew=  HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
            MainPage.Log("回复红外宝请求数据:" + "\r\n"+ Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew));
            MainPage.Log("红外宝->回复数据:" + "\r\n"+ Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew));
            return responsePackNew;
        }
HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
@@ -521,7 +521,7 @@
            {
                if (!commandDic.ContainsKey(FunctionAttributeKey.Brightness))
                {
                    commandDic.Add(FunctionAttributeKey.Brightness, lightCCT[0].GetAttrState(FunctionAttributeKey.Brightness));
                    commandDic.Add(FunctionAttributeKey.Brightness, lightDimming[0].GetAttrState(FunctionAttributeKey.Brightness));
                }
            }
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -39,7 +39,7 @@
        }
        #region  --------- 跳转到Android那边的方法(萤石视频门锁) --------
        #region  --------- 跳转到Android,ios那边的方法(萤石视频门锁) --------
        /// <summary>
        /// android,ios源生添加设备到云端成功后回调方法
        /// 再读取云端的上萤石设备列表
@@ -57,6 +57,21 @@
                        this.ShowTip("先获取萤石云子账号token失败。");
                    }
#if __IOS__
                //跳转添加萤石设备
                ezsdkDelegate = new IosIHdlInterface();
                ezsdkDelegate.mAction += (serials) => {
                    var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
                    if (list.Count > 0)
                    {
                        var function = list.Find((o) => o.sid == serials);
                        if (function != null)
                        {
                            this.SaveFunctionFile(function);
                        }
                    }
                };
                EZSDK.IOS.EZSDK.SharedInstance().Delegate= ezsdkDelegate;
                EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(spk);
#else
                HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk);
@@ -118,7 +133,8 @@
                    {
                        dialog.Close();
#if __IOS__
                        //打开萤石视频界面
                        EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk);
#else
                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
#endif
@@ -130,6 +146,9 @@
                else
                {
#if __IOS__
                    //打开萤石视频界面
                    EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk);
#else
                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
#endif
@@ -150,14 +169,14 @@
            {
#if __IOS__
                //打开萤石历史记录界面
                EZSDK.IOS.EZSDK.SharedInstance().ToDeviceMsgListView(deviceId);
#else
                HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId);
#endif
            });
            //未实现
            //this.InitializationAndroidData();
            //
        }
        /// <summary>
        /// 临时密码开门
@@ -165,7 +184,6 @@
        /// </summary>
        public void SkipPSWActivity(string deviceId)
        {
            this.InitializationAndroidData((isBools) =>
            {
                if (!isBools)
@@ -177,6 +195,8 @@
                    });
                }
#if __IOS__
                //打开萤石临时密码界面
                EZSDK.IOS.EZSDK.SharedInstance().ToTemPassView(deviceId);
#else
                HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId); 
#endif
@@ -250,7 +270,12 @@
        /// <param name="home">对象</param>
        public void ChangeCurrHome(RegionInfoRes home)
        {
            if (DB_ResidenceData.Instance.CurrentRegion.id == home.id || string.IsNullOrEmpty(home.id)) return;
#if __IOS__
#else
                HDLEzvizSdk.Instance.SetHomeId(home.id);
#endif
        }
        #endregion
@@ -458,29 +483,27 @@
        }
#if __IOS__
        ///// <summary>
        ///// 专门定义给Ios回调用着,没有特殊含义
        ///// </summary>
        //public class IosIHdlInterface : Shared.IOS.HDLLinphoneSDK.HDLLinphoneCallDelegate
        //{
        //    Action<bool, string> mAction;
        //    public IosIHdlInterface(Action<bool, string> action)
        //    {
        //        mAction = action;
        //    }
        //    /// <summary>
        //    ///
        //    /// </summary>
        //    /// <param name="p0">true是入网成功(源生回调返回)</param>
        //    /// <param name="p1">设备的序列化(源生回调返回)</param>
        //    public void AddCallback(bool p0, string p1)
        //    {
        //        mAction?.Invoke(p0, p1);
        //    }
        //}
        IosIHdlInterface ezsdkDelegate;
        /// <summary>
        /// 专门定义给Ios回调用着,没有特殊含义
        /// </summary>
        public class IosIHdlInterface : EZSDK.IOS.EZSDKDelegate
        {
          public  Action<string> mAction;
            public IosIHdlInterface()
            {
            }
            /// <summary>
            ///
            /// </summary>
            /// <param name="p0">true是入网成功(源生回调返回)</param>
            /// <param name="p1">设备的序列化(源生回调返回)</param>
            public override void AddDeviceSuccessed(string deviceSerial)
            {
                mAction?.Invoke(deviceSerial);
            }
        }
#else
        /// <summary>
        /// 专门定义给安卓回调用着,没有特殊含义
SiriIntents/SiriIntents.csproj
@@ -79,6 +79,7 @@
    <MtouchArch>ARM64</MtouchArch>
    <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
    <MtouchVerbosity></MtouchVerbosity>
    <CodesignProvision>OnProSiri230308-2-Dev</CodesignProvision>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
SiriIntentsUI/SiriIntentsUI.csproj
@@ -83,6 +83,7 @@
    <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
    <MtouchVerbosity></MtouchVerbosity>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <CodesignProvision>OnProSiriUI230308-2-Dev</CodesignProvision>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />