wjc
2023-03-29 101b9a6cade468847d0b78d6c32bbeffc3202847
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -47,50 +47,28 @@
        public void SkipAddDeviceActivity(string spk)
        {
            this.InitializationAndroidData((isBools) =>
            this.InitializationAndroidData((isEzChildAccessToken) =>
            {
                this.MainThread(() =>
                {
                    if (!isBools)
                    {
                        this.ShowTip("先获取萤石云子账号token失败。");
                    }
#if __IOS__
                //跳转添加萤石设备
                ezsdkDelegate = new IosIHdlInterface();
                ezsdkDelegate.mAction += (serials) => {
                    var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
                    if (list.Count > 0)
                    ezsdkDelegate.mAction += (serials) =>
                    {
                        var function = list.Find((o) => o.sid == serials);
                        if (function != null)
                        {
                            this.SaveFunctionFile(function);
                        }
                    }
                        this.GetYingshiDeviceList(serials);
                };
                EZSDK.IOS.EZSDK.SharedInstance().Delegate= ezsdkDelegate;
                EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(spk);
#else
                HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk);
                HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, adnroidActionDevSerial) =>
                HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, serials) =>
                {
                    if (isBool)
                    {
                        var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
                        if (list.Count > 0)
                        {
                            var function = list.Find((o) => o.sid == adnroidActionDevSerial);
                            if (function != null)
                            {
                                this.SaveFunctionFile(function);
                            }
                        }
                        this.GetYingshiDeviceList(serials);
                    }
                }));
@@ -107,6 +85,28 @@
        }
        /// <summary>
        /// 读取云端的上萤石设备列表
        /// <paramref name="serials"/>序列号</param>
        private void GetYingshiDeviceList(string serials)
        {
            this.SunThread(() =>
            {
                var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
                this.MainThread(() =>
                {
                    if (list.Count > 0)
                    {
                        var function = list.Find((o) => o.sid == serials);
                        if (function != null)
                        {
                            this.SaveFunctionFile(function);
                        }
                    }
                });
            });
        }
        /// <summary>
        /// 打开实时视频画面
        /// </summary>
        /// <param name="deviceSerial">设备序列号</param>
@@ -116,35 +116,36 @@
        public void SkipRTVActivity(string deviceSerial, string deviceId, string spk, bool isDialog)
        {
            this.InitializationAndroidData((isBools) =>
            {
                if (!isBools)
            this.InitializationAndroidData((isEzChildAccessToken) =>
                {
                    this.MainThread(() =>
                    {
                        this.ShowTip("先获取萤石云子账号token失败。");
                    });
                }
                if (isDialog)
                {
                    Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
                    {
                        dialog.Close();
#if __IOS__
                        //打开萤石视频界面
                        EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk);
#else
                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
#endif
                    }, (dialog) =>
                    {
                        dialog.Close();
                    });
                            this.SkipRTVActivity(deviceSerial, deviceId, spk);
                        }, (dialog) => { dialog.Close(); });
                }
                else
                {
                        this.SkipRTVActivity(deviceSerial, deviceId, spk);
                    }
                });
            });
        }
        /// <summary>
        /// 打开实时视频画面
        /// </summary>
        /// <param name="deviceSerial">设备序列号</param>
        /// <param name="deviceId">设备id(云端上deviceId)</param>
        /// <param name="spk">设备spk(云雀上定义好的)</param>
        private void SkipRTVActivity(string deviceSerial, string deviceId, string spk)
        {
#if __IOS__
                    //打开萤石视频界面
                    EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk);
@@ -152,14 +153,10 @@
#else
                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
#endif
                }
            });
        }
        /// <summary>
        /// 浏览历史记录
        /// </summary>
@@ -167,14 +164,15 @@
        {
            this.InitializationAndroidData((s) =>
            {
                this.MainThread(() =>
                {
#if __IOS__
                //打开萤石历史记录界面
                EZSDK.IOS.EZSDK.SharedInstance().ToDeviceMsgListView(deviceId);
#else
                HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId);
#endif
                });
            });
            
        }
@@ -186,21 +184,15 @@
        {
            this.InitializationAndroidData((isBools) =>
            {
                if (!isBools)
                {
                    this.MainThread(() =>
                    {
                        this.ShowTip("先获取萤石云子账号token失败。");
                    });
                }
#if __IOS__
                //打开萤石临时密码界面
                EZSDK.IOS.EZSDK.SharedInstance().ToTemPassView(deviceId);
#else
                HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId); 
#endif
                });
            });
        }
@@ -209,8 +201,6 @@
        /// </summary>
        public void InitializationAndroidData(Action<bool> action)
        {
            bool isBool = true;
            this.SunThread(() =>
            {
@@ -224,10 +214,10 @@
                        {
                            //Token
                            isBool = false;
                            this.ShowTip("先获取萤石云子账号token失败。");
                            return;
                        }
                        Application.RunOnMainThread(() =>
                        {
#if __IOS__
                            //iOS
                            //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY
@@ -246,7 +236,7 @@
                            HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id);
#endif
                        });
                    });
@@ -281,7 +271,7 @@
        #endregion
        /// <summary>
        /// 获取门锁型号列表
        /// 获取【门锁型号】列表
        /// </summary>
        /// <returns>返回结果不会为null</returns>
        public List<string> GetVideoDoorLockLockModelsList()
@@ -289,7 +279,19 @@
            return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList();
        }
        /// <summary>
        /// 获取萤石视频【门锁】列表
        /// </summary>
        /// <returns></returns>
        public List<Function> 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 list;
        }
        #region  --------- 功能文件保存,删除 --------
        /// <summary>
        /// 保存本地文件
@@ -365,19 +367,7 @@
        }
        /// <summary>
        /// 获取萤石视频门锁列表
        /// </summary>
        /// <returns></returns>
        public List<Function> 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 list;
        }
        #region  ---------自定义线程(子线程,主线程)--------
        /// <summary>
        /// 子线程