wxr
2024-12-02 ea0b1e8e5f43c5fd0a7d479e25ede3b8cbea464a
HDL_ON/Common/HDLCommon.cs
@@ -7,6 +7,10 @@
using HDL_ON.Entity;
using System.Threading;
using HDL_ON.DriverLayer;
#if __IOS__
using Other;
using Shared.IOS.HDLLinphoneSDK;
#endif
namespace HDL_ON
{
    /// <summary>
@@ -233,21 +237,6 @@
        #endregion
        ///// <summary>
        ///// 恢复住宅
        ///// 2020-12-03 待测试未检测
        ///// </summary>
        //public void RestoreHomeBackup(string RegionID)
        //{
        //    var isExist = FileUtils.ExistRegion(RegionID);
        //    if (isExist)
        //    {
        //        //存在则恢复
        //        string newRegionRootPath = FileUtils.CreateRegionBackup(RegionID);
        //        FileUtils.RestoreRegionFiles(newRegionRootPath);
        //    }
        //}
        #region ■ 推送处理_______________________
        /// <summary>
        /// 推送消息处理
@@ -258,8 +247,11 @@
        {
            try
            {
                //Console.WriteLine($"接收到推送,,,,.{Newtonsoft.Json.JsonConvert.SerializeObject(jpushMessageInfo).ToString()}");
                if (OnAppConfig.Instance.LastLoginUserId == "")
                {
                    return;
                }
                //MainPage.Log($"接收到推送,,,,.{Newtonsoft.Json.JsonConvert.SerializeObject(jpushMessageInfo).ToString()}");
                //Extras为空不处理
                if (string.IsNullOrEmpty(jpushMessageInfo.Extras)) return;
@@ -280,58 +272,20 @@
                        //报警推送弹窗提示
                        ShowAlarmPushMessage(jpushMessageInfo, true);
                        //萤石门锁推送
                        HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
                        UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
                    }
                    //else if (jpushMessageInfo.messageType == (PushMessageType.FLCall.ToString()))
                    //{
                    //    if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
                    //    ESVideoInfo eSVideoInfo = GetESOnVideoJson(jpushMessageInfo.expantContent);
                    //    if (eSVideoInfo == null) return;
                    //    if (string.IsNullOrEmpty(eSVideoInfo.uuid)) return;
                    //    if (eSVideoInfo.uuid.Contains(","))
                    //    {
                    //        var uuid = eSVideoInfo.uuid.Split(',');
                    //        eSVideoInfo.ESVideoUUID = uuid[0];
                    //    }
                    //    else
                    //    {
                    //        eSVideoInfo.ESVideoUUID = eSVideoInfo.uuid;
                    //    }
                    //    ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, InterphoneType.FLVI.ToString());
                    //}
                    else if (jpushMessageInfo.messageType == (PushMessageType.HDL_INTERPHONE.ToString()))
                    else if (jpushMessageInfo.messageType == PushMessageType.HDL_INTERPHONE.ToString())
                    {
                        if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
                        //字段兼容问题,只能直接取值了
                        var json = Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent);
                        //1.视对讲厂家类型
                        string interphoneTypeEnum = json["interphoneTypeEnum"].ToString();
                        if (string.IsNullOrEmpty(interphoneTypeEnum)) return;
                        ESVideoInfo eSVideoInfo = new ESVideoInfo();// GetESOnVideoJson(jpushMessageInfo.expantContent);
                        //2.根据可视对讲厂家类型,处理不同的数据
                        //if (interphoneTypeEnum == InterphoneType.IMOUVISIAL.ToString())
                        //{
                        //    //大华乐橙
                        //    eSVideoInfo.callId = json["callId"].ToString();
                        //    //eSVideoInfo.Lc_AccessToken = UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken;//json["subAccountToken"].ToString();//
                        //    eSVideoInfo.Lc_AccessToken = json["subAccountToken"].ToString();//2021-05-13 目前云端还没拿到Lc_AccessToken,目前没办法正常使用
                        //    eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                        //    eSVideoInfo.Lc_Location = OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1;
                        //    eSVideoInfo.Lc_PlayToken = json["token"].ToString();
                        //    //eSVideoInfo.Lc_Psk = json["cname"].ToString();
                        //    eSVideoInfo.Lc_Psk = json["psk"].ToString();//2021-10-15 PSK字段不能取cname
                        //}
                        //else
                        if (interphoneTypeEnum == InterphoneType.EZVIZ.ToString())
                        {
                            //萤石猫眼
@@ -368,35 +322,94 @@
                                    }
                                }
                            }
                            catch { }
                            //HDL Linphone 狄耐克
                            catch (Exception ex)
                            {
                                MainPage.Log("Error", $"自研可视对讲通知异常:{ex.StackTrace}");
                            }
