wxr
2024-09-24 691dbe24f5724f153e07947c7b75bdfea5f0b6d5
HDL_ON/Common/HDLCommon.cs
@@ -7,7 +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>
@@ -373,7 +376,7 @@
#if __ANDROID__
                            Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MissedCallsTime = 10;
                            Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MissedCallsTime = 30;
                            Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.SetMediaPlayerLooping(true);
                            Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.PlayRingtone();
                            new Thread(() =>
@@ -394,6 +397,41 @@
                                catch (Exception ex)
                                {
                                    MainPage.Log("error", "自研可视对讲铃声播放异常:" + ex.Message);
                                }
                            })
                            { IsBackground = true }.Start();
#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();
@@ -499,19 +537,25 @@
            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();
@@ -526,53 +570,65 @@
        /// </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.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>
@@ -587,7 +643,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;
            }