Browse Source

Continue with last commit

Jimmy 1 year ago
parent
commit
1ac2f73015

BIN
fis.Loader/.vs/fis.Loader/DesignTimeBuild/.dtbcache.v2


BIN
fis.Loader/.vs/fis.Loader/v17/.suo


+ 58 - 0
fis.Loader/Handlers/BaseHandler.cs

@@ -1,5 +1,9 @@
 
 using FisTools;
+using System;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading;
 
 namespace fis.Loader.Handlers
 {
@@ -8,11 +12,65 @@ namespace fis.Loader.Handlers
     /// </summary>
     internal abstract class BaseHandler
     {
+        private int _currentProcessId;
+
         internal BaseHandler(LaunchMethodEnum method)
         {
             Method = method;
         }
 
+        protected int CurrentProcessId
+        {
+            get {
+                if (_currentProcessId == 0)
+                {
+                    var currentProcess = Process.GetCurrentProcess();
+                    _currentProcessId = currentProcess.Id;
+                }
+                return _currentProcessId;
+            }
+        }
+        protected void KillDamon()
+        {
+            ToolManager.Instance.LoaderCenter.KillProcessWithGivenName("loader", false);
+        }
+        protected void StartDamon(string fileName,string fisFileDir)
+        {
+            try {
+                if (IsCartSystemVersion)
+                {
+                    while (true)
+                    {
+                        var process = Process.GetProcessesByName("fis").FirstOrDefault();
+                        var loaderCount = Process.GetProcessesByName("loader").Length;
+                        if (process == null && loaderCount==1)
+                        {
+                            ToolManager.Instance.LoaderCenter.StartProcessWithWorkingDirectory(fileName, fisFileDir);
+                        }
+                        Thread.Sleep(3000);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                Logger.WriteLine($"Error happened while start damon {ex}");
+            }
+        }
+
+        protected bool IsCartSystemVersion
+        {
+            get
+            {
+                var cartSystem = Environment.GetEnvironmentVariable("CartSystem");
+                if (!string.IsNullOrWhiteSpace(cartSystem))
+                {
+                    return true;
+                }
+                return false;
+            }
+
+        }
+
         /// <summary>
         /// 启动方式
         /// </summary>

+ 12 - 0
fis.Loader/Handlers/FullUpgradeHandler.cs

@@ -1,14 +1,26 @@
 using FisTools;
+using System;
+using System.IO;
 namespace fis.Loader.Handlers
 {
     internal class FullUpgradeHandler : BaseHandler
     {
+        private string _fisFileDir = AppDomain.CurrentDomain.BaseDirectory;
         public FullUpgradeHandler() : base(LaunchMethodEnum.FullUpgrade)
         {
         }
         internal override void Execute()
         {
+            if (IsCartSystemVersion)
+            {
+                KillDamon();
+            }
             ToolManager.Instance.UpgradeCenter.ExecuteFullUpgrade(Logger.WriteLine);
+            if (IsCartSystemVersion)
+            {
+                var fileName = Path.Combine(_fisFileDir, "fis.exe");
+                StartDamon(fileName,_fisFileDir);
+            }
         }
     }
 }

+ 1 - 0
fis.Loader/Handlers/HandlerCenter.cs

@@ -45,6 +45,7 @@ namespace fis.Loader.Handlers
                 }
                 catch (Exception ex)
                 {
+
                 }
             }
         }

+ 11 - 0
fis.Loader/Handlers/PartUpgradeHandler.cs

@@ -10,12 +10,23 @@ namespace fis.Loader.Handlers
 {
     internal class PartUpgradeHandler : BaseHandler
     {
+        private string _fisFileDir = AppDomain.CurrentDomain.BaseDirectory;
         public PartUpgradeHandler() : base(LaunchMethodEnum.PartUpgrade)
         {
         }
         internal override void Execute()
         {
+            if (IsCartSystemVersion)
+            {
+                KillDamon();
+            }
             ToolManager.Instance.UpgradeCenter.ExecutePartUpgrade(Logger.WriteLine);
+
+            if (IsCartSystemVersion)
+            {
+                var fileName = Path.Combine(_fisFileDir, "fis.exe");
+                StartDamon(fileName, _fisFileDir);
+            }
         }
     }
 }

+ 9 - 2
fis.Loader/Handlers/RebootHandler.cs

@@ -1,4 +1,7 @@
-namespace fis.Loader.Handlers
+using FisTools;
+using System.IO;
+
+namespace fis.Loader.Handlers
 {
     /// <summary>
     /// 重启命名处理器
@@ -11,7 +14,11 @@
 
         internal override void Execute()
         {
-            KillApp();
+            if (IsCartSystemVersion)
+            {
+                KillDamon();
+            }
+            KillApp();        
             new StartHandler().Execute();
         }
     }

+ 20 - 5
fis.Loader/Handlers/StartHandler.cs

@@ -1,7 +1,10 @@
 using FisTools;
 using System;
+using System.Diagnostics;
 using System.IO;
+using System.Linq;
 using System.Threading;
+using System.Threading.Tasks;
 
 namespace fis.Loader.Handlers
 {
@@ -12,12 +15,24 @@ namespace fis.Loader.Handlers
     {
         private string _fisFileDir = AppDomain.CurrentDomain.BaseDirectory;
         public StartHandler() : base(LaunchMethodEnum.Start) { }
-
-
+    
         internal override void Execute()
-        {            
-            var fileName= Path.Combine(_fisFileDir, "fis.exe"); 
-            ToolManager.Instance.LoaderCenter.StartProcessWithWorkingDirectory(fileName, _fisFileDir);            
+        {
+            try {
+                var fileName = Path.Combine(_fisFileDir, "fis.exe");
+                if (IsCartSystemVersion)
+                {
+                    StartDamon(fileName, _fisFileDir);
+                }
+                else
+                {
+                    ToolManager.Instance.LoaderCenter.StartProcessWithWorkingDirectory(fileName, _fisFileDir);
+                }
+            }
+            catch (Exception ex) {
+                Logger.WriteLine($"Error happened while exectute start handler{ex}");
+            }
+           
         }
 
     }

+ 1 - 1
fis.Loader/Properties/PublishProfiles/FolderProfile.pubxml.user

@@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2023-07-01T05:25:24.3046976Z;True|2023-07-01T13:17:02.2551863+08:00;True|2023-07-01T13:14:43.0201548+08:00;True|2023-07-01T11:31:38.8848335+08:00;True|2023-06-29T20:46:09.9209251+08:00;True|2023-06-16T13:49:27.3641813+08:00;True|2023-04-22T17:47:56.0023097+08:00;True|2023-04-12T19:06:06.4479182+08:00;True|2023-04-04T18:58:41.6724252+08:00;True|2023-04-04T18:35:05.7046836+08:00;True|2023-04-04T17:44:37.8374974+08:00;True|2023-03-25T10:29:30.7741020+08:00;True|2023-03-17T17:49:34.3793924+08:00;True|2023-03-17T17:40:02.4174170+08:00;True|2023-03-17T16:43:20.9800116+08:00;True|2023-03-16T22:28:33.0346010+08:00;True|2023-03-16T22:23:06.8342042+08:00;True|2023-03-16T22:21:06.5706331+08:00;True|2023-03-16T22:18:51.8888279+08:00;True|2023-03-16T21:53:28.9360253+08:00;True|2023-03-16T21:47:25.5873091+08:00;True|2023-03-16T21:42:53.1468354+08:00;True|2023-03-16T21:02:30.3296546+08:00;True|2023-03-16T20:56:49.7751516+08:00;True|2022-12-01T16:57:09.2735980+08:00;True|2022-12-01T16:26:20.9412787+08:00;True|2022-12-01T16:25:14.1261397+08:00;True|2022-12-01T16:23:50.3487072+08:00;</History>
+    <History>True|2024-01-30T12:05:38.2341188Z;True|2023-07-01T13:25:24.3046976+08:00;True|2023-07-01T13:17:02.2551863+08:00;True|2023-07-01T13:14:43.0201548+08:00;True|2023-07-01T11:31:38.8848335+08:00;True|2023-06-29T20:46:09.9209251+08:00;True|2023-06-16T13:49:27.3641813+08:00;True|2023-04-22T17:47:56.0023097+08:00;True|2023-04-12T19:06:06.4479182+08:00;True|2023-04-04T18:58:41.6724252+08:00;True|2023-04-04T18:35:05.7046836+08:00;True|2023-04-04T17:44:37.8374974+08:00;True|2023-03-25T10:29:30.7741020+08:00;True|2023-03-17T17:49:34.3793924+08:00;True|2023-03-17T17:40:02.4174170+08:00;True|2023-03-17T16:43:20.9800116+08:00;True|2023-03-16T22:28:33.0346010+08:00;True|2023-03-16T22:23:06.8342042+08:00;True|2023-03-16T22:21:06.5706331+08:00;True|2023-03-16T22:18:51.8888279+08:00;True|2023-03-16T21:53:28.9360253+08:00;True|2023-03-16T21:47:25.5873091+08:00;True|2023-03-16T21:42:53.1468354+08:00;True|2023-03-16T21:02:30.3296546+08:00;True|2023-03-16T20:56:49.7751516+08:00;True|2022-12-01T16:57:09.2735980+08:00;True|2022-12-01T16:26:20.9412787+08:00;True|2022-12-01T16:25:14.1261397+08:00;True|2022-12-01T16:23:50.3487072+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>

+ 1 - 1
fis.Loader/fis.Loader.csproj.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <_LastSelectedProfileId>E:\Wing\fis\fis.Loader\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
+    <_LastSelectedProfileId>G:\Wing\fis\fis.Loader\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
   </PropertyGroup>
 </Project>

+ 9 - 0
fis/Managers/AppManager.cs

@@ -15,6 +15,7 @@ using fis.Win.Dev.Managers.Interfaces;
 using fis.Win.Dev.Managers;
 using NPOI.SS.Formula.Functions;
 using fis.Managers.Modules.Storage;
+using System.IO;
 
 namespace fis.Managers
 {
@@ -145,6 +146,14 @@ namespace fis.Managers
             private set { _isCartSystemVersion = value; }
         }
 
+        public static bool IsCartSystemVersionWithOldPlatform
+        {
+            get
+            {
+                return IsCartSystemVersion && Directory.Exists(@"C:\Vinno.VCloud");
+            }
+
+        }
         /// <summary>
         /// 语言Code
         /// </summary>

+ 1 - 1
fis/Managers/Interfaces/ITrainningLiveManager.cs

@@ -31,7 +31,7 @@ namespace fis.Managers.Interfaces
         /// <param name="windoAddress"></param>
         /// <param name="micDeviceId"></param>
         /// <param name="trainningPushEnum"></param>
-        void StartTrainingPush(string pushURL, IntPtr windoAddress, string micDeviceId, TrainningPushEnum trainningPushEnum=TrainningPushEnum.Window);
+        void StartTrainingPush(string pushURL, IntPtr windoAddress, int micDeviceId, TrainningPushEnum trainningPushEnum=TrainningPushEnum.Window);
 
         /// <summary>
         /// 推流模式

+ 2 - 2
fis/Managers/TrainningLiveManager.cs

@@ -73,13 +73,13 @@ namespace fis.Managers
             }
         }
 
-        public void StartTrainingPush(string pushURL, IntPtr windoAddress,string micDeviceId="",TrainningPushEnum trainningPushEnum = TrainningPushEnum.Window)
+        public void StartTrainingPush(string pushURL, IntPtr windoAddress,int micDeviceId,TrainningPushEnum trainningPushEnum = TrainningPushEnum.Window)
         {
             //pushURL = "rtmp://127.0.0.1:1936/live/v1s41ngvuoddale1jsaetx9l0m?txSecret=6478f318197f67e19feb83882974cde9&txTime=64A19F00";
             _trainningPushEnum = trainningPushEnum;
             if (_meetingPusher == null)
             {
-                _meetingPusher = new MeetingPusher(pushURL, windoAddress, 0, AudioMode.Mix)
+                _meetingPusher = new MeetingPusher(pushURL, windoAddress, micDeviceId, AudioMode.Mix)
                 { 
                   EnablePreview = false, 
                   IsMute = false,

+ 7 - 0
fis/Utilities/FisBrowserScriptObject.cs

@@ -58,6 +58,13 @@ namespace fis.Utilities
         /// <returns></returns>
         public bool GetIsCartSystemVersion() => AppManager.IsCartSystemVersion;
 
+
+        /// <summary>
+        /// 获取当前平台是否是老平台推车
+        /// </summary>
+        /// <returns></returns>
+        public bool GetIsCartSystemVersionWithOldPlatform() => AppManager.IsCartSystemVersionWithOldPlatform;
+
         /// <summary>
         /// 获取壳子语言Code
         /// </summary>