From 3fafc6de93fc2ac77898bf8b590a5b8c197e0792 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Thu, 24 Oct 2024 15:35:37 +0800 Subject: [PATCH] Code optimization --- v2rayN/AmazTool/AmazTool.csproj | 4 +-- v2rayN/ServiceLib/Common/Utils.cs | 21 +-------------- v2rayN/ServiceLib/Handler/AppHandler.cs | 22 ++++++++-------- v2rayN/ServiceLib/Handler/ConfigHandler.cs | 26 +++++++------------ .../ViewModels/MainWindowViewModel.cs | 6 ++--- .../ViewModels/StatusBarViewModel.cs | 2 +- v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj | 1 + .../Views/GlobalHotkeySettingWindow.xaml.cs | 2 +- 8 files changed, 29 insertions(+), 55 deletions(-) diff --git a/v2rayN/AmazTool/AmazTool.csproj b/v2rayN/AmazTool/AmazTool.csproj index 50bb820b..37193d62 100644 --- a/v2rayN/AmazTool/AmazTool.csproj +++ b/v2rayN/AmazTool/AmazTool.csproj @@ -5,8 +5,8 @@ net8.0 enable enable - Copyright © 2019-2024 (GPLv3) - 1.2.0.0 + Copyright © 2017-2024 (GPLv3) + 1.3.0 \ No newline at end of file diff --git a/v2rayN/ServiceLib/Common/Utils.cs b/v2rayN/ServiceLib/Common/Utils.cs index 5cf71da7..993f41f0 100644 --- a/v2rayN/ServiceLib/Common/Utils.cs +++ b/v2rayN/ServiceLib/Common/Utils.cs @@ -228,12 +228,6 @@ namespace ServiceLib.Common } } - /// - /// byte 转成 有两位小数点的 方便阅读的数据 比如 2.50 MB - /// - /// bytes - /// 转换之后的数据 - /// 单位 private static void ToHumanReadable(long amount, out double result, out string unit) { var factor = 1024u; @@ -411,7 +405,6 @@ namespace ServiceLib.Common /// public static bool IsDomain(string? domain) { - //如果为空 if (IsNullOrEmpty(domain)) { return false; @@ -564,10 +557,6 @@ namespace ServiceLib.Common } } - /// - /// 获取系统hosts - /// - /// public static Dictionary GetSystemHosts() { var systemHosts = new Dictionary(); @@ -634,10 +623,6 @@ namespace ServiceLib.Common #region TempPath - /// - /// 获取启动了应用程序的可执行文件的路径 - /// - /// public static string GetPath(string fileName) { var startupPath = StartupPath(); @@ -647,11 +632,7 @@ namespace ServiceLib.Common } return Path.Combine(startupPath, fileName); } - - /// - /// 获取启动了应用程序的可执行文件的路径及文件名 - /// - /// + public static string GetExePath() { return Environment.ProcessPath ?? Process.GetCurrentProcess().MainModule?.FileName ?? string.Empty; diff --git a/v2rayN/ServiceLib/Handler/AppHandler.cs b/v2rayN/ServiceLib/Handler/AppHandler.cs index 892df4b4..c5b43850 100644 --- a/v2rayN/ServiceLib/Handler/AppHandler.cs +++ b/v2rayN/ServiceLib/Handler/AppHandler.cs @@ -102,17 +102,17 @@ #region SqliteHelper - public async Task> SubItems() + public async Task?> SubItems() { return await SQLiteHelper.Instance.TableAsync().OrderBy(t => t.Sort).ToListAsync(); } - public async Task GetSubItem(string subid) + public async Task GetSubItem(string subid) { return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(t => t.Id == subid); } - public async Task> ProfileItems(string subid) + public async Task?> ProfileItems(string subid) { if (Utils.IsNullOrEmpty(subid)) { @@ -124,12 +124,12 @@ } } - public async Task> ProfileItemIndexes(string subid) + public async Task?> ProfileItemIndexes(string subid) { - return (await ProfileItems(subid)).Select(t => t.IndexId).ToList(); + return (await ProfileItems(subid))?.Select(t => t.IndexId)?.ToList(); } - public async Task> ProfileItems(string subid, string filter) + public async Task?> ProfileItems(string subid, string filter) { var sql = @$"select a.* ,b.remarks subRemarks @@ -152,7 +152,7 @@ return await SQLiteHelper.Instance.QueryAsync(sql); } - public async Task> ProfileItemsEx(string subid, string filter) + public async Task?> ProfileItemsEx(string subid, string filter) { var lstModel = await ProfileItems(_config.SubIndexId, filter); @@ -209,22 +209,22 @@ return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(it => it.Remarks == remarks); } - public async Task> RoutingItems() + public async Task?> RoutingItems() { return await SQLiteHelper.Instance.TableAsync().Where(it => it.Locked == false).OrderBy(t => t.Sort).ToListAsync(); } - public async Task GetRoutingItem(string id) + public async Task GetRoutingItem(string id) { return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(it => it.Locked == false && it.Id == id); } - public async Task> DNSItems() + public async Task?> DNSItems() { return await SQLiteHelper.Instance.TableAsync().ToListAsync(); } - public async Task GetDNSItem(ECoreType eCoreType) + public async Task GetDNSItem(ECoreType eCoreType) { return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(it => it.CoreType == eCoreType); } diff --git a/v2rayN/ServiceLib/Handler/ConfigHandler.cs b/v2rayN/ServiceLib/Handler/ConfigHandler.cs index 1b26e2dc..7adbe4a2 100644 --- a/v2rayN/ServiceLib/Handler/ConfigHandler.cs +++ b/v2rayN/ServiceLib/Handler/ConfigHandler.cs @@ -171,18 +171,7 @@ namespace ServiceLib.Handler /// /// /// - public static async Task SaveConfig(Config config, bool reload = true) - { - await ToJsonFile(config); - - return 0; - } - - /// - /// 存储文件 - /// - /// - private static async Task ToJsonFile(Config config) + public static async Task SaveConfig(Config config) { lock (_objLock) { @@ -193,7 +182,7 @@ namespace ServiceLib.Handler var tempPath = $"{resPath}_temp"; if (JsonUtils.ToFile(config, tempPath) != 0) { - return; + return -1; } if (File.Exists(resPath)) @@ -206,8 +195,11 @@ namespace ServiceLib.Handler catch (Exception ex) { Logging.SaveLog("ToJsonFile", ex); + return -1; } } + + return 0; } #endregion ConfigHandler @@ -369,7 +361,7 @@ namespace ServiceLib.Handler config.IndexId = indexId; - await ToJsonFile(config); + await SaveConfig(config); return 0; } @@ -1142,7 +1134,7 @@ namespace ServiceLib.Handler await SQLiteHelper.Instance.InsertAllAsync(lstAdd); } - await ToJsonFile(config); + await SaveConfig(config); return countServers; } @@ -1272,7 +1264,7 @@ namespace ServiceLib.Handler counter++; } } - await ToJsonFile(config); + await SaveConfig(config); return counter; } @@ -1605,7 +1597,7 @@ namespace ServiceLib.Handler config.RoutingBasicItem.RoutingIndexId = routingItem.Id; } - await ToJsonFile(config); + await SaveConfig(config); return 0; } diff --git a/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs b/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs index 680aa04c..efedf556 100644 --- a/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs +++ b/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs @@ -566,8 +566,8 @@ namespace ServiceLib.ViewModels public async Task CloseCore() { - await ConfigHandler.SaveConfig(_config, false); - CoreHandler.Instance.CoreStop(); + await ConfigHandler.SaveConfig(_config); + await CoreHandler.Instance.CoreStop(); } private async Task AutoHideStartup() @@ -588,7 +588,7 @@ namespace ServiceLib.ViewModels await ConfigHandler.InitRouting(_config); Locator.Current.GetService()?.RefreshRoutingsMenu(); - await ConfigHandler.SaveConfig(_config, false); + await ConfigHandler.SaveConfig(_config); await new UpdateService().UpdateGeoFileAll(_config, UpdateHandler); await Reload(); } diff --git a/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs b/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs index d15d563c..42eced5b 100644 --- a/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs +++ b/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs @@ -321,7 +321,7 @@ namespace ServiceLib.ViewModels NoticeHandler.Instance.SendMessageEx($"{ResUI.TipChangeSystemProxy} - {_config.SystemProxyItem.SysProxyType.ToString()}"); SystemProxySelected = (int)_config.SystemProxyItem.SysProxyType; - await ConfigHandler.SaveConfig(_config, false); + await ConfigHandler.SaveConfig(_config); } public async Task ChangeSystemProxyAsync(ESysProxyType type, bool blChange) diff --git a/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj b/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj index a5750c74..57ee3764 100644 --- a/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj +++ b/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj @@ -6,6 +6,7 @@ enable Assets\v2rayN.ico true + Copyright © 2017-2024 (GPLv3) true diff --git a/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs b/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs index 6dc6ee6b..be1c7378 100644 --- a/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs @@ -103,7 +103,7 @@ namespace v2rayN.Views { _config.GlobalHotkeys = _TextBoxKeyEventItem.Values.ToList(); - if ( ConfigHandler.SaveConfig(_config, false).Result == 0) + if ( ConfigHandler.SaveConfig(_config).Result == 0) { HotkeyHandler.Instance.ReLoad(); this.DialogResult = true;