From bc8e768831cca0097a28d52a107d4edf00c3713a Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期一, 16 五月 2022 20:28:51 +0800
Subject: [PATCH] 1.导入全视通dll,增加全视通相关初始化、监听、访客、退出登录等方法 2.增加访客管理入口 3.增加全局判断是否支持全视通 4.增加自研判断 5.为全视通时隐藏通话记录界面

---
 SiriIntents/SiriIntents.csproj                          |    1 
 HDL_APP_Project.sln                                     |   28 ++
 HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs                 |   44 ++
 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs |   18 +
 HDL-ON_iOS/mono_crash.824c6d50c.0.json                  |  406 +++++++++++++++++++++++++++++++
 HDL-ON_Android/Assets/Language.ini                      |    3 
 DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll          |    0 
 HDL-ON_iOS/HDL-ON_iOS.csproj                            |    8 
 HDL_ON/Common/ApiUtlis.cs                               |   24 +
 HDL_ON/Entity/DB_ResidenceData.cs                       |   16 +
 HDL-ON_iOS/AppDelegate.cs                               |   31 ++
 HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs   |    4 
 HDL-ON_iOS/HDL-ON_iOS.sln                               |   31 ++
 HDL-ON_iOS/Resources/Language.ini                       |    4 
 HDL_ON/DAL/Server/NewApiRes.cs                          |    9 
 HDL_ON/Common/HDLCommon.cs                              |    8 
 HDL_ON/DAL/Server/HttpUtil.cs                           |    4 
 HDL-ON_Android/Resources/Resource.designer.cs           |    2 
 HDL_ON/Common/R.cs                                      |    5 
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs      |   65 ++++
 HDL_ON/DAL/Server/HttpServerRequest.cs                  |   13 
 HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs                   |   24 +
 22 files changed, 716 insertions(+), 32 deletions(-)

diff --git a/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll b/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
index db3126b..44f245c 100644
--- a/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
+++ b/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
Binary files differ
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index ddab725..a48482d 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -1659,7 +1659,8 @@
 530=涓洪槻姝㈠紑鍏抽棬鐨勮瑙︾偣鍑伙紝淇濊瘉瀹跺涵瀹夊叏锛岃杈撳叆鎮ㄧ殑闂ㄩ攣寮�闂ㄥ瘑鐮併��
 531=浜斿垎閽熷唴鍏嶅瘑鐮佸紑閿�
 532=璁惧绂荤嚎涓紝鏆傛椂鏃犳硶鎿嶄綔
- 
+533=璁垮绠$悊
+
 1000=瀹ゅ唴婀垮害
 1001=绔ラ攣
 1002=璐熺瀛�
diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs
index f4be883..5a58a59 100644
--- a/HDL-ON_Android/Resources/Resource.designer.cs
+++ b/HDL-ON_Android/Resources/Resource.designer.cs
@@ -14,7 +14,7 @@
 {
 	
 	
-	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
+	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.4.160")]
 	public partial class Resource
 	{
 		
diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 52a4be6..2669b27 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -92,6 +92,14 @@
 
             // Get previous device token
             var oldDeviceToken = NSUserDefaults.StandardUserDefaults.StringForKey("PushDeviceToken");
+            new Alert("", DeviceToken, "鍙栨秷", "纭畾").Show();
+
+            //NSDictionary test = new NSDictionary(new NSString("123"), new NSString("test"));
+            //NSError error;
+            //NSData dicD = NSJsonSerialization.Serialize(test, NSJsonWritingOptions.PrettyPrinted,out error); ;
+            //NSString str = new NSString(dicD,NSStringEncoding.UTF8);
+
+            //new Alert("", str, "鍙栨秷", "纭畾").Show();
 
             // Has the token changed?
             if (string.IsNullOrEmpty(oldDeviceToken) || !oldDeviceToken.Equals(DeviceToken))
@@ -123,6 +131,14 @@
         public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
         {
             Console.WriteLine("DidReceiveRemoteNotification:" + application.ApplicationState.ToString());
+
+            Console.WriteLine("鎺ㄩ�佹秷鎭細"+userInfo);
+            //var test = new NSDictionary();
+            //test.SetNilValueForKey(new NSString("test"));
+            NSError error;
+            NSData dicD = NSJsonSerialization.Serialize(userInfo, NSJsonWritingOptions.PrettyPrinted, out error); ;
+            NSString str = new NSString(dicD, NSStringEncoding.UTF8);
+            new Alert("", str, "鍙栨秷", "纭畾").Show();
 
             //璇诲彇鎺ㄩ�佷俊鎭�
             UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
@@ -172,12 +188,18 @@
 
         public override void OnResignActivation(UIApplication application)
         {
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplicationWillResignActive(application);
+
             Console.WriteLine("OnResignActivation");
             UserInfo.Current.unlockTime = DateTime.Now;
         }
 
         public override void DidEnterBackground(UIApplication application)
         {
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplicationDidEnterBackground(application);
+
             //SharedMethod.SharedMethod.IsBackground = true;
             //MainPage.IsEnterBackground = true;
             ////杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
@@ -203,6 +225,9 @@
 
         public override void OnActivated(UIApplication application)
         {
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplicationDidBecomeActive(application);
+
             Console.WriteLine("OnActivated");
             base.OnActivated(application);
             //HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
@@ -250,6 +275,10 @@
 
         public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
         {
+
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplication(application, new NSDictionary());
+
             Console.WriteLine("111111111111");
             SetCurrentLanguage();
             //Shared.Application.FontSize = 12;
@@ -307,6 +336,7 @@
                     var messageType = "";
                     var expantContent = "";
                     var homeId = "";
+
                     if (userInfo.ContainsKey(new NSString("expandData")))
                     {
                         var expandDataStr = userInfo["expandData"] as NSString;
@@ -333,6 +363,7 @@
                                     Utlis.WriteLine("homeId: " + homeId);
                                 }
 
+
                             }
                         }
                         else
diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj
index 3f3bce7..c079efe 100644
--- a/HDL-ON_iOS/HDL-ON_iOS.csproj
+++ b/HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -59,6 +59,7 @@
         <MtouchEnableSGenConc>false</MtouchEnableSGenConc>
 <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+<CodesignProvision>OnPro220307-2-Dev</CodesignProvision>
     </PropertyGroup>
     <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
         <DebugType>none</DebugType>
@@ -105,10 +106,13 @@
           <HintPath>..\DLL\LC\IOS\Shared.IOS.LCVideoOnSDK.dll</HintPath>
         </Reference>
         <Reference Include="Shared.IOS.HDLLinphoneSDK">
-          <HintPath>..\DLL\Linphone\iOS\Shared.IOS.HDLLinphoneSDK.dll</HintPath>
+          <HintPath>..\..\HDLLinphoneSDK_IOS\Shared.IOS.HDLLinphoneSDK\Shared.IOS.HDLLinphoneSDK\bin\Debug\Shared.IOS.HDLLinphoneSDK.dll</HintPath>
         </Reference>
         <Reference Include="Shared.IOS.HDLSceneSiri">
-          <HintPath>..\..\HDLXamarinSceneSiri\Shared.IOS.HDLSceneSiri\Shared.IOS.HDLSceneSiri\bin\Release\Shared.IOS.HDLSceneSiri.dll</HintPath>
+          <HintPath>..\DLL\IOS\Shared.IOS.HDLSceneSiri.dll</HintPath>
+        </Reference>
+        <Reference Include="Shared.IOS.HDLFVSDK">
+          <HintPath>..\..\..\HDLDemo\鍏ㄨ閫歕閲戣寕鍏ㄨ閫氾紙onpro涓婄敤锛塡FVSDKNew\Shared.IOS.HDLFVSDK\Shared.IOS.HDLFVSDK\bin\Debug\Shared.IOS.HDLFVSDK.dll</HintPath>
         </Reference>
     </ItemGroup>
     <ItemGroup>
diff --git a/HDL-ON_iOS/HDL-ON_iOS.sln b/HDL-ON_iOS/HDL-ON_iOS.sln
new file mode 100644
index 0000000..540b586
--- /dev/null
+++ b/HDL-ON_iOS/HDL-ON_iOS.sln
@@ -0,0 +1,31 @@
+锘�
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.810.22
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HDL-ON_iOS", "HDL-ON_iOS.csproj", "{D998E133-F0DD-4760-BE3C-461632F54DA4}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|iPhoneSimulator = Debug|iPhoneSimulator
+		Release|iPhoneSimulator = Release|iPhoneSimulator
+		Debug|iPhone = Debug|iPhone
+		Release|iPhone = Release|iPhone
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhone.ActiveCfg = Debug|iPhone
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhone.Build.0 = Debug|iPhone
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhone.ActiveCfg = Release|iPhone
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhone.Build.0 = Release|iPhone
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {C02ACC50-5824-46E9-9734-E66C965E2174}
+	EndGlobalSection
+EndGlobal
diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini
index ddab725..73f20e4 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -1659,7 +1659,9 @@
 530=涓洪槻姝㈠紑鍏抽棬鐨勮瑙︾偣鍑伙紝淇濊瘉瀹跺涵瀹夊叏锛岃杈撳叆鎮ㄧ殑闂ㄩ攣寮�闂ㄥ瘑鐮併��
 531=浜斿垎閽熷唴鍏嶅瘑鐮佸紑閿�
 532=璁惧绂荤嚎涓紝鏆傛椂鏃犳硶鎿嶄綔
- 
+533=璁垮绠$悊
+
+
 1000=瀹ゅ唴婀垮害
 1001=绔ラ攣
 1002=璐熺瀛�
diff --git a/HDL-ON_iOS/mono_crash.824c6d50c.0.json b/HDL-ON_iOS/mono_crash.824c6d50c.0.json
new file mode 100644
index 0000000..c4e1f91
--- /dev/null
+++ b/HDL-ON_iOS/mono_crash.824c6d50c.0.json
@@ -0,0 +1,406 @@
+{
+  "protocol_version" : "0.0.6",
+  "configuration" : {
+    "version" : "(6.12.0.174) (2020-02/adf1bc4335d)",
+    "tlc" : "normal",
+    "sigsgev" : "altstack",
+    "notifications" : "kqueue",
+    "architecture" : "amd64",
+    "disabled_features" : "none",
+    "smallconfig" : "disabled",
+    "bigarrays" : "disabled",
+    "softdebug" : "enabled",
+    "interpreter" : "enabled",
+    "llvm_support" : "0",
+    "suspend" : "hybrid"
+  },
+  "memory" : {
+    "Resident Size" : "181948416",
+    "Virtual Size" : "36274827264",
+    "minor_gc_time" : "5825386",
+    "major_gc_time" : "297980436",
+    "minor_gc_count" : "11",
+    "major_gc_count" : "1669",
+    "major_gc_time_concurrent" : "0"
+ },
+  "threads" : [
+ {
+    "is_managed" : false,
+    "offset_free_hash" : "0x0",
+    "offset_rich_hash" : "0x0",
+    "crashed" : false,
+    "native_thread_id" : "0x11765a600",
+    "thread_info_addr" : "0x7fd13b015000",
+    "thread_name" : "tid_103",
+    "ctx" : {
+      "IP" : "0x7ff805bd19ce",
+      "SP" : "0x7ff7b6f54158",
+      "BP" : "0x7ff7b6f541d0"
+  },
+    "unmanaged_frames" : [
+  {
+      "is_managed" : "false",
+      "native_address" : "0x10905c776",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1091f7fe5",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1091f7d17",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1090c8860",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x7ff805c23dfd",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x92",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x109238c47",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x108fbf0da",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x109021d36",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x108fade18",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1175df51e",
+      "native_offset" : "0x00000"
+   }
+
+  ]
+ },
+ {
+    "is_managed" : true,
+    "offset_free_hash" : "0x824c6d50c",
+    "offset_rich_hash" : "0x824c6d599",
+    "crashed" : true,
+    "native_thread_id" : "0x700003e72000",
+    "thread_info_addr" : "0x7fd13b030800",
+    "thread_name" : "Finalizer",
+    "ctx" : {
+      "IP" : "0x7ff805c21189",
+      "SP" : "0x700003e71a30",
+      "BP" : "0x700003e71a30"
+  },
+    "managed_frames" : [
+  {
+      "is_managed" : "false",
+      "native_address" : "unregistered"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x00000",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x0000c"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x600429c",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+      "token" : "0x60040a5",
+      "native_offset" : "0x0",
+      "filename" : "mscorlib.dll",
+      "sizeofimage" : "0x472000",
+      "timestamp" : "0xf9ace8b0",
+      "il_offset" : "0x00003"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+      "token" : "0x60040a4",
+      "native_offset" : "0x0",
+      "filename" : "mscorlib.dll",
+      "sizeofimage" : "0x472000",
+      "timestamp" : "0xf9ace8b0",
+      "il_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x6002f52",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00041"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x6002f38",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00013"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x6002f37",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+      "token" : "0x00000",
+      "native_offset" : "0x0",
+      "filename" : "mscorlib.dll",
+      "sizeofimage" : "0x472000",
+      "timestamp" : "0xf9ace8b0",
+      "il_offset" : "0x0002a"
+   }
+
+  ],
+  "unmanaged_frames" : [
+ {
+    "is_managed" : "false",
+    "native_address" : "0x10905c776",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1091f7fe5",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1091f865a",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1090c9927",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x10906140e",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1090c37d6",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff805c21189",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090d60b",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090be79",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090ceb1",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090b25c",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x110dbcdad",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x600429c",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "(null)",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "(null)",
+    "sizeofimage" : "0x0",
+    "timestamp" : "0x0",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "(null)",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "(null)",
+    "sizeofimage" : "0x0",
+    "timestamp" : "0x0",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x6002f38",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x6002f37",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "mscorlib.dll",
+    "sizeofimage" : "0x472000",
+    "timestamp" : "0xf9ace8b0",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x109238879",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1092579bc",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x10923a75c",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1091f8c2d",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff805c0e4e1",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff805c09f6b",
+    "native_offset" : "0x00000"
+  }
+
+ ]
+}
+]
+}
\ No newline at end of file
diff --git a/HDL_APP_Project.sln b/HDL_APP_Project.sln
index fab839a..04d1709 100644
--- a/HDL_APP_Project.sln
+++ b/HDL_APP_Project.sln
@@ -18,6 +18,10 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UMSdk", "UMSdk\UMSdk.csproj", "{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.IOS.HDLFVSDK", "..\..\HDLDemo\鍏ㄨ閫歕閲戣寕鍏ㄨ閫氾紙onpro涓婄敤锛塡FVSDKNew\Shared.IOS.HDLFVSDK\Shared.IOS.HDLFVSDK\Shared.IOS.HDLFVSDK.csproj", "{56776799-6E94-4016-B369-068B96C6ACDE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.IOS.HDLLinphoneSDK", "..\HDLLinphoneSDK_IOS\Shared.IOS.HDLLinphoneSDK\Shared.IOS.HDLLinphoneSDK\Shared.IOS.HDLLinphoneSDK.csproj", "{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}"
+EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
 		HDL_ON\HDL_ON.projitems*{09712674-2a38-407b-b1e2-560b2c352f9a}*SharedItemsImports = 4
@@ -119,6 +123,30 @@
 		{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhone.Build.0 = Release|Any CPU
 		{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 		{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Release|iPhone.Build.0 = Release|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{56776799-6E94-4016-B369-068B96C6ACDE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhone.Build.0 = Release|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index 75c9bf3..ae6c314 100644
--- a/HDL_ON/Common/ApiUtlis.cs
+++ b/HDL_ON/Common/ApiUtlis.cs
@@ -284,7 +284,8 @@
 
                     //======================鑾峰彇鍙瀵硅璁惧鍒楄〃====================
                     bool isInterphoneType_HDL = false;//鏄惁涓篐DLLinphone鍙瀵硅
-                    var videoInfo= VideoSend.GetVideoInfoList();
+                    bool isInterphoneType_FREEVIEW = false;//鏄惁涓哄叏瑙嗛�氬彲瑙嗗璁�
+                    var videoInfo = VideoSend.GetVideoInfoList();
                     if (videoInfo.Code == StateCode.SUCCESS)
                     {
                         string videoList = videoInfo.Data.ToString();
@@ -299,6 +300,17 @@
                                 isInterphoneType_HDL = true;
                                 DB_ResidenceData.Instance.SupportFacePass = true;
                                 DB_ResidenceData.Instance.SaveResidenceData();
+
+                                Entity.DB_ResidenceData.Instance.SupportFVDevice = true;
+
+                            }
+                            else if (video.interphoneType == InterphoneType.FREEVIEW.ToString())
+                            {//涓哄叏瑙嗛�氬彲瑙嗗璁�
+                                Entity.DB_ResidenceData.Instance.SupportVisitorManage = true;
+                                Entity.DB_ResidenceData.Instance.SupportFVDevice = true;
+
+                                isInterphoneType_FREEVIEW = true;
+
                             }
                         }
                     }
@@ -311,15 +323,25 @@
                         {
                             //HDLLinphone鍙瀵硅,鑾峰彇Sip璐﹀彿骞跺垵濮嬪寲SDK
                             HDLLinphone.Current.GetHDLSipInfoAndInitSDK(DB_ResidenceData.Instance.CurrentRegion.id);
+
                         }
                         else
                         {
                             Utlis.WriteLine("褰撳墠浣忓畢涓嶆敮鎸丠DL鍙瀵硅,閫�鍑虹櫥褰曟墍鏈夎处鍙�");
                             //褰撳墠浣忓畢涓嶆敮鎸丠DL鍙瀵硅
                             HDLLinphone.Current.LogoutAllAccount();
+
                         }
                     }
 
+                    //======================鐧诲綍鍏ㄨ閫�====================
+                    if (isInterphoneType_FREEVIEW)
+                    {
+                        //鐧诲綍鍏ㄨ閫�
+                        Shared.IOS.HDLFVSDK.Video.Init("", DB_ResidenceData.Instance.CurrentRegion.id);
+                    }
+
+
                     //======================瀹夐槻====================
                     GetSecurityList();
 
diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index 6a2a061..88ca761 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -330,12 +330,15 @@
                         }
                         else if (interphoneTypeEnum == InterphoneType.HDL.ToString())
                         {
+
                             //HDL Linphone 鐙勮�愬厠
                             eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
                             eSVideoInfo.callId = json["callId"].ToString();
                             eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                             eSVideoInfo.DeviceName = json["deviceName"].ToString();
                             eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString();
+                            eSVideoInfo.spk = json["spk"].ToString();
+
                             //ShowAlert("鐙勮�愬厠闂ㄥ彛鏈哄懠鍙�");
                             //鎵撳紑鍛煎彨椤甸潰
                             HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo);
@@ -427,8 +430,11 @@
                     DB_ResidenceData.Instance.EixtAccount();
                     //4.娉ㄩ攢HDLSIP璐﹀彿鐧诲綍 2021-08-20
                     HDLLinphone.Current.LogoutAllAccount();
+
 #if __IOS__
-                    //5.娓呯┖Siri鍏变韩鏁版嵁淇℃伅
+                    //5.鍏ㄨ閫氱櫥鍑�
+                    Shared.IOS.HDLFVSDK.Video.Logout();
+                    //6.娓呯┖Siri鍏变韩鏁版嵁淇℃伅
                     new Other.SkipControl().SetData(false, "", "", "","");
                     var sDM = new SiriKit.SceneDateManager();
                     Console.WriteLine($"IsLogin:{sDM.IsLgoin};accessToken:{sDM.AccessToken};refreshToken:{sDM.RefreshToken};RegionUrl:{sDM.RegionUrl};HomeId:{sDM.HomeId}");
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 68b7cc3..b290247 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -4,7 +4,10 @@
 {
     public static class StringId
     {
-
+        /// <summary>
+        /// 璁垮绠$悊
+        /// </summary>
+        public const int VisitorManage = 533;
         /// <summary>
         /// 璁惧绂荤嚎涓紝鏆傛椂鏃犳硶鎿嶄綔
         /// </summary>
diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index 738cd33..8efd6e5 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -5,6 +5,7 @@
 using System.Text;
 using HDL_ON.Entity;
 using Newtonsoft.Json.Linq;
+using Shared;
 
 namespace HDL_ON.DAL.Server
 {
@@ -1030,7 +1031,7 @@
                 //鏄惁鐢熶骇妯″紡
                 bool isProduce = true;
 #if DEBUG
-                isProduce = false;
+                isProduce = true;
 #endif
 
                 if (string.IsNullOrEmpty(OnAppConfig.Instance.PushDeviceToken))
@@ -1057,9 +1058,15 @@
 
                 //var mAddpushinfoJson = Newtonsoft.Json.JsonConvert.SerializeObject(mAddpushinfoObj);
                 var mAddpushinfoJson = HttpUtil.GetSignRequestJson(mAddpushinfoObj);
+
+                Utlis.WriteLine("mAddpushinfoJson: " + mAddpushinfoJson);
+
+                //new Alert("", , "鍙栨秷", "纭畾").Show();
                 var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_AddToken, mAddpushinfoJson);
                 if (revertObj.Code == StateCode.SUCCESS)
                 {
+                    //new Alert("", "鎻愪氦pushToken鎴愬姛" + OnAppConfig.Instance.PushDeviceToken, "鍙栨秷", "纭畾").Show();
+
                     if (revertObj.Data != null)
                     {
                         var pushId = revertObj.Data.ToString();
@@ -1068,7 +1075,7 @@
                             OnAppConfig.Instance.PushId = pushId;
                             OnAppConfig.Instance.SaveConfig();
                             Utlis.WriteLine("PushId: " + pushId);
-
+                            //new Alert("","鎻愪氦pushToken鎴愬姛"+ OnAppConfig.Instance.PushDeviceToken, "鍙栨秷","纭畾").Show();
                             return true;
                         }
                     }
@@ -1076,7 +1083,7 @@
                 }
                 else
                 {
-                    //Utlis.WriteLine("AddToken 澶辫触");
+                    Utlis.WriteLine("AddToken 澶辫触");
                 }
                 return false;
             }
diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs
index 4917487..72fa068 100644
--- a/HDL_ON/DAL/Server/HttpUtil.cs
+++ b/HDL_ON/DAL/Server/HttpUtil.cs
@@ -17,8 +17,8 @@
         /// 鍥哄畾鍩熷悕,姝e紡鐜
         /// 鍏叡鍩熷悕灏辫繎瑙f瀽
         /// </summary>
-        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
-        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
+        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
+        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
         /// <summary>
         /// RegionMark
         /// </summary>
diff --git a/HDL_ON/DAL/Server/NewApiRes.cs b/HDL_ON/DAL/Server/NewApiRes.cs
index 055a093..a3973e3 100644
--- a/HDL_ON/DAL/Server/NewApiRes.cs
+++ b/HDL_ON/DAL/Server/NewApiRes.cs
@@ -1474,7 +1474,14 @@
         /// 鎵╁睍鏁版嵁鍐呭
         /// </summary>
         public string expantContent = "";
-        
+        /// <summary>
+        /// spk鏍囧織锛屽�间负door.gate鏃惰〃绀鸿嚜鐮�
+        /// </summary>
+        public string spk="";
+        /// <summary>
+        /// sip璐﹀彿
+        /// </summary>
+        public string sipAccount;
 
     }
 
diff --git a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
index 0965c39..dd1c235 100644
--- a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -110,6 +110,15 @@
             {
                 //HDLLinphone 鐙勮�愬厠
                 HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo);
+                ////鍏ㄨ閫�
+                //NSDictionary deviceInfo = new NSDictionary("deviceCode","3-1-11-2", "deviceName", mESVideoInfo.DeviceName);
+                //Shared.IOS.HDLFVSDK.Video.Monitor(deviceInfo);
+            } else if (interphoneType == InterphoneType.FREEVIEW.ToString())
+            {
+                //鍏ㄨ閫氱洃瑙�
+                NSDictionary deviceInfo = new NSDictionary("deviceCode",mESVideoInfo.deviceCode, "deviceName", mESVideoInfo.DeviceName);
+                Shared.IOS.HDLFVSDK.Video.Monitor(deviceInfo);
+                //HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo);
             }
             else
             {
@@ -822,6 +831,16 @@
         /// 璁惧sip璐﹀彿 interphoneType鏄疕DL鏃舵墠浼氭湁鍊�
         /// </summary>
         public string deviceSipAccount;
+        /// <summary>
+        /// spk
+        /// </summary>
+        public string spk="";
+
+        //========================鍏ㄨ閫�==========================
+        /// <summary>
+        /// 璁惧缂栧彿锛岀浉褰撲簬鍏ㄨ閫氱殑LocalDirectory瀛楁
+        /// </summary>
+        public string deviceCode;
     }
 
 
@@ -865,7 +884,10 @@
         /// 鐙勮�愬厠 HDL Linphone
         /// </summary>
         HDL,
-
+        /// <summary>
+        /// 鍏ㄨ閫氬璁�
+        /// </summary>
+        FREEVIEW,
 
     }
 }
diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
index 49857bf..15aaa60 100644
--- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -57,6 +57,10 @@
         /// </summary>
         public bool IsEnable = false;
         /// <summary>
+        /// 褰撳墠瑙嗛閫氳瘽鏄惁涓鸿嚜鐮�
+        /// </summary>
+        public bool IsSelfResearch = false;
+        /// <summary>
         /// 鏄惁鑷姩璺宠浆鍛煎彨椤甸潰,
         /// false锛氭敹鍒版帹閫佸苟涓斿凡缁忔敹鍒皊ip鍛煎彨鎵嶈烦杞懠鍙〉闈�
         /// true锛氬師鐢熸敹鍒板懠鍙┈涓婅烦杞懠鍙〉闈紝涓嶇瓑寰呮帹閫佽繃鏉�
@@ -93,6 +97,7 @@
             Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().IsAutoJumpCallView = IsAutoJumpCallView;
             //璁剧疆Listener鐩戝惉
             mOnHDLLinphoneCallDelegate = new OnHDLLinphoneCallDelegate(this);
+            Console.WriteLine(UserInfo.Current.ID);
             Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().HdlLinphoneCallDelegate = mOnHDLLinphoneCallDelegate;
 #else
             HDLLinphoneKit.Instance.InitLinphone(Application.Activity);
@@ -428,6 +433,7 @@
             mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName;
             mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString();
             mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;
+            mHDLCallVideoInfo.spk = mESVideoInfo.spk;
             InitCallInfo(mHDLCallVideoInfo);
 
             //褰撳墠鍛煎彨鏉ョ數鐨勪綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷寸殑鎯呭喌涓�
@@ -460,20 +466,30 @@
         /// <param name="mESVideoInfo"></param>
         public void CheckCallStateAndGotoPage()
         {
-            //濡傛灉寮�鍚簡鑷姩璺宠浆鏂规锛屽垯鏃犻渶缁х画涓嬮潰澶勭悊銆佹棤闇�鎵嬪姩璺宠浆
-            if (IsAutoJumpCallView) return;
-            //鍏堢粨鏉熸帀涔嬪墠鐨勭嚎绋�
-            EndCheckIncomingCallThread();
-            //妫�娴嬫槸鍚︽潵鐢典簡濡傛灉鏄洿鎺ヨ皟鏁村懠鍙〉闈㈠鏋滀笉鏄垯寮�鍚嚎绋嬬瓑寰呭垽鏂�
-            if (IsIncomingReceivedCallState()) {
-                Utlis.WriteLine("CALL 宸茬粡鏉ョ數浜嗐�傘�傘�傛墦寮�鍛煎彨椤甸潰");
-                GoToHDLLinphoneIntercomActivity();
-            }
-            else
+            if (mHDLCallVideoInfo.spk == "door.gate")
             {
-                //濡傛灉杩樻病鏉ョ數 寮�鍚嚎绋嬫娴�
-                StartCheckIncomingCallThread();
+                //鑷爺鍙瀵硅
+                HDLLinPhoneSDK.Instance().GotoHDLSRLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName,mHDLCallVideoInfo.DeviceSipAccount);
+           }
+            else {
+                //鐙勮�愬厠鍙瀵硅
+                //濡傛灉寮�鍚簡鑷姩璺宠浆鏂规锛屽垯鏃犻渶缁х画涓嬮潰澶勭悊銆佹棤闇�鎵嬪姩璺宠浆
+                if (IsAutoJumpCallView) return;
+                //鍏堢粨鏉熸帀涔嬪墠鐨勭嚎绋�
+                EndCheckIncomingCallThread();
+                //妫�娴嬫槸鍚︽潵鐢典簡濡傛灉鏄洿鎺ヨ皟鏁村懠鍙〉闈㈠鏋滀笉鏄垯寮�鍚嚎绋嬬瓑寰呭垽鏂�
+                if (IsIncomingReceivedCallState())
+                {
+                    Utlis.WriteLine("CALL 宸茬粡鏉ョ數浜嗐�傘�傘�傛墦寮�鍛煎彨椤甸潰");
+                    GoToHDLLinphoneIntercomActivity();
+                }
+                else
+                {
+                    //濡傛灉杩樻病鏉ョ數 寮�鍚嚎绋嬫娴�
+                    StartCheckIncomingCallThread();
+                }
             }
+
 
         }
 
@@ -813,6 +829,10 @@
         /// 绫诲瀷
         /// </summary>
         public string InterphoneType;
+        /// <summary>
+        /// spk
+        /// </summary>
+        public string spk="";
 
     }
 