#if __ANDROID__
                            try
                            {
                                //安卓如果设置了静音,不能响铃
                                if (Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.AudioManager.RingerMode.ToString().ToLower() == "normal")
                                {
                                    Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MissedCallsTime = 30;
                                    Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.SetMediaPlayerLooping(true);
                                    Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.PlayRingtone();
                                    new Thread(() =>
                                    {
                                        try
                                        {
                                            DateTime dateTime = DateTime.Now;
                                            while (true)
                                            {
                                                Thread.Sleep(1000);
                                                if (!Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MediaPlayerPlayingStatus || dateTime.AddSeconds(Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MissedCallsTime) <= DateTime.Now)
                                                {
                                                    break;
                                                }
                                            }
                                            Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.SetMediaPlayerLooping(false);
                                        }
                                        catch (Exception ex)
                                        {
                                            MainPage.Log("error", "自研可视对讲铃声播放异常:" + ex.Message);
                                        }
                                    })
                                    { IsBackground = true }.Start();
                                }
                            }
                            catch (Exception ex)
                            {
                                MainPage.Log("Error", $"安卓可视对讲响铃异常:{ex.StackTrace}");
                            }
#elif __IOS__
                            SoundPlayer.Ins.PlaySound();
                            new Thread(() => {
                                int count = 0;
                                while (true)
                                {
                                    if (SoundPlayer.Ins.player == null)
                                    {
                                        break;
                                    }
                                    if (!SoundPlayer.Ins.player.Playing)
                                    {
                                        break;
                                    }
                                    System.Threading.Thread.Sleep(1000);
                                    count++;
                                    MainPage.Log("linphone 呼叫计时:" + count);
                                    if (count > 29)
                                    {
                                        SoundPlayer.Ins.StopSound();
                                        Application.RunOnMainThread(() => {
                                            try
                                            {
                                                HDLLinPhoneSDK.Instance().HideIntercomeVC();
                                            }catch(Exception ex)
                                            {
                                                MainPage.Log("error", "ios linphone 呼叫超时关闭界面异常:" + ex.Message);
                                            }
                                        });
                                        break;
                                    }
                                }
                            })
                            { IsBackground = true }.Start();
#endif
                            MainPage.Log("接收到推送:HDL Linphone 狄耐克");
                            eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
                            eSVideoInfo.callId = json["callId"].ToString();
                            eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                            eSVideoInfo.DeviceName = json["deviceName"].ToString();
                            eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString();
                            eSVideoInfo.spk = json["spk"].ToString();
                            //ShowAlert("狄耐克门口机呼叫");
                            //打开呼叫页面
                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.HDL.ToString());
                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.HDL.ToString(), jpushMessageInfo.isNotificationGoing);
                            return;
                        }
                        //else if (interphoneTypeEnum == InterphoneType.FREEVIEW.ToString())
                        //{
                        //    //全视通 Linphone 狄耐克
                        //    eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
                        //    eSVideoInfo.callId = json["callId"].ToString();
                        //    eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                        //    eSVideoInfo.DeviceName = json["deviceName"].ToString();
                        //    eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString();
                        //    eSVideoInfo.spk = json["spk"].ToString();
                        //    //ShowAlert("狄耐克门口机呼叫");
                        //    //打开呼叫页面
                        //    HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.FREEVIEW.ToString());
                        //    return;
                        //}
                        //3.打开呼叫页面
                        if (eSVideoInfo == null) return;
