From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs | 414 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 284 insertions(+), 130 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs index 5847867..e9393fd 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 @@ -14,6 +16,7 @@ /// </summary> public class CommonMethod { + private Loading loading; /// <summary> /// 璁板綍褰撳墠鐣岄潰绱㈠紩鍊� @@ -39,7 +42,7 @@ } - #region --------- 璺宠浆鍒癆ndroid閭h竟鐨勬柟娉�(钀ょ煶瑙嗛闂ㄩ攣) -------- + #region --------- 璺宠浆鍒癆ndroid锛宨os閭h竟鐨勬柟娉�(钀ょ煶瑙嗛闂ㄩ攣) -------- /// <summary> /// android,ios婧愮敓娣诲姞璁惧鍒颁簯绔垚鍔熷悗鍥炶皟鏂规硶 /// 鍐嶈鍙栦簯绔殑涓婅悿鐭宠澶囧垪琛� @@ -47,48 +50,75 @@ public void SkipAddDeviceActivity(string spk) { - this.InitializationAndroidData((isBools) => + this.InitializationAndroidData((isEzChildAccessToken) => { - - this.MainThread(() => + this.SunThread(() => { - if (!isBools) + 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> @@ -100,47 +130,69 @@ /// <param name="isDialog">鏄惁闇�瑕佸脊妗�</param> public void SkipRTVActivity(string deviceSerial, string deviceId, string spk, bool isDialog) { - - this.InitializationAndroidData((isBools) => + this.Loading.Start(); + this.InitializationAndroidData((isEzChildAccessToken) => { - if (!isBools) + this.MainThread(() => { - this.MainThread(() => + this.Loading.Hide(); + 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> + /// <param name="deviceSerial">璁惧搴忓垪鍙�</param> + /// <param name="deviceId">璁惧id(浜戠涓奷eviceId)</param> + /// <param name="spk">璁惧spk(浜戦泙涓婂畾涔夊ソ鐨�)</param> + /// <param name="msgId">娑堟伅id</param> + private void SkipRTVActivity(string deviceSerial, string deviceId, string spk, string msgId) + { + +#if __IOS__ + //鎵撳紑钀ょ煶瑙嗛鐣岄潰 + EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk, msgId); + +#else + HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk,msgId); +#endif + + + } + /// <summary> /// 娴忚鍘嗗彶璁板綍 /// </summary> @@ -148,16 +200,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> /// 涓存椂瀵嗙爜寮�闂� @@ -165,22 +218,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); #endif - + }); }); } @@ -189,9 +237,8 @@ /// </summary> public void InitializationAndroidData(Action<bool> action) { - - bool isBool = true; + //this.Loading.Start(); this.SunThread(() => { try @@ -204,29 +251,38 @@ { //Token isBool = false; + //this.ShowTip("鑾峰彇钀ょ煶浜戝瓙璐﹀彿token澶辫触銆�"); return; } - Application.RunOnMainThread(() => - { + + string appKey = "1aa98a90489b4838b966b57018b4b04b";//姝e紡鏈嶅姟鍣� + //if (OnAppConfig.Instance.RequestHttpsHost == "https://test-gz.hdlcontrol.com") + //{ + // appKey = "941b1b72b6294998acfd36c14931b675";//鐢ㄥ湪娴嬭瘯鏈嶅姟鍣ㄦ帹閫佺殑 + //} + + #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(appKey, appKey); + //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); + + HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, appKey, 1, DB_ResidenceData.Instance.CurrentRegion.id, + HttpUtil.APP_KEY, HttpUtil.SECRET_KEY); #endif - }); + }); @@ -238,6 +294,7 @@ { this.MainThread(() => { + //this.Loading.Hide(); action?.Invoke(isBool); }); } @@ -250,21 +307,124 @@ /// <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> - /// 鑾峰彇闂ㄩ攣鍨嬪彿鍒楄〃 + /// 鑾峰彇銆愰棬閿佸瀷鍙枫�戝垪琛� /// </summary> /// <returns>杩斿洖缁撴灉涓嶄細涓簄ull</returns> - public List<string> GetVideoDoorLockLockModelsList() + public List<string> GetVideoDoorLockLockModelsList(string mode = "lockModels") { - return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList(); + var lockModels = VideDoorLockSend.Current.GetVideoDoorLockLockModelsList(); + if (mode == "lockModels") + { + return lockModels.lockModels; + } + else + { + return lockModels.notAllowedConfigNetworkModels; + } } + /// <summary> + /// 闂ㄩ攣鎺ㄩ�� + /// </summary> + /// <param name="pushMessageType"></param> + /// <param name="jPushMessageInfo"></param> + public void DoorLockPush(JPushMessageInfo jpushMessageInfo) + { + this.MainThread(() => + { + if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return; + try + { + //{ "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 == null) + { + return; + } + if ( expantContent.spk != SPK.VideoDoorLock) + { + return; + } + if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString())) + { + ///鎵撳紑瑙嗛闂ㄩ攣 + string currentTimeStr = Utlis.GetTimestamp(); // 褰撳墠鏃堕棿 + if (string.IsNullOrEmpty(expantContent.currentTime) && string.IsNullOrEmpty(currentTimeStr) && (long.Parse(currentTimeStr) - long.Parse(expantContent.currentTime)) > 30000) + { // 瓒呮椂30s + this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, true); + } + else + { + this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, expantContent.msgId); + } + } + else if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString())) + { + //浣庣數閲忔帹閫� + this.UpdateDoorLockState(PushMessageType.Alarm); + } + else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString())) + { + //寮�闂ㄦ帹閫� + this.UpdateDoorLockState(PushMessageType.Prompt); + } + }catch(Exception ex) + { + + } + }); + } + /// <summary> + /// 鏇存柊寮�閿佸浘鏍囧拰鐢垫睜鐘舵�� + /// </summary> + private void UpdateDoorLockState(PushMessageType pushMessageType) + { + int childrenCount = MainPage.BasePageView.ChildrenCount - 1; + for (int i = childrenCount; childrenCount > i; i--) + { + 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> /// 淇濆瓨鏈湴鏂囦欢 @@ -296,17 +456,18 @@ /// </summary> public string GetVideoDoorLockIcon(Comerom comerom) { + if (comerom == Comerom.collect) { - return "FunctionIcon/DoorLock/VideoDoorLockOpen.png"; + return "FunctionIcon/DoorLock/VideoDoorLockOpen1.png"; } else { - return "FunctionIcon/DoorLock/VideoDoorlockClose.png"; + return "FunctionIcon/DoorLock/VideoDoorlockClose1.png"; } } - + /// <summary> /// 鑾峰彇Loading瀵硅薄 /// </summary> @@ -340,19 +501,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> /// 瀛愮嚎绋� @@ -436,6 +585,8 @@ new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000); }); } + + #endregion /// <summary> /// 寮规绫诲瀷 @@ -455,40 +606,40 @@ 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 { Action<bool,string> mAction; + Action<string> mDoorlockAnswer; public AndroidIHdlInterface(Action<bool,string> action) { mAction = action; @@ -503,7 +654,10 @@ mAction?.Invoke(p0,p1); } - + public void DoorlockAnswer(string p0) + { + mDoorlockAnswer?.Invoke(p0); + } } #endif -- Gitblit v1.8.0