diff --git a/HDL_ON/Entity/DB_ResidenceData.cs b/HDL_ON/Entity/DB_ResidenceData.cs
index 7e9c6f8..75d6fc6 100644
--- a/HDL_ON/Entity/DB_ResidenceData.cs
+++ b/HDL_ON/Entity/DB_ResidenceData.cs
@@ -155,6 +155,12 @@
             ///鍒囨崲浣忓畢娓呯┖鍓嶄綇瀹呯紦瀛樿嚜鍔ㄥ寲鍒楄〃锛�
             HDL_ON.UI.UI2.Intelligence.Automation.Logic.LogicList.Clear();
             DAL.Mqtt.MqttClient.DisConnectRemote("閫�鍑虹櫥褰曪紝鎴栬�呭垏鎹綇瀹�");
+
+            //閫�鍑哄叏瑙嗛�氱櫥褰�
+            Shared.IOS.HDLFVSDK.Video.Logout();
+            //閲嶇疆榛樿涓嶆敮鎸佸叏瑙嗛��
+            Entity.DB_ResidenceData.Instance.SupportFVDevice = false;
+
         }
         /// <summary>
         /// 鏄惁鏀寔浜鸿劯閫氳
@@ -162,6 +168,16 @@
         public bool SupportFacePass = false;
 
         /// <summary>
+        /// 鏄惁鏀寔璁垮绠$悊
+        /// </summary>
+        public bool SupportVisitorManage = false;
+
+        /// <summary>
+        /// 鏄惁鏀寔鍏ㄨ閫�
+        /// </summary>
+        public bool SupportFVDevice = false;
+
+        /// <summary>
         /// 缃戝叧璇︾粏淇℃伅
         /// </summary>
         public HomeGatewayInfo HomeGateway;
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
index ccba2be..12ce6ef 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
@@ -3,6 +3,7 @@
 using HDL_ON.UI;
 using HDL_ON.UI.CSS;
 using Shared;
+using Foundation;
 
 namespace HDL_ON.UI
 {
@@ -174,6 +175,17 @@
         Button btnFaceManagementText;
         #endregion
 
+        #region 涓汉閫夐」-璁垮绠$悊
+        /// <summary>
+        /// 涓汉閫夐」-璁垮绠$悊
+        ///
+        /// </summary>
+        FrameLayout visitorManagementView;
+        /// <summary>
+        /// 浜鸿劯閫氳绠$悊鏂囨湰isitor
+        /// </summary>
+        Button btnisitorVManagementText;
+        #endregion
 
         #endregion
 
@@ -266,10 +278,21 @@
             };
             bodyScrolView.AddChidren(optionListView);
 