@@ -411,11 +424,46 @@
                    }
                    else if (jpushMessageInfo.messageType == (PushMessageType.DOOR_BELL.ToString()))
                    {
                        try
                        {
                            var json = Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent);
                            string interphoneTypeEnum = json["interphoneTypeEnum"].ToString();
                            if (string.IsNullOrEmpty(interphoneTypeEnum)) return;
                            ESVideoInfo eSVideoInfo = new ESVideoInfo();
                            if (interphoneTypeEnum == InterphoneType.EZVIZ.ToString())
                            {
                                eSVideoInfo.Lc_AccessToken = json["subToken"].ToString();//"子账号token
                                eSVideoInfo.DeviceSerial = json["devSerial"].ToString();//设备序列号
                                eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                                eSVideoInfo.spk = json["spk"].ToString();
                                if (eSVideoInfo.spk == SPK.Peephole)
                                {
                                    eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
                                    if (json.ContainsKey("msgId") && !string.IsNullOrEmpty(json["msgId"].ToString()))
                                    {
                                        eSVideoInfo.msgId = json["msgId"].ToString();
                                    }
                                    if (json.ContainsKey("currentTime") && !string.IsNullOrEmpty(json["currentTime"].ToString()))
                                    {
                                        eSVideoInfo.currentTime = json["currentTime"].ToString();
                                    }
                                    if (eSVideoInfo != null)
                                    {
                                        //打开呼叫页面
                                        ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, interphoneTypeEnum);
                                        return;
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            MainPage.Log("Error", $"结束门铃推送数据异常:{ex.Message}");
                        }
                        //萤石门锁推送
                        HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
                    }
                }
            }
            catch (Exception EX)
@@ -423,8 +471,6 @@
                Utlis.WriteLine("catch: " + EX.ToString());
            }
        }
        //{"code":0,"data":{"list":[{"createTime":"1625798305115","modifyTime":"1625798305115","region":"100000000000000001","id":"1413326644794294273","alarmId":"20210709103818-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103818-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:38:17","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{"createTime":"1625798057197","modifyTime":"1625798057197","region":"100000000000000001","id":"1413325604946640898","alarmId":"20210709103413-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103413-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:34:12","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797973320","modifyTime":"1625797973320","region":"100000000000000001","id":"1413325253141004289","alarmId":"20210709103236-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103236-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:32:31","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797782136","modifyTime":"1625797782136","region":"100000000000000001","id":"1413324451261382658","alarmId":"20210709102937-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102937-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:29:37","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797668771","modifyTime":"1625797668771","region":"100000000000000001","id":"1413323975769915394","alarmId":"20210709102743-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102743-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:27:42","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797539846","modifyTime":"1625797539846","region":"100000000000000001","id":"1413323435023466498","alarmId":"20210709102534-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102534-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:25:34","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797530627","modifyTime":"1625797530627","region":"100000000000000001","id":"1413323396351983618","alarmId":"20210709102525-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102525-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:25:25","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625796028089","modifyTime":"1625796028089","region":"100000000000000001","id":"1413317094255034369","alarmId":"20210709100024-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709100024-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:00:23","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625795974558","modifyTime":"1625795974558","region":"100000000000000001","id":"1413316869729746946","alarmId":"20210709095931-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709095931-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T09:59:31","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625795966933","modifyTime":"1625795966933","region":"100000000000000001","id":"1413316837748178946","alarmId":"20210709095923-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"人体感应事件","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709095923-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T09:59:22","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"}],"totalCount":"13","totalPage":"2","pageNo":"1","pageSize":"10"},"timestamp":"1625807415164","isSuccess":true}
        //{"platform":"1","timestamp":"1625805660249","appKey":"HDL-HOME-APP-TEST","sign":"02e433c40485b30451ebdc5ca3cd959c","deviceSerial":"F41014762","homeId":"1396717478877241345"}
        /// <summary>
        /// 解析丰林可视对讲推送数据
        /// </summary>
