| | |
| | | using HDL_ON.Entity; |
| | | using System.Collections.Generic; |
| | | using Shared; |
| | | #if __IOS__ |
| | | #else |
| | | using Com.Videogo.Hdl; |
| | | #endif |
| | | |
| | | namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock |
| | | { |
| | |
| | | |
| | | #region --------- 跳转到Android那边的方法(萤石视频门锁) -------- |
| | | /// <summary> |
| | | /// 读取云端的上设备列表(android源生添加设备到云端成功后) |
| | | /// <paramref name="devSerial"/>设备序列号</param> |
| | | /// android,ios源生添加设备到云端成功后回调方法 |
| | | /// 再读取云端的上萤石设备列表 |
| | | /// <paramref name="spk"/>spk</param> |
| | | /// </summary> |
| | | public void SkipAddDeviceActivity(string devSerial) |
| | | public void SkipAddDeviceActivity(string spk) |
| | | { |
| | | #if __IOS__ |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(devSerial); |
| | | |
| | | }); |
| | | #else |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | if (!isBools) { |
| | | this.MainThread(()=> { |
| | | if (!isBools) |
| | | { |
| | | this.MainThread(() => |
| | | { |
| | | this.ShowTip("先获取萤石云子账号token失败。"); |
| | | |
| | | }); |
| | | } |
| | | HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity); |
| | | #if __IOS__ |
| | | |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk); |
| | | HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, adnroidActionDevSerial) => |
| | | { |
| | | if (isBool) |
| | |
| | | } |
| | | |
| | | })); |
| | | #endif |
| | | }); |
| | | |
| | | |
| | | |
| | | #endif |
| | | |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 打开实时视频画面 |
| | | /// </summary> |
| | | /// <param name="deviceSerial">设备序列号</param> |
| | | /// <param name="deviceId">设备id(云端上deviceId)</param> |
| | | /// <param name="spk">设备spk(云雀上定义好的)</param> |
| | | public void SkipRTVActivity(string deviceSerial, string deviceId, string spk) |
| | | /// <param name="isDialog">是否需要弹框</param> |
| | | public void SkipRTVActivity(string deviceSerial, string deviceId, string spk, bool isDialog) |
| | | { |
| | | #if __IOS__ |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk); |
| | | }); |
| | | |
| | | |
| | | #else |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | if (!isBools) |
| | | { |
| | | this.MainThread(() => { |
| | | this.ShowTip("先获取萤石云子账号token失败。"); |
| | | |
| | | }); |
| | | } |
| | | Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) => |
| | | { |
| | | dialog.Close(); |
| | | HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk); |
| | | }, (dialog) => |
| | | { |
| | | dialog.Close(); |
| | | }); |
| | | |
| | | }); |
| | | |
| | | |
| | | #endif |
| | | } |
| | | /// <summary> |
| | | /// 浏览历史记录 |
| | | /// </summary> |
| | | public void SkipRecordActivity(string deviceId) |
| | | { |
| | | this.InitializationAndroidData((s)=> { |
| | | |
| | | |
| | | //HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId); |
| | | |
| | | }); |
| | | //未实现 |
| | | //this.InitializationAndroidData(); |
| | | // |
| | | } |
| | | /// <summary> |
| | | /// 临时密码开门 |
| | | /// <paramref name="deviceId"/> |
| | | /// </summary> |
| | | public void SkipPSWActivity(string deviceId) |
| | | { |
| | | #if __IOS__ |
| | | |
| | | #else |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | if (!isBools) |
| | |
| | | |
| | | }); |
| | | } |
| | | HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId); |
| | | |
| | | if (isDialog) |
| | | { |
| | | Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) => |
| | | { |
| | | dialog.Close(); |
| | | #if __IOS__ |
| | | |
| | | #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> |
| | | public void SkipRecordActivity(string deviceId) |
| | | { |
| | | this.InitializationAndroidData((s) => |
| | | { |
| | | |
| | | #if __IOS__ |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId); |
| | | #endif |
| | | |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 临时密码开门 |
| | | /// <paramref name="deviceId"/> |
| | | /// </summary> |
| | | public void SkipPSWActivity(string deviceId) |
| | | { |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | if (!isBools) |
| | | { |
| | | this.MainThread(() => |
| | | { |
| | | this.ShowTip("先获取萤石云子账号token失败。"); |
| | | |
| | | }); |
| | | } |
| | | #if __IOS__ |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId); |
| | | #endif |
| | | |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public void InitializationAndroidData(Action<bool> action) |
| | | { |
| | | |
| | | |
| | | |
| | | |
| | | bool isBool = true; |
| | | this.SunThread(() => |
| | | { |
| | |
| | | EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id); |
| | | //2.设置萤石子账号的AccessToken到SDK |
| | | 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); |
| | | |
| | |
| | | /// <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 |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 萤石视频门锁的图标 |
| | |
| | | } |
| | | |
| | | } |
| | | #region --------- 功能文件保存,删除 -------- |
| | | #region --------- 功能文件保存,删除 -------- |
| | | /// <summary> |
| | | /// 保存本地文件 |
| | | /// </summary> |
| | |
| | | FunctionList.List.DeleteFunction(function); |
| | | MainPage.Log($"文件删除->{function.name}-->{function.spk}"); |
| | | } |
| | | #endregion |
| | | #endregion |
| | | /// <summary> |
| | | /// 获取Loading对象 |
| | | /// </summary> |
| | |
| | | /// <returns></returns> |
| | | public List<Function> GetVideoDoorLockList() |
| | | { |
| | | //var list = FunctionList.List.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 new List<Function>(); |
| | | return list; |
| | | } |
| | | #region ---------自定义线程(子线程,主线程)-------- |
| | | #region ---------自定义线程(子线程,主线程)-------- |
| | | /// <summary> |
| | | /// 子线程 |
| | | /// </summary> |
| | |
| | | }); |
| | | |
| | | } |
| | | #endregion |
| | | #region --------- 提示框,确认框 -------- |
| | | #endregion |
| | | #region --------- 提示框,确认框 -------- |
| | | /// <summary> |
| | | /// 对话框(只要程序报错的时候才用到) |
| | | /// </summary> |
| | |
| | | new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000); |
| | | }); |
| | | } |
| | | #endregion |
| | | #endregion |
| | | /// <summary> |
| | | /// 弹框类型 |
| | | /// </summary> |
| | |
| | | room,//房间 |
| | | push,//推送 |
| | | } |
| | | |
| | | #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); |
| | | // } |
| | | //} |
| | | #else |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// 专门定义给安卓回调用着,没有特殊含义 |
| | | /// </summary> |
| | | public class AndroidIHdlInterface : Java.Lang.Object, IHdlInterface |
| | | { |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | #endif |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |