mirror of
https://github.com/2dust/v2rayN.git
synced 2025-04-20 06:02:23 +00:00
Update RetResult
This commit is contained in:
parent
3dd54312e7
commit
5ea6b1e08a
10 changed files with 64 additions and 77 deletions
|
@ -1009,7 +1009,7 @@ namespace ServiceLib.Handler
|
||||||
var configPath = Utils.GetConfigPath(Global.CoreMultipleLoadConfigFileName);
|
var configPath = Utils.GetConfigPath(Global.CoreMultipleLoadConfigFileName);
|
||||||
|
|
||||||
var result = await CoreConfigHandler.GenerateClientMultipleLoadConfig(config, configPath, selecteds, coreType);
|
var result = await CoreConfigHandler.GenerateClientMultipleLoadConfig(config, configPath, selecteds, coreType);
|
||||||
if (result.Code != 0)
|
if (result.Success != true)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -1642,7 +1642,7 @@ namespace ServiceLib.Handler
|
||||||
public static async Task<int> InitExternalRouting(Config config, bool blImportAdvancedRules = false)
|
public static async Task<int> InitExternalRouting(Config config, bool blImportAdvancedRules = false)
|
||||||
{
|
{
|
||||||
var downloadHandle = new DownloadService();
|
var downloadHandle = new DownloadService();
|
||||||
var templateContent = Task.Run(() => downloadHandle.TryDownloadString(config.constItem.routeRulesTemplateSourceUrl, false, "")).Result;
|
var templateContent = await downloadHandle.TryDownloadString(config.constItem.routeRulesTemplateSourceUrl, true, "");
|
||||||
if (string.IsNullOrEmpty(templateContent))
|
if (string.IsNullOrEmpty(templateContent))
|
||||||
return await InitBuiltinRouting(config, blImportAdvancedRules); // fallback
|
return await InitBuiltinRouting(config, blImportAdvancedRules); // fallback
|
||||||
|
|
||||||
|
@ -1665,7 +1665,7 @@ namespace ServiceLib.Handler
|
||||||
|
|
||||||
var ruleSetsString = !string.IsNullOrEmpty(item.ruleSet)
|
var ruleSetsString = !string.IsNullOrEmpty(item.ruleSet)
|
||||||
? item.ruleSet
|
? item.ruleSet
|
||||||
: Task.Run(() => downloadHandle.TryDownloadString(item.url, false, "")).Result;
|
: await downloadHandle.TryDownloadString(item.url, true, "");
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(ruleSetsString))
|
if (string.IsNullOrEmpty(ruleSetsString))
|
||||||
continue;
|
continue;
|
||||||
|
@ -1795,7 +1795,7 @@ namespace ServiceLib.Handler
|
||||||
var currentItem = await AppHandler.Instance.GetDNSItem(type);
|
var currentItem = await AppHandler.Instance.GetDNSItem(type);
|
||||||
|
|
||||||
var downloadHandle = new DownloadService();
|
var downloadHandle = new DownloadService();
|
||||||
var templateContent = Task.Run(() => downloadHandle.TryDownloadString(url, true, "")).Result;
|
var templateContent = await downloadHandle.TryDownloadString(url, true, "");
|
||||||
if (string.IsNullOrEmpty(templateContent))
|
if (string.IsNullOrEmpty(templateContent))
|
||||||
return currentItem;
|
return currentItem;
|
||||||
|
|
||||||
|
@ -1804,10 +1804,10 @@ namespace ServiceLib.Handler
|
||||||
return currentItem;
|
return currentItem;
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(template.normalDNS))
|
if (!string.IsNullOrEmpty(template.normalDNS))
|
||||||
template.normalDNS = Task.Run(() => downloadHandle.TryDownloadString(template.normalDNS, true, "")).Result;
|
template.normalDNS = await downloadHandle.TryDownloadString(template.normalDNS, true, "");
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(template.tunDNS))
|
if (!string.IsNullOrEmpty(template.tunDNS))
|
||||||
template.tunDNS = Task.Run(() => downloadHandle.TryDownloadString(template.tunDNS, true, "")).Result;
|
template.tunDNS = await downloadHandle.TryDownloadString(template.tunDNS, true, "");
|
||||||
|
|
||||||
template.id = currentItem.id;
|
template.id = currentItem.id;
|
||||||
template.enabled = currentItem.enabled;
|
template.enabled = currentItem.enabled;
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
public static async Task<RetResult> GenerateClientConfig(ProfileItem node, string? fileName)
|
public static async Task<RetResult> GenerateClientConfig(ProfileItem node, string? fileName)
|
||||||
{
|
{
|
||||||
var config = AppHandler.Instance.Config;
|
var config = AppHandler.Instance.Config;
|
||||||
var result = new RetResult(-1);
|
var result = new RetResult();
|
||||||
|
|
||||||
if (node.configType == EConfigType.Custom)
|
if (node.configType == EConfigType.Custom)
|
||||||
{
|
{
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
{
|
{
|
||||||
result = await new CoreConfigV2rayService(config).GenerateClientConfigContent(node);
|
result = await new CoreConfigV2rayService(config).GenerateClientConfigContent(node);
|
||||||
}
|
}
|
||||||
if (result.Code != 0)
|
if (result.Success != true)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
|
|
||||||
private static async Task<RetResult> GenerateClientCustomConfig(ProfileItem node, string? fileName)
|
private static async Task<RetResult> GenerateClientCustomConfig(ProfileItem node, string? fileName)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (node == null || fileName is null)
|
if (node == null || fileName is null)
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
|
|
||||||
public static async Task<RetResult> GenerateClientSpeedtestConfig(Config config, string fileName, List<ServerTestItem> selecteds, ECoreType coreType)
|
public static async Task<RetResult> GenerateClientSpeedtestConfig(Config config, string fileName, List<ServerTestItem> selecteds, ECoreType coreType)
|
||||||
{
|
{
|
||||||
var result = new RetResult(-1);
|
var result = new RetResult();
|
||||||
if (coreType == ECoreType.sing_box)
|
if (coreType == ECoreType.sing_box)
|
||||||
{
|
{
|
||||||
result = await new CoreConfigSingboxService(config).GenerateClientSpeedtestConfig(selecteds);
|
result = await new CoreConfigSingboxService(config).GenerateClientSpeedtestConfig(selecteds);
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
{
|
{
|
||||||
result = await new CoreConfigV2rayService(config).GenerateClientSpeedtestConfig(selecteds);
|
result = await new CoreConfigV2rayService(config).GenerateClientSpeedtestConfig(selecteds);
|
||||||
}
|
}
|
||||||
if (result.Code != 0)
|
if (result.Success != true)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
|
|
||||||
public static async Task<RetResult> GenerateClientMultipleLoadConfig(Config config, string fileName, List<ProfileItem> selecteds, ECoreType coreType)
|
public static async Task<RetResult> GenerateClientMultipleLoadConfig(Config config, string fileName, List<ProfileItem> selecteds, ECoreType coreType)
|
||||||
{
|
{
|
||||||
var result = new RetResult(-1);
|
var result = new RetResult();
|
||||||
if (coreType == ECoreType.sing_box)
|
if (coreType == ECoreType.sing_box)
|
||||||
{
|
{
|
||||||
result = await new CoreConfigSingboxService(config).GenerateClientMultipleLoadConfig(selecteds);
|
result = await new CoreConfigSingboxService(config).GenerateClientMultipleLoadConfig(selecteds);
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
result = await new CoreConfigV2rayService(config).GenerateClientMultipleLoadConfig(selecteds);
|
result = await new CoreConfigV2rayService(config).GenerateClientMultipleLoadConfig(selecteds);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.Code != 0)
|
if (result.Success != true)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace ServiceLib.Handler
|
||||||
var fileName = Utils.GetConfigPath(Global.CoreConfigFileName);
|
var fileName = Utils.GetConfigPath(Global.CoreConfigFileName);
|
||||||
var result = await CoreConfigHandler.GenerateClientConfig(node, fileName);
|
var result = await CoreConfigHandler.GenerateClientConfig(node, fileName);
|
||||||
ShowMsg(false, result.Msg);
|
ShowMsg(false, result.Msg);
|
||||||
if (result.Code != 0)
|
if (result.Success != true)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ namespace ServiceLib.Handler
|
||||||
var configPath = Utils.GetConfigPath(Global.CoreSpeedtestConfigFileName);
|
var configPath = Utils.GetConfigPath(Global.CoreSpeedtestConfigFileName);
|
||||||
var result = await CoreConfigHandler.GenerateClientSpeedtestConfig(_config, configPath, selecteds, coreType);
|
var result = await CoreConfigHandler.GenerateClientSpeedtestConfig(_config, configPath, selecteds, coreType);
|
||||||
ShowMsg(false, result.Msg);
|
ShowMsg(false, result.Msg);
|
||||||
if (result.Code == 0)
|
if (result.Success)
|
||||||
{
|
{
|
||||||
pid = CoreStartSpeedtest(configPath, coreType);
|
pid = CoreStartSpeedtest(configPath, coreType);
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ namespace ServiceLib.Handler
|
||||||
{
|
{
|
||||||
string fileName2 = Utils.GetConfigPath(Global.CorePreConfigFileName);
|
string fileName2 = Utils.GetConfigPath(Global.CorePreConfigFileName);
|
||||||
var result = await CoreConfigHandler.GenerateClientConfig(itemSocks, fileName2);
|
var result = await CoreConfigHandler.GenerateClientConfig(itemSocks, fileName2);
|
||||||
if (result.Code == 0)
|
if (result.Success)
|
||||||
{
|
{
|
||||||
var coreInfo2 = CoreInfoHandler.Instance.GetCoreInfo(preCoreType);
|
var coreInfo2 = CoreInfoHandler.Instance.GetCoreInfo(preCoreType);
|
||||||
var proc2 = RunProcess(node, coreInfo2, $" -c {Global.CorePreConfigFileName}", true);
|
var proc2 = RunProcess(node, coreInfo2, $" -c {Global.CorePreConfigFileName}", true);
|
||||||
|
|
|
@ -2,13 +2,26 @@
|
||||||
{
|
{
|
||||||
public class RetResult
|
public class RetResult
|
||||||
{
|
{
|
||||||
public int Code { get; set; }
|
public bool Success { get; set; }
|
||||||
public string? Msg { get; set; }
|
public string? Msg { get; set; }
|
||||||
public object? Data { get; set; }
|
public object? Data { get; set; }
|
||||||
|
|
||||||
public RetResult(int code)
|
public RetResult(bool success = false)
|
||||||
{
|
{
|
||||||
Code = code;
|
Success = success;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RetResult(bool success, string? msg)
|
||||||
|
{
|
||||||
|
Success = success;
|
||||||
|
Msg = msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RetResult(bool success, string? msg, object? data)
|
||||||
|
{
|
||||||
|
Success = success;
|
||||||
|
Msg = msg;
|
||||||
|
Data = data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -21,7 +21,7 @@
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<RetResult> GenerateClientCustomConfig(ProfileItem node, string? fileName)
|
public async Task<RetResult> GenerateClientCustomConfig(ProfileItem node, string? fileName)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
if (node == null || fileName is null)
|
if (node == null || fileName is null)
|
||||||
{
|
{
|
||||||
ret.Msg = ResUI.CheckServerSettings;
|
ret.Msg = ResUI.CheckServerSettings;
|
||||||
|
@ -148,7 +148,7 @@
|
||||||
ClashApiHandler.Instance.ProfileContent = fileContent;
|
ClashApiHandler.Instance.ProfileContent = fileContent;
|
||||||
|
|
||||||
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, $"{node.GetSummary()}");
|
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, $"{node.GetSummary()}");
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
|
|
||||||
public async Task<RetResult> GenerateClientConfigContent(ProfileItem node)
|
public async Task<RetResult> GenerateClientConfigContent(ProfileItem node)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (node == null
|
if (node == null
|
||||||
|
@ -65,7 +65,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
await ConvertGeo2Ruleset(singboxConfig);
|
await ConvertGeo2Ruleset(singboxConfig);
|
||||||
|
|
||||||
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
ret.Data = JsonUtils.Serialize(singboxConfig);
|
ret.Data = JsonUtils.Serialize(singboxConfig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
|
|
||||||
public async Task<RetResult> GenerateClientSpeedtestConfig(List<ServerTestItem> selecteds)
|
public async Task<RetResult> GenerateClientSpeedtestConfig(List<ServerTestItem> selecteds)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (_config == null)
|
if (_config == null)
|
||||||
|
@ -229,7 +229,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//ret.Msg =string.Format(ResUI.SuccessfulConfiguration"), node.getSummary());
|
//ret.Msg =string.Format(ResUI.SuccessfulConfiguration"), node.getSummary());
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
ret.Data = JsonUtils.Serialize(singboxConfig);
|
ret.Data = JsonUtils.Serialize(singboxConfig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -243,7 +243,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
|
|
||||||
public async Task<RetResult> GenerateClientMultipleLoadConfig(List<ProfileItem> selecteds)
|
public async Task<RetResult> GenerateClientMultipleLoadConfig(List<ProfileItem> selecteds)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (_config == null)
|
if (_config == null)
|
||||||
|
@ -345,7 +345,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
outSelector.outbounds.Insert(0, outUrltest.tag);
|
outSelector.outbounds.Insert(0, outUrltest.tag);
|
||||||
singboxConfig.outbounds.Add(outSelector);
|
singboxConfig.outbounds.Add(outSelector);
|
||||||
|
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
ret.Data = JsonUtils.Serialize(singboxConfig);
|
ret.Data = JsonUtils.Serialize(singboxConfig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -359,7 +359,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
|
|
||||||
public async Task<RetResult> GenerateClientCustomConfig(ProfileItem node, string? fileName)
|
public async Task<RetResult> GenerateClientCustomConfig(ProfileItem node, string? fileName)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
if (node == null || fileName is null)
|
if (node == null || fileName is null)
|
||||||
{
|
{
|
||||||
ret.Msg = ResUI.CheckServerSettings;
|
ret.Msg = ResUI.CheckServerSettings;
|
||||||
|
@ -425,7 +425,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
|
|
||||||
public async Task<RetResult> GenerateClientConfigContent(ProfileItem node)
|
public async Task<RetResult> GenerateClientConfigContent(ProfileItem node)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (node == null
|
if (node == null
|
||||||
|
@ -58,7 +58,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
await GenStatistic(v2rayConfig);
|
await GenStatistic(v2rayConfig);
|
||||||
|
|
||||||
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
ret.Data = JsonUtils.Serialize(v2rayConfig);
|
ret.Data = JsonUtils.Serialize(v2rayConfig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
|
|
||||||
public async Task<RetResult> GenerateClientMultipleLoadConfig(List<ProfileItem> selecteds)
|
public async Task<RetResult> GenerateClientMultipleLoadConfig(List<ProfileItem> selecteds)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -185,7 +185,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
ret.Data = JsonUtils.Serialize(v2rayConfig);
|
ret.Data = JsonUtils.Serialize(v2rayConfig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -199,7 +199,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
|
|
||||||
public async Task<RetResult> GenerateClientSpeedtestConfig(List<ServerTestItem> selecteds)
|
public async Task<RetResult> GenerateClientSpeedtestConfig(List<ServerTestItem> selecteds)
|
||||||
{
|
{
|
||||||
var ret = new RetResult(-1);
|
var ret = new RetResult();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (_config == null)
|
if (_config == null)
|
||||||
|
@ -336,7 +336,7 @@ namespace ServiceLib.Services.CoreConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
//ret.Msg =string.Format(ResUI.SuccessfulConfiguration"), node.getSummary());
|
//ret.Msg =string.Format(ResUI.SuccessfulConfiguration"), node.getSummary());
|
||||||
ret.Code = 0;
|
ret.Success = true;
|
||||||
ret.Data = JsonUtils.Serialize(v2rayConfig);
|
ret.Data = JsonUtils.Serialize(v2rayConfig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,22 +10,10 @@ namespace ServiceLib.Services
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class DownloadService
|
public class DownloadService
|
||||||
{
|
{
|
||||||
public event EventHandler<ResultEventArgs>? UpdateCompleted;
|
public event EventHandler<RetResult>? UpdateCompleted;
|
||||||
|
|
||||||
public event ErrorEventHandler? Error;
|
public event ErrorEventHandler? Error;
|
||||||
|
|
||||||
public class ResultEventArgs : EventArgs
|
|
||||||
{
|
|
||||||
public bool Success;
|
|
||||||
public string Msg;
|
|
||||||
|
|
||||||
public ResultEventArgs(bool success, string msg)
|
|
||||||
{
|
|
||||||
Success = success;
|
|
||||||
Msg = msg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<int> DownloadDataAsync(string url, WebProxy webProxy, int downloadTimeout, Action<bool, string> updateFunc)
|
public async Task<int> DownloadDataAsync(string url, WebProxy webProxy, int downloadTimeout, Action<bool, string> updateFunc)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -63,12 +51,12 @@ namespace ServiceLib.Services
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
SetSecurityProtocol(AppHandler.Instance.Config.guiItem.enableSecurityProtocolTls13);
|
SetSecurityProtocol(AppHandler.Instance.Config.guiItem.enableSecurityProtocolTls13);
|
||||||
UpdateCompleted?.Invoke(this, new ResultEventArgs(false, $"{ResUI.Downloading} {url}"));
|
UpdateCompleted?.Invoke(this, new RetResult(false, $"{ResUI.Downloading} {url}"));
|
||||||
|
|
||||||
var progress = new Progress<double>();
|
var progress = new Progress<double>();
|
||||||
progress.ProgressChanged += (sender, value) =>
|
progress.ProgressChanged += (sender, value) =>
|
||||||
{
|
{
|
||||||
UpdateCompleted?.Invoke(this, new ResultEventArgs(value > 100, $"...{value}%"));
|
UpdateCompleted?.Invoke(this, new RetResult(value > 100, $"...{value}%"));
|
||||||
};
|
};
|
||||||
|
|
||||||
var webProxy = GetWebProxy(blProxy);
|
var webProxy = GetWebProxy(blProxy);
|
||||||
|
|
|
@ -9,20 +9,6 @@ namespace ServiceLib.Services
|
||||||
private Config _config;
|
private Config _config;
|
||||||
private int _timeout = 30;
|
private int _timeout = 30;
|
||||||
|
|
||||||
private class ResultEventArgs
|
|
||||||
{
|
|
||||||
public bool Success;
|
|
||||||
public string Msg;
|
|
||||||
public string Url;
|
|
||||||
|
|
||||||
public ResultEventArgs(bool success, string msg, string url = "")
|
|
||||||
{
|
|
||||||
Success = success;
|
|
||||||
Msg = msg;
|
|
||||||
Url = url;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task CheckUpdateGuiN(Config config, Action<bool, string> updateFunc, bool preRelease)
|
public async Task CheckUpdateGuiN(Config config, Action<bool, string> updateFunc, bool preRelease)
|
||||||
{
|
{
|
||||||
_config = config;
|
_config = config;
|
||||||
|
@ -55,7 +41,7 @@ namespace ServiceLib.Services
|
||||||
_updateFunc?.Invoke(false, string.Format(ResUI.MsgParsingSuccessfully, ECoreType.v2rayN));
|
_updateFunc?.Invoke(false, string.Format(ResUI.MsgParsingSuccessfully, ECoreType.v2rayN));
|
||||||
_updateFunc?.Invoke(false, args.Msg);
|
_updateFunc?.Invoke(false, args.Msg);
|
||||||
|
|
||||||
url = args.Url;
|
url = args.Data?.ToString();
|
||||||
fileName = Utils.GetTempPath(Utils.GetGuid());
|
fileName = Utils.GetTempPath(Utils.GetGuid());
|
||||||
await downloadHandle.DownloadFileAsync(url, fileName, true, _timeout);
|
await downloadHandle.DownloadFileAsync(url, fileName, true, _timeout);
|
||||||
}
|
}
|
||||||
|
@ -106,7 +92,7 @@ namespace ServiceLib.Services
|
||||||
_updateFunc?.Invoke(false, string.Format(ResUI.MsgParsingSuccessfully, type));
|
_updateFunc?.Invoke(false, string.Format(ResUI.MsgParsingSuccessfully, type));
|
||||||
_updateFunc?.Invoke(false, args.Msg);
|
_updateFunc?.Invoke(false, args.Msg);
|
||||||
|
|
||||||
url = args.Url;
|
url = args.Data?.ToString();
|
||||||
var ext = url.Contains(".tar.gz") ? ".tar.gz" : Path.GetExtension(url);
|
var ext = url.Contains(".tar.gz") ? ".tar.gz" : Path.GetExtension(url);
|
||||||
fileName = Utils.GetTempPath(Utils.GetGuid() + ext);
|
fileName = Utils.GetTempPath(Utils.GetGuid() + ext);
|
||||||
await downloadHandle.DownloadFileAsync(url, fileName, true, _timeout);
|
await downloadHandle.DownloadFileAsync(url, fileName, true, _timeout);
|
||||||
|
@ -266,7 +252,7 @@ namespace ServiceLib.Services
|
||||||
|
|
||||||
#region private
|
#region private
|
||||||
|
|
||||||
private async Task<ResultEventArgs> CheckUpdateAsync(DownloadService downloadHandle, ECoreType type, bool preRelease)
|
private async Task<RetResult> CheckUpdateAsync(DownloadService downloadHandle, ECoreType type, bool preRelease)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -280,14 +266,14 @@ namespace ServiceLib.Services
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return new ResultEventArgs(false, "");
|
return new RetResult(false, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logging.SaveLog(ex.Message, ex);
|
Logging.SaveLog(ex.Message, ex);
|
||||||
_updateFunc?.Invoke(false, ex.Message);
|
_updateFunc?.Invoke(false, ex.Message);
|
||||||
return new ResultEventArgs(false, ex.Message);
|
return new RetResult(false, ex.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -347,7 +333,7 @@ namespace ServiceLib.Services
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<ResultEventArgs> ParseDownloadUrl(ECoreType type, string gitHubReleaseApi, bool preRelease)
|
private async Task<RetResult> ParseDownloadUrl(ECoreType type, string gitHubReleaseApi, bool preRelease)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -398,16 +384,16 @@ namespace ServiceLib.Services
|
||||||
|
|
||||||
if (curVersion >= version && version != new SemanticVersion(0, 0, 0))
|
if (curVersion >= version && version != new SemanticVersion(0, 0, 0))
|
||||||
{
|
{
|
||||||
return new ResultEventArgs(false, message);
|
return new RetResult(false, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ResultEventArgs(true, body, url);
|
return new RetResult(true, body, url);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logging.SaveLog(ex.Message, ex);
|
Logging.SaveLog(ex.Message, ex);
|
||||||
_updateFunc?.Invoke(false, ex.Message);
|
_updateFunc?.Invoke(false, ex.Message);
|
||||||
return new ResultEventArgs(false, ex.Message);
|
return new RetResult(false, ex.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -586,7 +586,7 @@ namespace ServiceLib.ViewModels
|
||||||
}
|
}
|
||||||
|
|
||||||
var ret = await ConfigHandler.AddCustomServer4Multiple(_config, lstSelecteds, coreType);
|
var ret = await ConfigHandler.AddCustomServer4Multiple(_config, lstSelecteds, coreType);
|
||||||
if (ret.Code != 0)
|
if (ret.Success != true)
|
||||||
{
|
{
|
||||||
NoticeHandler.Instance.Enqueue(ResUI.OperationFailed);
|
NoticeHandler.Instance.Enqueue(ResUI.OperationFailed);
|
||||||
return;
|
return;
|
||||||
|
@ -705,7 +705,7 @@ namespace ServiceLib.ViewModels
|
||||||
if (blClipboard)
|
if (blClipboard)
|
||||||
{
|
{
|
||||||
var result = await CoreConfigHandler.GenerateClientConfig(item, null);
|
var result = await CoreConfigHandler.GenerateClientConfig(item, null);
|
||||||
if (result.Code != 0)
|
if (result.Success != true)
|
||||||
{
|
{
|
||||||
NoticeHandler.Instance.Enqueue(result.Msg);
|
NoticeHandler.Instance.Enqueue(result.Msg);
|
||||||
}
|
}
|
||||||
|
@ -728,7 +728,7 @@ namespace ServiceLib.ViewModels
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var result = await CoreConfigHandler.GenerateClientConfig(item, null);
|
var result = await CoreConfigHandler.GenerateClientConfig(item, null);
|
||||||
if (result.Code != 0)
|
if (result.Success != true)
|
||||||
{
|
{
|
||||||
NoticeHandler.Instance.Enqueue(result.Msg);
|
NoticeHandler.Instance.Enqueue(result.Msg);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue