From 372ebbd137d2951a7ac03b964d530d05ad7a5971 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 15 三月 2023 18:17:04 +0800
Subject: [PATCH] 2023年03月15日18:16:54
---
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs | 279 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 234 insertions(+), 45 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
index 458e977..f07cff2 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -5,12 +5,12 @@
namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock
{
+ /// <summary>
+ /// 钀ょ煶瑙嗛闂ㄩ攣鍏叡鏂规硶绫�
+ /// </summary>
public class CommonMethod
{
- public CommonMethod()
- {
- }
-
+ private Loading loading;
private static CommonMethod commonMethod = null;
public static CommonMethod Current
@@ -27,11 +27,28 @@
}
}
+
+ #region --------- 璺宠浆鍒癆ndroid閭h竟鐨勬柟娉�(钀ょ煶瑙嗛闂ㄩ攣) --------
/// <summary>
- /// 璺宠浆鍒癆ndroid閭h竟鍘�
+ /// 娣诲姞璁惧鍒颁簯绔�
+ /// <paramref name="devSerial"/>璁惧搴忓垪鍙�</param>
/// </summary>
- public void SkipAddDeviceActivity( )
+ public void SkipAddDeviceActivity(string devSerial)
{
+ if (string.IsNullOrEmpty(devSerial)) return;
+ new System.Threading.Thread(() =>
+ {
+ var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
+ if (list.Count > 0)
+ {
+ var function = list.Find((o) => o.sid == devSerial);
+ if (function != null)
+ {
+ this.SaveFunctionFile(function);
+ }
+ }
+ })
+ { IsBackground = true }.Start();
//鏈疄鐜�
#if __IOS__
@@ -40,9 +57,8 @@
#endif
}
-
/// <summary>
- /// 璺宠浆鍒癆ndroid(瀹炴椂瑙嗛)閭h竟鍘�
+ /// 鎵撳紑瀹炴椂瑙嗛鐢婚潰
/// </summary>
/// <param name="deviceSerial">璁惧搴忓垪鍙�</param>
/// <param name="deviceId">璁惧id(浜戠涓奷eviceId)</param>
@@ -62,21 +78,121 @@
//jumpToEZRealPlayActivity(Shared.Application.Activity, deviceId, deviceSerial, spk)
}
/// <summary>
- /// 璺宠浆鍒癆ndroid(鍘嗗彶璁板綍)閭h竟鍘�
+ /// 娴忚鍘嗗彶璁板綍
/// </summary>
public void SkipRecordActivity()
{
//鏈疄鐜�
+ //this.InitializationAndroidData();
+ //
}
/// <summary>
- /// 璺宠浆鍒癆ndroid(涓存椂瀵嗙爜)閭h竟鍘�
+ /// 涓存椂瀵嗙爜寮�闂�
/// </summary>
public void SkipPSWActivity()
{
//jumpTempPasswordActivity(Application.Activity, deviceId);
}
+
+ /// <summary>
+ /// 鍒濆鍖栬悿鐭砈DK(瀹為檯灏辨槸浼犲弬鏁�,澶氭璋冪敤涔熸病鏈夊奖鍝�)
+ /// </summary>
+ public void InitializationAndroidData(Action<bool> action)
+ {
+ bool isBool = true;
+ this.SunThread(() =>
+ {
+ try
+ {
+ //鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken
+ var ezChildAccessToken = VideDoorLockSend.Current.GetEZGetChildToken();
+ this.MainThread(() =>
+ {
+ if (string.IsNullOrEmpty(ezChildAccessToken))
+ {
+ //Token
+ isBool = false;
+ 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(UserVideoDoorLockInfo.Current.LoginTokenString, UserVideoDoorLockInfo.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
+ //Android
+ //1.璁剧疆鎵�闇�娌充笢鐨則oken銆佸煙鍚嶅湴鍧�
+ //2.璁剧疆钀ょ煶瀛愯处鍙风殑token
+ //3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
+ ((BaseActivity)Shared.Application.Activity).SetCamera(b =>
+ {
+ if (b)
+ {
+ ((BaseActivity)Shared.Application.Activity).SetPermission(result =>
+ {
+ if (result)
+ {
+ Android.Content.Intent intent = new Android.Content.Intent();
+ var bundle = new Android.OS.Bundle();
+ //浼犻�抧ame鍙傛暟涓簍inyphp
+ bundle.PutString("EzChildAccessToken", ezChildAccessToken);
+ bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString);
+ bundle.PutString("HdlrefreshToken", UserInfo.Current.RefreshToken);
+ bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost);
+ bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b");
+ bundle.PutInt("Platform", 1);
+ bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id);
+ intent.PutExtras(bundle);
+ //intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity"));
+ //Shared.Application.Activity.StartActivity(intent);
+ }
+ }, "android.permission.RECORD_AUDIO");
+
+ }
+ });
+#endif
+ });
+
+ });
+
+ }
+ catch (Exception e)
+ {
+ }
+ finally
+ {
+ this.MainThread(() =>
+ {
+ action?.Invoke(isBool);
+ });
+ }
+ });
+ }
+ /// <summary>
+ /// 鏇存崲浣忓畢
+ /// </summary>
+ /// <param name="home">瀵硅薄</param>
+ public void ChangeCurrHome(RegionInfoRes home)
+ {
+ if (DB_ResidenceData.Instance.CurrentRegion.id == home.id || string.IsNullOrEmpty(home.id)) return;
+
+ }
+ #endregion
+
/// <summary>
/// 钀ょ煶瑙嗛闂ㄩ攣鐨勫浘鏍�
+ /// <param name="comerom">鏉ヨ嚜閭i噷</param>
/// </summary>
public string GetVideoDoorLockIcon(Comerom comerom)
{
@@ -90,6 +206,7 @@
}
}
+ #region --------- 鍔熻兘鏂囦欢淇濆瓨锛屽垹闄� --------
/// <summary>
/// 淇濆瓨鏈湴鏂囦欢
/// </summary>
@@ -113,47 +230,35 @@
FunctionList.List.DeleteFunction(function);
MainPage.Log($"鏂囦欢鍒犻櫎->{function.name}-->{function.spk}");
}
+ #endregion
/// <summary>
- /// 闂儊妗�
+ /// 鑾峰彇Loading瀵硅薄
/// </summary>
- /// <param name="frame">鐖惰鍥�</param>
- /// <param name="tipText">鎻愮ず鏂囨湰</param>
- /// <param name="closeTime">鏄剧ず鏃堕棿,榛樿鏄�1s</param>
- public void ShowTip(FrameLayout frame, string tipText, int closeTime = 1)
+ /// <returns></returns>
+ public Loading Loading
{
- Application.RunOnMainThread(() =>
+ get
{
- new Tip()
+ if (loading == null)
{
- CloseTime = closeTime,
- Text = tipText,
- Direction = AMPopTipDirection.None,
- }.Show(frame);
- });
- }
+ loading = new Loading();
+ }
+ if (MainPage.BasePageView.ChildrenCount < 1)
+ {
+ return loading;
+ }
+ View view = MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1);
+ if (view is FrameLayout)
+ {
+ ((FrameLayout)view).AddChidren(loading);
+ }
+ else if (view is PageLayout)
+ {
+ ((PageLayout)view).AddChidren(loading);
+ }
+ return loading;
+ }
-
-
- /// <summary>
- /// 淇℃伅鎻愮ず绐楀彛锛岃嚜鍔ㄥ叧闂�
- /// </summary>
- /// <param name="msg">鎻愮ず閿欒鏂囨湰</param>
- public void ShowTip(string msg, int time = 2)
- {
- Application.RunOnMainThread(() =>
- {
- new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000);
- });
- }
- /// <summary>
- /// 瀵硅瘽妗�
- /// </summary>
- public void ShowAlert()
- {
- Application.RunOnMainThread(() =>
- {
- new Alert("", "瑙嗛闂ㄩ攣涓�", "鍙栨秷", "纭畾").Show();
- });
}
/// <summary>
/// 鑾峰彇钀ょ煶瑙嗛闂ㄩ攣鍒楄〃
@@ -168,7 +273,90 @@
#endif
return list;
}
+ #region ---------鑷畾涔夌嚎绋�(瀛愮嚎绋嬶紝涓荤嚎绋�)--------
+ /// <summary>
+ /// 瀛愮嚎绋�
+ /// </summary>
+ /// <paramref name="tipType"/>鏄惁瑕佹彁绀洪敊璇俊鎭�(榛樿鏄剧ず)<paramref>
+ /// <param name="action"></param>
+ public void SunThread(Action action, TipType tipType = TipType.confirmation)
+ {
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ action?.Invoke();
+ }
+ catch (Exception e)
+ {
+ this.ShowAlert(e, tipType);
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+ /// <summary>
+ /// 涓荤嚎绋�(UI鏇存柊)
+ /// </summary>
+ /// <paramref name="tipType"/>鏄惁瑕佹彁绀洪敊璇俊鎭�(榛樿鏄剧ず)<paramref>
+ /// <param name="action"></param>
+ public void MainThread(Action action, TipType tipType = TipType.confirmation)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ action?.Invoke();
+ }
+ catch (Exception e)
+ {
+ this.ShowAlert(e, tipType);
+ }
+ });
+
+ }
+ #endregion
+ #region --------- 鎻愮ず妗嗭紝纭妗� --------
+ /// <summary>
+ /// 瀵硅瘽妗�(鍙绋嬪簭鎶ラ敊鐨勬椂鍊欐墠鐢ㄥ埌)
+ /// </summary>
+ /// <paramref name="e"/>寮傚父瀵硅薄<paramref>
+ /// <paramref name="tipType"/>鏄惁瑕佹彁绀洪敊璇俊鎭�(榛樿鏄剧ず)<paramref>
+ private void ShowAlert(Exception e, TipType tipType)
+ {
+
+ if (tipType != TipType.confirmation)
+ {
+ return;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ string msg = e.Message + "\r\n" + e.StackTrace;
+ Alert alert = new Alert("鎶辨瓑绋嬪簭鍑洪敊浜�.", "鎸塡"纭畾\"鑳借幏鍙栨洿璇︾粏鐨勯敊璇俊鎭�.", "鍙栨秷", "纭畾");
+ alert.Show();
+ alert.ResultEventHandler += (alerts, isBool) =>
+ {
+ alert.Dismiss();
+ if (isBool)
+ {
+ StackTraceLog stackTraceLog = new StackTraceLog(msg);
+ stackTraceLog.Show();
+ }
+ };
+ });
+ }
+ /// <summary>
+ /// 淇℃伅鎻愮ず绐楀彛锛岃嚜鍔ㄥ叧闂�
+ /// </summary>
+ /// <param name="msg">鎻愮ず閿欒鏂囨湰</param>
+ public void ShowTip(string msg, int time = 2)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000);
+ });
+ }
+ #endregion
/// <summary>
/// 寮规绫诲瀷
/// </summary>
@@ -186,6 +374,7 @@
function,//鍔熻兘
collect,//鏀惰棌
room,//鎴块棿
+ push,//鎺ㄩ��
}
}
}
--
Gitblit v1.8.0