فهرست منبع

魔盒登录逻辑优化

felix 1 سال پیش
والد
کامیت
7e550cadfa

+ 0 - 5
Vinno.FIS.Sonopost/Managers/Interfaces/ILiveVideoManager.cs

@@ -59,11 +59,6 @@ namespace Vinno.FIS.Sonopost.Managers.Interfaces
         /// </summary>
         void ChangeRealTimeCaptureSetting();
 
-        /// <summary>
-        /// 重新上传之前断网未上传的Vid文件
-        /// </summary>
-        void ReUploadRestVid();
-
         /// <summary>
         /// Init
         /// </summary>

+ 3 - 0
Vinno.FIS.Sonopost/Managers/Interfaces/ILoginManager.cs

@@ -1,4 +1,5 @@
 using FISLib.Connect;
+using System;
 
 namespace Vinno.FIS.Sonopost.Managers.Interfaces
 {
@@ -51,5 +52,7 @@ namespace Vinno.FIS.Sonopost.Managers.Interfaces
         bool HasGetFasterServer { get; }
 
         void Init();
+
+        event EventHandler<DeviceStatus> LoginStatusChanged;
     }
 }

+ 0 - 5
Vinno.FIS.Sonopost/Managers/Interfaces/IRemedicalManager.cs

@@ -61,10 +61,5 @@ namespace Vinno.FIS.Sonopost.Managers.Interfaces
         /// 清理缓存
         /// </summary>
         void ClearRemedicalCache();
-
-        /// <summary>
-        /// 重传所有
-        /// </summary>
-        void ReUploadAll();
     }
 }

+ 0 - 2
Vinno.FIS.Sonopost/Managers/Interfaces/IVersionCheckManager.cs

@@ -2,8 +2,6 @@
 {
     internal interface IVersionCheckManager : ISonopostManager
     {
-        void CheckVersion();
-
         string GetVersion();
     }
 }

+ 23 - 1
Vinno.FIS.Sonopost/Managers/LiveVideoManager.cs

@@ -43,6 +43,7 @@ namespace Vinno.FIS.Sonopost.Managers
         public LiveVideoManager()
         {
             _loginManager = AppManager.Instance.GetManager<ILoginManager>();
+            _loginManager.LoginStatusChanged += OnLoginStatusChanged;
             _keyBoardListenManager = AppManager.Instance.GetManager<IKeyBoardListenManager>();
             _keyBoardListenManager.LeftKeyPressedEvent += OnLeftKeyPressedEvent;
             _keyBoardListenManager.RightKeyPressedEvent += OnRightKeyPressedEvent;
@@ -464,7 +465,7 @@ namespace Vinno.FIS.Sonopost.Managers
             }
         }
 
-        public void ReUploadRestVid()
+        private void ReUploadAll()
         {
             try
             {
@@ -483,6 +484,7 @@ namespace Vinno.FIS.Sonopost.Managers
         {
             try
             {
+                _loginManager.LoginStatusChanged -= OnLoginStatusChanged;
                 _keyBoardListenManager.LeftKeyPressedEvent -= OnLeftKeyPressedEvent;
                 _keyBoardListenManager.RightKeyPressedEvent -= OnRightKeyPressedEvent;
                 _fisLiveVideoService.PreviewCameraCaptured -= OnPreviewCameraCaptured;
@@ -495,5 +497,25 @@ namespace Vinno.FIS.Sonopost.Managers
             }
             base.DoDispose();
         }
+
+        private void OnLoginStatusChanged(object sender, DeviceStatus e)
+        {
+            switch (e)
+            {
+                case DeviceStatus.Logon:
+                    UpdateDeviceResoution();
+                    if (!_loginManager.IsConnectWithOldServer)
+                    {
+                        ChangeRealTimeCaptureSetting();
+                        ReUploadAll();
+                    }
+                    break;
+
+                default:
+                    _isRecording = false;
+                    _checkImageRecordEvent.Set();
+                    break;
+            }
+        }
     }
 }

+ 3 - 8
Vinno.FIS.Sonopost/Managers/LoginManager.cs

@@ -34,6 +34,8 @@ namespace Vinno.FIS.Sonopost.Managers
 
         public bool IsConnectWithOldServer => FISIMPL.FISIMPL.IsConnectWithOldServer;
 
+        public event EventHandler<DeviceStatus> LoginStatusChanged;
+
         public LoginManager()
         {
             _configManager = AppManager.Instance.GetManager<IConfigManager>();
@@ -89,7 +91,6 @@ namespace Vinno.FIS.Sonopost.Managers
                             SonopostUserDefinedSettings.Instance.IsFirstLogin = false;
                             _configManager.Save();
                         }