+            //鏍规嵁闇�瑕佹坊鍔犺
+            int addRow = 0;
             if(Entity.DB_ResidenceData.Instance.SupportFacePass)
             {
-                optionListView.Height = Application.GetRealHeight(51 * (6 + 1));
+                addRow += 1;
             }
+
+            if (Entity.DB_ResidenceData.Instance.SupportVisitorManage)
+            {
+                addRow += 1;
+            }
+
+            //鏈夊叏瑙嗛�氱殑鎯呭喌
+            optionListView.Height = Application.GetRealHeight(51 * (6 + addRow));
+
 
             #region 涓汉閫夐」-鍚嶅瓧鍖哄煙
             /// <summary>
@@ -678,6 +701,46 @@
 
             }
 
+            //璁垮绠$悊
+            #region 涓汉閫夐」-璁垮绠$悊
+            optionListView.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+
+            visitorManagementView = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(50),
+            };
+            optionListView.AddChidren(visitorManagementView);
+
+            var btnVisitorManagementRight = new Button()
+            {
+                X = Application.GetRealWidth(339),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(16),
+                Height = Application.GetMinRealAverage(16),
+                UnSelectedImagePath = "Public/Right.png",
+            };
+            visitorManagementView.AddChidren(btnVisitorManagementRight);
+
+            btnisitorVManagementText = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextID = StringId.VisitorManage,
+            };
+            visitorManagementView.AddChidren(btnisitorVManagementText);
+
+            btnisitorVManagementText.MouseUpEventHandler = (sender, e) =>
+            {
+                //鍒锋柊鎺ュ彛璇锋眰鎵�闇�瑕佺殑鍙傛暟
+                NSDictionary info = new 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();
+            };
+
+            #endregion
             #endregion
             var topPaddingView2 = new FrameLayout()
             {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
index fc82b32..384f58d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
@@ -163,6 +163,10 @@
         ///  homeId
         /// </summary>
         public string homeId;
+        /// <summary>
+        ///  璁惧缂栧彿锛堢洰鍓嶇敤浜庡叏瑙嗛�氾紝鐩稿綋浜庡叏瑙嗛�歀ocalDirectory瀛楁锛�
+        /// </summary>
+        public string deviceCode;
     }
 
     /// <summary>
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
index 6d0dd75..a2a6460 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -34,7 +34,9 @@
             var view1 = new FrameLayout();
             pageView.AddChidren(view1);
             var view2 = new FrameLayout();