@@ -454,42 +500,38 @@
        public void CheckLogout()
        {
#if __IOS__
            try
            {
            try{
                HDL_ON_iOS.AppDelegate.rootViewController.PopToRootViewController(false);
            }
            catch (Exception ex)
            {
            }catch(Exception ex){
                MainPage.Log($"回到跟类失败:{ex.Message}");
            }
#else
            //Application.Activity.StartActivity()
#endif
            //测试账号,不挤下线
            switch (UserInfo.Current.AccountString)
            {
                case "464027401@qq.com":
                case "13580507523":
                case "15626203746":
                case "18316672920":
                    return;
            }
            //未登录不用处理
            if (!UserInfo.Current.IsLogin) return;
            //账号在别处登陆,被踢下线 跳转到登录页面
            new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
            //if (!UserInfo.Current.IsLogin) return;
            try
            {
                Application.RunOnMainThread(() =>
                {
                    //账号在别处登陆,被踢下线 跳转到登录页面
                    new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
                });
            }
            catch (Exception ex)
            {
                MainPage.Log("Error", $"挤下线提示窗口异常:{ex.StackTrace}");
            }
            try
            {
                Logout();
            }
            catch (Exception ex)
            {
                MainPage.Log("Error",$"挤下线异常:{ex.StackTrace}");
                MainPage.Log("Error", $"挤下线异常:{ex.Message}");
            }
        }
@@ -498,53 +540,66 @@
        /// </summary>
        public void Logout()
        {
            //加载Loading效果
            var waitPage = new Loading();
            MainPage.BaseView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            new Thread(() =>
            try
            {
                try
                Application.RunOnMainThread(() =>
                {
                    //2.注销推送
                    new HttpServerRequest().SignOutPush();
                    //3.跳转登录页面
                    UserInfo.Current.LastTime = DateTime.MinValue;
                    UserInfo.Current.SaveUserInfo();
                    DB_ResidenceData.Instance.EixtAccount();
                    MainPage.Log("退出账号清空数据");
                    //4.注销HDLSIP账号登录 2021-08-20
                    HDLLinphone.Current.LogoutAllAccount();
                    MainPage.Log("注销HDLSIP账号登录");
                    //加载Loading效果
                    var waitPage = new Loading();
                    MainPage.BaseView.AddChidren(waitPage);
                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
                    new Thread(() =>
                    {
                        try
                        {
                            //2.注销推送
                            new HttpServerRequest().SignOutPush();
                            //3.跳转登录页面
                            UserInfo.Current.ValidToken = false;
                            UserInfo.Current.SaveUserInfo();
                            OnAppConfig.Instance.LastLoginUserId = "";
                            OnAppConfig.Instance.PushSignStr = "";
                            OnAppConfig.Instance.SaveConfig();
                            DB_ResidenceData.Instance.EixtAccount();
                            MainPage.Log("退出账号清空数据");
                            //4.注销HDLSIP账号登录 2021-08-20
                            HDLLinphone.Current.LogoutAllAccount();
                            MainPage.Log("注销HDLSIP账号登录");
#if __IOS__
                    //5.全视通登出
                    //Shared.IOS.HDLFVSDK.Video.Logout();
                    //6.清空Siri共享数据信息
                    new Other.SkipControl().SetData(false, "", "", "", "");
                    var sDM = new SiriKit.SceneDateManager();
                    Console.WriteLine($"IsLogin:{sDM.IsLgoin};accessToken:{sDM.AccessToken};refreshToken:{sDM.RefreshToken};RegionUrl:{sDM.RegionUrl};HomeId:{sDM.HomeId}");
                            //5.全视通登出
                            //Shared.IOS.HDLFVSDK.Video.Logout();
                            //6.清空Siri共享数据信息
                            new Other.SkipControl().SetData(false, "", "", "", "");
                            var sDM = new SiriKit.SceneDateManager();
                            //Console.WriteLine($"IsLogin:{sDM.IsLgoin};accessToken:{sDM.AccessToken};refreshToken:{sDM.RefreshToken};RegionUrl:{sDM.RegionUrl};HomeId:{sDM.HomeId}");
#endif
                }
                catch (Exception ex)
                {
                    MainPage.Log($"xxx:{ex.Message}");
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.Hide();
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                        MainPage.GoLoginPage(UserInfo.Current);
                    });
                }
            }).Start();
                        catch (Exception ex)
                        {
                            MainPage.Log($"xxx:{ex.Message}");
                        }
                        finally
                        {
                            Application.RunOnMainThread(() =>
                            {
                                if (waitPage != null)
                                {
                                    waitPage.Hide();
                                    waitPage.RemoveFromParent();
                                    waitPage = null;
                                }
                                MainPage.GoLoginPage(UserInfo.Current);
                            });
                        }
                    }).Start();
                });
            }
            catch (Exception ex)
            {
                MainPage.Log("Error", $"退出登录异常:{ex.StackTrace}");
            }
        }
        /// <summary>