-                        _liveVideoManager.UpdateDeviceResoution();
                         if (IsConnectWithOldServer)
                         {
                             if (SonopostUserDefinedSettings.Instance.CaptureSetting.RealTimeCaptureEnabled)
@@ -99,13 +100,6 @@ namespace Vinno.FIS.Sonopost.Managers
                                 _keyBoardListenManager.StopKeyBoardListen();
                             }
                         }
-                        else
-                        {
-                            _liveVideoManager.ChangeRealTimeCaptureSetting();
-                            _liveVideoManager.ReUploadRestVid();
-                        }
-                        _remedicalManager.ReUploadAll();
-                        _versionCheckManager.CheckVersion();
                         var organization = _connectionService.GetOrganizationName();
                         if (organization != _ultrasoundMachineInfo.Organizataion)
                         {
@@ -141,6 +135,7 @@ namespace Vinno.FIS.Sonopost.Managers
                         _oledManager.ShowStatus(OledMessage.Offline);
                         break;
                 }
+                LoginStatusChanged?.Invoke(this, e.Status);
             }
             catch (Exception ex)
             {

+ 14 - 2
Vinno.FIS.Sonopost/Managers/RemedicalManager.cs

@@ -21,9 +21,10 @@ namespace Vinno.FIS.Sonopost.Managers
 
         public RemedicalManager()
         {
+            _loginManager = AppManager.Instance.GetManager<ILoginManager>();
+            _loginManager.LoginStatusChanged += OnLoginStatusChanged;
             _fisRemedicalService = AppManager.Instance.GetManager<IFISManager>().FISRemedicalService;
             _fisRemedicalService.FISScanDataChanged += OnFISScanDataChanged;
-            _loginManager = AppManager.Instance.GetManager<ILoginManager>();
         }
 
         private void OnFISScanDataChanged(object sender, FISVidDataChangedEventArgs e)
@@ -320,6 +321,7 @@ namespace Vinno.FIS.Sonopost.Managers
         {
             try
             {
+                _loginManager.LoginStatusChanged -= OnLoginStatusChanged;
                 _fisRemedicalService.FISScanDataChanged -= OnFISScanDataChanged;
             }
             catch (Exception ex)
@@ -329,7 +331,17 @@ namespace Vinno.FIS.Sonopost.Managers
             base.DoDispose();
         }
 
-        public void ReUploadAll()
+        private void OnLoginStatusChanged(object sender, DeviceStatus e)
+        {
+            switch (e)
+            {
+                case DeviceStatus.Logon:
+                    ReUploadAll();
+                    break;
+            }
+        }
+
+        private void ReUploadAll()
         {
             try
             {

+ 13 - 1
Vinno.FIS.Sonopost/Managers/VersionCheckManager.cs

@@ -36,6 +36,7 @@ namespace Vinno.FIS.Sonopost.Managers
             _fisUpgraderService = AppManager.Instance.GetManager<IFISManager>().FISUpgraderService;
             _fisUpgraderService.DownloadProgressChanged += OnDonwloadProgressChanged;
             _loginManager = AppManager.Instance.GetManager<ILoginManager>();
+            _loginManager.LoginStatusChanged += OnLoginStatusChanged;
             _packagePath = Path.Combine(SonopostConstants.DataFolder, "AutoUpdatePackage");
             _packageFullPath = Path.Combine(_packagePath, _packageName);
         }
@@ -71,7 +72,7 @@ namespace Vinno.FIS.Sonopost.Managers
             }
         }
 
-        public void CheckVersion()
+        private void CheckVersion()
         {
             if (!_inited)
             {
@@ -138,6 +139,7 @@ namespace Vinno.FIS.Sonopost.Managers
         {
             try
             {
+                _loginManager.LoginStatusChanged -= OnLoginStatusChanged;
                 _fisUpgraderService.DownloadProgressChanged -= OnDonwloadProgressChanged;
                 _timer?.Dispose();
             }
@@ -147,5 +149,15 @@ namespace Vinno.FIS.Sonopost.Managers
             }
             base.DoDispose();
         }
+
+        private void OnLoginStatusChanged(object sender, DeviceStatus e)
+        {
+            switch (e)
+            {
+                case DeviceStatus.Logon:
+                    CheckVersion();
+                    break;
+            }
+        }
     }
 }