mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -55,6 +55,7 @@
                this.SunThread(() =>
                {
                    var list = this.GetVideoDoorLockLockModelsList("notAllowedConfigNetworkModels");
                    this.MainThread(() =>
                    {
#if __IOS__
@@ -76,7 +77,8 @@
#else
                    HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity, spk,list);
                        HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, serials) =>
                        HDLEzvizSdk.SetAddCallback(new
                            AndroidIHdlInterface((isBool, serials) =>
                    {
                        if (isBool)
                        {
@@ -165,7 +167,27 @@
            EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk);
#else
            HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
            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
            HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk,msgId);
#endif
@@ -256,7 +278,8 @@
                        //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);
                            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
@@ -289,6 +312,7 @@
#if __IOS__
#else
                HDLEzvizSdk.Instance.SetHomeId(home.id);
#endif
        }
@@ -320,30 +344,49 @@
            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;
                }
                if (expantContent.spk != SPK.VideoDoorLock)
                    //{ "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)
                {
                    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);
                }
            });
@@ -596,6 +639,7 @@
        {
            Action<bool,string> mAction;
            Action<string> mDoorlockAnswer;
            public AndroidIHdlInterface(Action<bool,string> action)
            {
                mAction = action;
@@ -610,7 +654,10 @@
                mAction?.Invoke(p0,p1);
            }
            public void DoorlockAnswer(string p0)
            {
                mDoorlockAnswer?.Invoke(p0);
            }
        }
#endif