@@ -559,7 +614,7 @@
        public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo, bool isAlarm)
        {
            //没登录不处理
            if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null)
            if (UserInfo.Current == null || MainPage.BasePageView == null)
            {
                return;
            }
@@ -741,6 +796,7 @@
                                //iOS
                                //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY
                                EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
                                EZSDK.IOS.EZSDK.SharedInstance().ConfigHDLServerAppKey(HttpUtil.Ins.APP_KEY,HttpUtil.Ins.SECRET_KEY);
                                //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);
@@ -776,9 +832,17 @@
                                    {
                                        ((BaseActivity)Shared.Application.Activity).SetPermission(result =>
                                        {
                                            MainPage.Log($"初始化萤石SDK\r\nEzChildAccessToken\r\n{ezChildAccessToken}" +
                                                            $"\r\n LoginTokenString\r\n{UserInfo.Current.LoginTokenString}" +
                                                            $"\r\n RefreshToken\r\n{UserInfo.Current.RefreshToken}" +
                                                            $"\r\n RequestHttpsHost\r\n{OnAppConfig.Instance.RequestHttpsHost}" +
                                                            $"\r\n EzAppKey\r\n 1aa98a90489b4838b966b57018b4b04b" +
                                                            $"\r\n HomeId\r\n{DB_ResidenceData.Instance.CurrentRegion.id}" +
                                                            $"\r\n APP_KEY\r\n{HttpUtil.Ins.APP_KEY}" +
                                                            $"\r\n SECRET_KEY\r\n{HttpUtil.Ins.SECRET_KEY}");
                                            //2023年03月29日13:08:35 修改
                                            Com.Videogo.Hdl.HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id,
                                HttpUtil.APP_KEY, HttpUtil.SECRET_KEY);
                                                HttpUtil.Ins.APP_KEY, HttpUtil.Ins.SECRET_KEY);
                                            Com.Videogo.Hdl.HDLEzvizSdk.Instance.JumpToCameraListActivity(Shared.Application.Activity, list);
                                            //if (result)
                                            //{
@@ -796,7 +860,6 @@
                                            //    Shared.Application.Activity.StartActivity(intent);
                                            //}
                                        }, "android.permission.RECORD_AUDIO");
                                    }
                                });
#endif