-            pageView.AddChidren(view2);
+            if (!Entity.DB_ResidenceData.Instance.SupportFVDevice) {//闈炲叏瑙嗛�氬睍绀洪�氳瘽璁板綍
+                pageView.AddChidren(view2);
+            }
             View1(view1, videoList);
             View2(view2, listCall, videoList);
             Button btn11 = new Button
@@ -46,7 +48,7 @@
                 BackgroundColor = MusicColor.SelectedColor,
                 Radius = (uint)Application.GetRealHeight(4),
             };
-            view1.AddChidren(btn11);
+            //view1.AddChidren(btn11);
 
             Button btn12 = new Button
             {
@@ -57,7 +59,13 @@
                 BackgroundColor = 0x404484F4,
                 Radius = (uint)Application.GetRealHeight(4),
             };
-            view1.AddChidren(btn12);
+            //view1.AddChidren(btn12);
+            if (!Entity.DB_ResidenceData.Instance.SupportFVDevice)
+            {//闈炲叏瑙嗛�氬睍绀轰笅鏂归�夋嫨鎸夐挳
+                view1.AddChidren(btn11);
+                view1.AddChidren(btn12);
+            }
+
             Button btn21 = new Button
             {
                 X = Application.GetRealWidth(170),
@@ -307,8 +315,10 @@
                             Lc_Psk = video.deviceId,//2021-10-15 PSK瀛楁涓嶈兘鍙杁eviceName
                             Lc_PlayToken = video.playToken,
                             deviceSipAccount = video.deviceSipAccount,
-                            HomeId = video.homeId
+                            HomeId = video.homeId,
+                            deviceCode=video.deviceCode
                         };
+                        
                         ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo, video.interphoneType);
                     }
                 };
diff --git a/SiriIntents/SiriIntents.csproj b/SiriIntents/SiriIntents.csproj
index a36210c..45c6d61 100644
--- a/SiriIntents/SiriIntents.csproj
+++ b/SiriIntents/SiriIntents.csproj
@@ -44,6 +44,7 @@
     <MtouchArch>ARM64</MtouchArch>
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <MtouchVerbosity></MtouchVerbosity>
+    <CodesignProvision>OnProSiri220307-1-Hoc</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
     <DebugType>pdbonly</DebugType>

--
Gitblit v1.8.0