| | |
| | | #if __IOS__ |
| | | using Foundation; |
| | | #else |
| | | using Com.Videogo.Hdl; |
| | | #endif |
| | | |
| | | namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock |
| | |
| | | /// </summary> |
| | | public class CommonMethod |
| | | { |
| | | |
| | | |
| | | private Loading loading; |
| | | /// <summary> |
| | | /// 记录当前界面索引值 |
| | |
| | | EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(spk); |
| | | |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity, spk,list); |
| | | HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, serials) => |
| | | { |
| | | if (isBool) |
| | | { |
| | | this.GetYingshiDeviceList(serials); |
| | | } |
| | | |
| | | })); |
| | | #endif |
| | | |
| | | }); |
| | |
| | | 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(云端上deviceId)</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 |
| | | #endif |
| | | |
| | | |
| | |
| | | //打开萤石历史记录界面 |
| | | EZSDK.IOS.EZSDK.SharedInstance().ToDeviceMsgListView(deviceId); |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId); |
| | | #endif |
| | | }); |
| | | }); |
| | |
| | | //打开萤石临时密码界面 |
| | | EZSDK.IOS.EZSDK.SharedInstance().ToTemPassView(deviceId); |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId); |
| | | #endif |
| | | }); |
| | | }); |
| | |
| | | } |
| | | |
| | | string appKey = "1aa98a90489b4838b966b57018b4b04b";//正式服务器 |
| | | //if (OnAppConfig.Instance.RequestHttpsHost == "https://test-gz.hdlcontrol.com") |
| | | //{ |
| | | // appKey = "941b1b72b6294998acfd36c14931b675";//用在测试服务器推送的 |
| | | //} |
| | | //if (OnAppConfig.Instance.RequestHttpsHost == "https://test-gz.hdlcontrol.com") |
| | | //{ |
| | | // appKey = "941b1b72b6294998acfd36c14931b675";//用在测试服务器推送的 |
| | | //} |
| | | |
| | | |
| | | #if __IOS__ |
| | |
| | | //EZSDK.IOS.EZSDK.Play(info); |
| | | #else |
| | | |
| | | HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, appKey, 1, DB_ResidenceData.Instance.CurrentRegion.id); |
| | | |
| | | #endif |
| | | |
| | |
| | | if (DB_ResidenceData.Instance.CurrentRegion.id == home.id || string.IsNullOrEmpty(home.id)) return; |
| | | #if __IOS__ |
| | | #else |
| | | HDLEzvizSdk.Instance.SetHomeId(home.id); |
| | | |
| | | #endif |
| | | |
| | | } |
| | |
| | | this.MainThread(() => |
| | | { |
| | | 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) |
| | | try |
| | | { |
| | | 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 == 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); |
| | | } |
| | | } |
| | | if (expantContent.spk != SPK.VideoDoorLock) |
| | | catch (Exception ex) |
| | | { |
| | | 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); |
| | | |
| | | } |
| | | }); |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | #region ---------自定义线程(子线程,主线程)-------- |
| | | /// <summary> |
| | | /// 子线程 |
| | |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | #endregion |
| | | /// <summary> |
| | | /// 弹框类型 |
| | |
| | | /// <summary> |
| | | /// 专门定义给安卓回调用,没有特殊含义 |
| | | /// </summary> |
| | | public class AndroidIHdlInterface : Java.Lang.Object, IHdlInterface |
| | | public class AndroidIHdlInterface : Java.Lang.Object//, IHdlInterface |
| | | { |
| | | |
| | | Action<bool,string> mAction; |
| | | public AndroidIHdlInterface(Action<bool,string> action) |
| | | Action<bool, string> mAction; |
| | | Action<string> mDoorlockAnswer; |
| | | public AndroidIHdlInterface(Action<bool, string> action) |
| | | { |
| | | mAction = action; |
| | | } |
| | |
| | | /// <param name="p1">设备的序列化(源生回调返回)</param> |
| | | public void AddCallback(bool p0, string p1) |
| | | { |
| | | mAction?.Invoke(p0,p1); |
| | | mAction?.Invoke(p0, p1); |
| | | } |
| | | |
| | | |
| | | public void DoorlockAnswer(string p0) |
| | | { |
| | | mDoorlockAnswer?.Invoke(p0); |
| | | } |
| | | } |
| | | #endif |
| | | |