wjc
2023-03-29 cf7623fe25a008b4e128c6083e362578e2a1e3b0
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -2,7 +2,10 @@
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
{
@@ -38,20 +41,25 @@
        #region  --------- 跳转到Android那边的方法(萤石视频门锁) --------
        /// <summary>
        /// 读取云端的上设备列表(android源生添加设备到云端成功后)
        /// <paramref name="devSerial"/>设备序列号</param>
        /// </summary>
        public void SkipAddDeviceActivity(string devSerial)
        /// android,ios源生添加设备到云端成功后回调方法
        /// 再读取云端的上萤石设备列表
        /// <paramref name="spk"/>spk</param>
        public void SkipAddDeviceActivity(string spk)
        {
            this.InitializationAndroidData((isBools) =>
            {
                if (!isBools) {
                    this.MainThread(()=> {
                        this.ShowTip("先获取萤石云子账号token失败。");
                    });
                }
                HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity);
                this.MainThread(() =>
                {
                    if (!isBools)
                    {
                        this.ShowTip("先获取萤石云子账号token失败。");
                    }
#if __IOS__
#else
                HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk);
                HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, adnroidActionDevSerial) =>
                {
                    if (isBool)
@@ -71,13 +79,16 @@
                    }
                }));
#endif
                    });
            });
#if __IOS__
#else
#endif
        }
        /// <summary>
@@ -86,42 +97,62 @@
        /// <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)
        {
            this.InitializationAndroidData((isBools) =>
            {
                if (!isBools)
                {
                    this.MainThread(() => {
                    this.MainThread(() =>
                    {
                        this.ShowTip("先获取萤石云子账号token失败。");
                    });
                }
                Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
                if (isDialog)
                {
                    dialog.Close();
                    Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
                    {
                        dialog.Close();
#if __IOS__
#else
                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
                }, (dialog) =>
#endif
                    }, (dialog) =>
                    {
                        dialog.Close();
                    });
                }
                else
                {
                    dialog.Close();
                });
            });
#if __IOS__
#else
                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
#endif
                }
            });
        }
        /// <summary>
        /// 浏览历史记录
        /// </summary>
        public void SkipRecordActivity(string deviceId)
        {
            this.InitializationAndroidData((s)=> {
            this.InitializationAndroidData((s) =>
            {
#if __IOS__
#else
                HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId);
#endif
            });
            //未实现
@@ -145,7 +176,10 @@
                    });
                }
                HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId);
#if __IOS__
#else
                HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId);
#endif
            });
        }
@@ -155,8 +189,8 @@
        /// </summary>
        public void InitializationAndroidData(Action<bool> action)
        {
            bool isBool = true;
            this.SunThread(() =>
            {
@@ -175,19 +209,19 @@
                        Application.RunOnMainThread(() =>
                        {
#if __IOS__
                                //iOS
                                //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY
                                EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
                                //1.设置所需河东的AccessToken和RefreshToken、域名地址
                                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到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);
                            //iOS
                            //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY
                            EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
                            //1.设置所需河东的AccessToken和RefreshToken、域名地址
                            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到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);
@@ -222,21 +256,15 @@
        #endregion
        /// <summary>
        /// 萤石视频门锁的图标
        /// <param name="comerom">来自那里</param>
        /// 获取门锁型号列表
        /// </summary>
        public string GetVideoDoorLockIcon(Comerom comerom)
        /// <returns>返回结果不会为null</returns>
        public List<string> GetVideoDoorLockLockModelsList()
        {
            if (comerom == Comerom.collect)
            {
                return "FunctionIcon/DoorLock/VideoDoorLockOpen.png";
            }
            else
            {
                return "FunctionIcon/DoorLock/VideoDoorlockClose.png";
            }
            return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList();
        }
        #region  --------- 功能文件保存,删除 --------
        /// <summary>
        /// 保存本地文件
@@ -262,6 +290,23 @@
            MainPage.Log($"文件删除->{function.name}-->{function.spk}");
        }
        #endregion
        /// <summary>
        /// 萤石视频门锁的图标
        /// <param name="comerom">来自那里</param>
        /// </summary>
        public string GetVideoDoorLockIcon(Comerom comerom)
        {
            if (comerom == Comerom.collect)
            {
                return "FunctionIcon/DoorLock/VideoDoorLockOpen.png";
            }
            else
            {
                return "FunctionIcon/DoorLock/VideoDoorlockClose.png";
            }
        }
        /// <summary>
        /// 获取Loading对象
        /// </summary>
@@ -411,10 +456,34 @@
            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
        {
@@ -436,9 +505,10 @@
           
        }
#endif
    }
}