From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs | 363 +++++++++++++++++++++++++++++++++------------------
1 files changed, 233 insertions(+), 130 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
index c012769..0a6aec7 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -2,7 +2,9 @@
using HDL_ON.Entity;
using System.Collections.Generic;
using Shared;
+using HDL_ON.DAL.Server;
#if __IOS__
+using Foundation;
#else
using Com.Videogo.Hdl;
#endif
@@ -39,7 +41,7 @@
}
- #region --------- 璺宠浆鍒癆ndroid閭h竟鐨勬柟娉�(钀ょ煶瑙嗛闂ㄩ攣) --------
+ #region --------- 璺宠浆鍒癆ndroid锛宨os閭h竟鐨勬柟娉�(钀ょ煶瑙嗛闂ㄩ攣) --------
/// <summary>
/// android,ios婧愮敓娣诲姞璁惧鍒颁簯绔垚鍔熷悗鍥炶皟鏂规硶
/// 鍐嶈鍙栦簯绔殑涓婅悿鐭宠澶囧垪琛�
@@ -47,45 +49,73 @@
public void SkipAddDeviceActivity(string spk)
{
- this.InitializationAndroidData((isBools) =>
+ this.InitializationAndroidData((isEzChildAccessToken) =>
{
- if (!isBools)
+ this.SunThread(() =>
{
+ var list = this.GetVideoDoorLockLockModelsList("notAllowedConfigNetworkModels");
this.MainThread(() =>
{
- this.ShowTip("鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken澶辫触銆�");
-
- });
- }
#if __IOS__
+ //璺宠浆娣诲姞钀ょ煶璁惧
+ ezsdkDelegate = new IosIHdlInterface();
+ ezsdkDelegate.mAction += (serials) =>
+ {
+ this.GetYingshiDeviceList(serials);
+ };
+ EZSDK.IOS.EZSDK.SharedInstance().Delegate = ezsdkDelegate;
+ NSObject[] nSObject = new NSObject[list.Count];
+ for (int i = 0; i < list.Count; i++)
+ {
+ string strValue = list[i];
+ nSObject[i] = new NSString(strValue);
+ }
+ EZSDK.IOS.EZSDK.SharedInstance().ConnectTipModels = nSObject;
+ EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(spk);
#else
- HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk);
- HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, adnroidActionDevSerial) =>
- {
- if (isBool)
+ HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity, spk,list);
+ HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, serials) =>
{
-
- var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
- if (list.Count > 0)
+ if (isBool)
{
- var function = list.Find((o) => o.sid == adnroidActionDevSerial);
- if (function != null)
- {
- this.SaveFunctionFile(function);
- }
+ this.GetYingshiDeviceList(serials);
}
-
- }
-
- }));
+ }));
#endif
+
+ });
+
+
+ });
});
+
+ }
+ /// <summary>
+ /// 璇诲彇浜戠鐨勪笂钀ょ煶璁惧鍒楄〃
+ /// <paramref name="serials"/>搴忓垪鍙�</param>
+ private void GetYingshiDeviceList(string serials)
+ {
+ this.SunThread(() =>
+ {
+ var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
+ this.MainThread(() =>
+ {
+ if (list.Count > 0)
+ {
+ var function = list.Find((o) => o.sid == serials);
+ if (function != null)
+ {
+ this.SaveFunctionFile(function);
+ }
+ }
+ });
+ });
}
/// <summary>
@@ -98,46 +128,47 @@
public void SkipRTVActivity(string deviceSerial, string deviceId, string spk, bool isDialog)
{
- this.InitializationAndroidData((isBools) =>
+ this.InitializationAndroidData((isEzChildAccessToken) =>
{
- if (!isBools)
+ this.MainThread(() =>
{
- this.MainThread(() =>
+ if (isDialog)
{
- this.ShowTip("鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken澶辫触銆�");
-
- });
- }
-
- if (isDialog)
- {
- Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
+ Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
+ {
+ dialog.Close();
+ this.SkipRTVActivity(deviceSerial, deviceId, spk);
+ }, (dialog) => { dialog.Close(); });
+ }
+ else
{
- dialog.Close();
-#if __IOS__
+ this.SkipRTVActivity(deviceSerial, deviceId, spk);
+ }
-#else
- HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
-#endif
- }, (dialog) =>
- {
- dialog.Close();
- });
- }
- else
- {
-#if __IOS__
-#else
- HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
-#endif
- }
-
-
+ });
});
+ }
+ /// <summary>
+ /// 鎵撳紑瀹炴椂瑙嗛鐢婚潰
+ /// </summary>
+ /// <param name="deviceSerial">璁惧搴忓垪鍙�</param>
+ /// <param name="deviceId">璁惧id(浜戠涓奷eviceId)</param>
+ /// <param name="spk">璁惧spk(浜戦泙涓婂畾涔夊ソ鐨�)</param>
+ private void SkipRTVActivity(string deviceSerial, string deviceId, string spk)
+ {
+
+#if __IOS__
+ //鎵撳紑钀ょ煶瑙嗛鐣岄潰
+ EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk);
+
+#else
+ HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
+#endif
}
+
/// <summary>
/// 娴忚鍘嗗彶璁板綍
/// </summary>
@@ -145,16 +176,17 @@
{
this.InitializationAndroidData((s) =>
{
-
+ this.MainThread(() =>
+ {
#if __IOS__
+ //鎵撳紑钀ょ煶鍘嗗彶璁板綍鐣岄潰
+ EZSDK.IOS.EZSDK.SharedInstance().ToDeviceMsgListView(deviceId);
#else
HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId);
#endif
-
+ });
});
- //鏈疄鐜�
- //this.InitializationAndroidData();
- //
+
}
/// <summary>
/// 涓存椂瀵嗙爜寮�闂�
@@ -162,22 +194,17 @@
/// </summary>
public void SkipPSWActivity(string deviceId)
{
-
this.InitializationAndroidData((isBools) =>
{
- if (!isBools)
+ this.MainThread(() =>
{
- this.MainThread(() =>
- {
- this.ShowTip("鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken澶辫触銆�");
-
- });
- }
#if __IOS__
+ //鎵撳紑钀ょ煶涓存椂瀵嗙爜鐣岄潰
+ EZSDK.IOS.EZSDK.SharedInstance().ToTemPassView(deviceId);
#else
- HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId);
+ HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId);
#endif
-
+ });
});
}
@@ -186,9 +213,8 @@
/// </summary>
public void InitializationAndroidData(Action<bool> action)
{
-
-
bool isBool = true;
+ this.Loading.Start();
this.SunThread(() =>
{
try
@@ -201,29 +227,29 @@
{
//Token
isBool = false;
+ this.ShowTip("鑾峰彇钀ょ煶浜戝瓙璐﹀彿token澶辫触銆�");
return;
}
- Application.RunOnMainThread(() =>
- {
+
#if __IOS__
- //iOS
- //鍒濆鍖栬悿鐭充簯SDK锛屼腑鏂囧浗鍐卥ey銆佽嫳鏂囨捣澶杒ey 寮�鍙戣�呰处鍙蜂娇鐢ㄥ簲鐢ㄥ寘鍚嶇敵璇风殑APPKEY锛屼笉鍚屽寘鍚嶅簲鐢ㄩ渶閰嶇疆涓嶅悓鐨凙PPKEY
- EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
- //1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧�
- EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken);
- EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id);
- //2.璁剧疆钀ょ煶瀛愯处鍙风殑AccessToken鍒癝DK
- EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken);
- //////3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
- //EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor();
- //EZSDK.IOS.EZDeviceInfo info = new EZSDK.IOS.EZDeviceInfo();
- //info.de
- //EZSDK.IOS.EZSDK.Play(info);
+ //iOS
+ //鍒濆鍖栬悿鐭充簯SDK锛屼腑鏂囧浗鍐卥ey銆佽嫳鏂囨捣澶杒ey 寮�鍙戣�呰处鍙蜂娇鐢ㄥ簲鐢ㄥ寘鍚嶇敵璇风殑APPKEY锛屼笉鍚屽寘鍚嶅簲鐢ㄩ渶閰嶇疆涓嶅悓鐨凙PPKEY
+ EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
+ //1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧�
+ EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken);
+ EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id);
+ //2.璁剧疆钀ょ煶瀛愯处鍙风殑AccessToken鍒癝DK
+ EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken);
+ //////3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
+ //EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor();
+ //EZSDK.IOS.EZDeviceInfo info = new EZSDK.IOS.EZDeviceInfo();
+ //info.de
+ //EZSDK.IOS.EZSDK.Play(info);
#else
HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id);
#endif
- });
+
});
@@ -235,6 +261,7 @@
{
this.MainThread(() =>
{
+ this.Loading.Hide();
action?.Invoke(isBool);
});
}
@@ -247,26 +274,95 @@
/// <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
/// <summary>
- /// 钀ょ煶瑙嗛闂ㄩ攣鐨勫浘鏍�
- /// <param name="comerom">鏉ヨ嚜閭i噷</param>
+ /// 鑾峰彇銆愰棬閿佸瀷鍙枫�戝垪琛�
/// </summary>
- public string GetVideoDoorLockIcon(Comerom comerom)
+ /// <returns>杩斿洖缁撴灉涓嶄細涓簄ull</returns>
+ public List<string> GetVideoDoorLockLockModelsList(string mode = "lockModels")
{
- if (comerom == Comerom.collect)
+ return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList(mode);
+ }
+ /// <summary>
+ /// 闂ㄩ攣鎺ㄩ��
+ /// </summary>
+ /// <param name="pushMessageType"></param>
+ /// <param name="jPushMessageInfo"></param>
+ public void DoorLockPush(JPushMessageInfo jpushMessageInfo)
+ {
+ this.MainThread(() =>
{
- return "FunctionIcon/DoorLock/VideoDoorLockOpen.png";
- }
- else
+ if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
+ //{ "deviceSid":"J92513662","type":"opendoormsg","extDevId":"J92513662","deviceId":"1641010144999936001","spk":"security.door.ezviz"}
+ var expantContent = Newtonsoft.Json.JsonConvert.DeserializeObject<ExpantContent>(jpushMessageInfo.expantContent);
+ if (expantContent == null)
+ {
+ return;
+ }
+ if (expantContent.spk != SPK.VideoDoorLock)
+ {
+ return;
+ }
+ if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString()))
+ {
+ ///鎵撳紑瑙嗛闂ㄩ攣
+ this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, true);
+ }
+ else if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString()))
+ {
+ //浣庣數閲忔帹閫�
+ this.UpdateDoorLockState(PushMessageType.Alarm);
+ }
+ else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString()))
+ {
+ //寮�闂ㄦ帹閫�
+ this.UpdateDoorLockState(PushMessageType.Prompt);
+ }
+ });
+
+ }
+ /// <summary>
+ /// 鏇存柊寮�閿佸浘鏍囧拰鐢垫睜鐘舵��
+ /// </summary>
+ private void UpdateDoorLockState(PushMessageType pushMessageType)
+ {
+ int childrenCount = MainPage.BasePageView.ChildrenCount - 1;
+ for (int i = childrenCount; childrenCount > i; i--)
{
- return "FunctionIcon/DoorLock/VideoDoorlockClose.png";
+ View view = MainPage.BasePageView.GetChildren(i);
+ if (view is VideoDoorLockPage)
+ {
+ VideoDoorLockPage videoDoorLockPage = (VideoDoorLockPage)view;
+ if (videoDoorLockPage != null)
+ {
+ videoDoorLockPage.UpdateState(pushMessageType);
+ }
+
+ }
}
+ }
+ /// <summary>
+ /// 鑾峰彇钀ょ煶瑙嗛銆愰棬閿併�戝垪琛�
+ /// </summary>
+ /// <returns></returns>
+ public List<Function> GetVideoDoorLockList()
+ {
+ var list = FunctionList.List.GetVideoDoorLockList();
+#if DEBUG
+ //list.Add(new Function { name = "瑙嗛闂ㄩ攣涓�", sid = "23456789", spk = SPK.VideoDoorLock });
+ //list.Add(new Function { name = "瑙嗛闂ㄩ攣浜�", sid = "2345678922", spk = SPK.VideoDoorLock });
+#endif
+ return list;
}
#region --------- 鍔熻兘鏂囦欢淇濆瓨锛屽垹闄� --------
/// <summary>
@@ -293,6 +389,24 @@
MainPage.Log($"鏂囦欢鍒犻櫎->{function.name}-->{function.spk}");
}
#endregion
+ /// <summary>
+ /// 钀ょ煶瑙嗛闂ㄩ攣鐨勫浘鏍�
+ /// <param name="comerom">鏉ヨ嚜閭i噷</param>
+ /// </summary>
+ public string GetVideoDoorLockIcon(Comerom comerom)
+ {
+
+ if (comerom == Comerom.collect)
+ {
+ return "FunctionIcon/DoorLock/VideoDoorLockOpen.png";
+ }
+ else
+ {
+ return "FunctionIcon/DoorLock/VideoDoorlockClose.png";
+ }
+
+ }
+
/// <summary>
/// 鑾峰彇Loading瀵硅薄
/// </summary>
@@ -326,19 +440,7 @@
}
- /// <summary>
- /// 鑾峰彇钀ょ煶瑙嗛闂ㄩ攣鍒楄〃
- /// </summary>
- /// <returns></returns>
- public List<Function> GetVideoDoorLockList()
- {
- var list = FunctionList.List.GetVideoDoorLockList();
-#if DEBUG
- //list.Add(new Function { name = "瑙嗛闂ㄩ攣涓�", sid = "23456789", spk = SPK.VideoDoorLock });
- //list.Add(new Function { name = "瑙嗛闂ㄩ攣浜�", sid = "2345678922", spk = SPK.VideoDoorLock });
-#endif
- return list;
- }
+
#region ---------鑷畾涔夌嚎绋�(瀛愮嚎绋嬶紝涓荤嚎绋�)--------
/// <summary>
/// 瀛愮嚎绋�
@@ -422,6 +524,8 @@
new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000);
});
}
+
+
#endregion
/// <summary>
/// 寮规绫诲瀷
@@ -441,35 +545,34 @@
collect,//鏀惰棌
room,//鎴块棿
push,//鎺ㄩ��
+ sanfan,//娣诲姞绗笁鏂硅澶�
}
#if __IOS__
- ///// <summary>
- ///// 涓撻棬瀹氫箟缁橧os鍥炶皟鐢ㄧ潃,娌℃湁鐗规畩鍚箟
- ///// </summary>
- //public class IosIHdlInterface : Shared.IOS.HDLLinphoneSDK.HDLLinphoneCallDelegate
- //{
+ IosIHdlInterface ezsdkDelegate;
+ /// <summary>
+ /// 涓撻棬瀹氫箟缁橧os鍥炶皟鐢�,娌℃湁鐗规畩鍚箟
+ /// </summary>
+ public class IosIHdlInterface : EZSDK.IOS.EZSDKDelegate
+ {
+ public Action<string> mAction;
+ public IosIHdlInterface()
+ {
- // 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);
- // }
-
-
- //}
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="p0">true鏄叆缃戞垚鍔�(婧愮敓鍥炶皟杩斿洖)</param>
+ /// <param name="p1">璁惧鐨勫簭鍒楀寲(婧愮敓鍥炶皟杩斿洖)</param>
+ public override void AddDeviceSuccessed(string deviceSerial)
+ {
+ mAction?.Invoke(deviceSerial);
+ }
+ }
#else
/// <summary>
- /// 涓撻棬瀹氫箟缁欏畨鍗撳洖璋冪敤鐫�,娌℃湁鐗规畩鍚箟
+ /// 涓撻棬瀹氫箟缁欏畨鍗撳洖璋冪敤,娌℃湁鐗规畩鍚箟
/// </summary>
public class AndroidIHdlInterface : Java.Lang.Object, IHdlInterface
{
--
Gitblit v1.8.0