Files
Fishing2Server/Tools/SourceCode/Fantasy.Tools.ConfigTable/Program.cs
2025-06-30 10:51:37 +08:00

68 lines
2.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System.Text;
using CommandLine;
using Fantasy.Exporter;
using Fantasy.Tools;
using Fantasy.Tools.ConfigTable;
try
{
Parser.Default.ParseArguments<ExporterAges>(Environment.GetCommandLineArgs())
.WithNotParsed(error => throw new Exception("Command line format error!"))
.WithParsed(ages => ExporterAges.Instance = ages);
// 初始化配置
ExporterSettingsHelper.Initialize();
// 加载配置
Console.OutputEncoding = Encoding.UTF8;
// 判断启动参数,如果没有选择目标平台就让用户选择
if (ExporterAges.Instance.ExportPlatform == ExportPlatform.None)
{
Log.Info("请输入你想要导出的目标平台:");
Log.Info("1:Client客户端");
Log.Info("2:Server服务器");
Log.Info("3:All客户端和服务器");
var inputKeyChar = Console.ReadKey().KeyChar;
if (!int.TryParse(inputKeyChar.ToString(), out var exportPlatformKey) || exportPlatformKey is < 1 or >= (int)ExportPlatform.All)
{
Console.WriteLine("");
Log.Error("无法识别的导出类型请,输入正确导出的目标平台。");
return;
}
ExporterAges.Instance.ExportPlatform = (ExportPlatform)exportPlatformKey;
}
var selectExportType = ExporterAges.Instance.ExportType;
if (selectExportType == ExportType.None)
{
// 检查启动参数
Log.Info("请输入你想要做的操作:");
Log.Info("1:所有增量导出Excel包含常量枚举");
Log.Info("2:所有全量导出Excel包含常量枚举");
// 获取用户输入
var keyChar = Console.ReadKey().KeyChar;
// 判断用户输入
if (!int.TryParse(keyChar.ToString(), out var key) || key is < 1 or >= (int)ExportType.Max)
{
Console.WriteLine("");
Log.Error("无法识别的导出类型请,输入正确的操作类型。");
return;
}
selectExportType = (ExportType)key;
}
Log.Info($"selectExportType:{selectExportType} ExportPlatform:{ExporterAges.Instance.ExportPlatform}");
// 转换用户输入
Log.Info("");
new ExcelExporter(selectExportType).Run();
}
catch (Exception e)
{
Log.Error(e);
}
finally
{
Log.Info("按任意键退出程序");
Console.ReadKey();
Environment.Exit(0);
}