diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItem.cs b/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItem.cs
index 5028589..693a7d1 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItem.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItem.cs
@@ -4,7 +4,7 @@ using System.Text.RegularExpressions;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric
{
///
- /// 每一行歌词的对象。
+ /// 歌词的行对象,是 的最小单位。。
///
public class LyricItem : IComparable
{
@@ -121,6 +121,9 @@ namespace ZonyLrcTools.Cli.Infrastructure.Lyric
return HashCode.Combine(LyricText, Minute, Second);
}
+ ///
+ /// 获得歌词行的标准文本。
+ ///
public override string ToString() => $"[{Minute:00}:{Second:00.00}]{LyricText}";
}
}
\ No newline at end of file
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollection.cs b/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollection.cs
index 0e1dffc..a68f342 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollection.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollection.cs
@@ -7,7 +7,7 @@ using ZonyLrcTools.Cli.Infrastructure.Extensions;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric
{
///
- /// 歌词数据,包含多条歌词对象()。
+ /// 歌词数据,包含多条歌词行对象()。
///
public class LyricItemCollection : List
{
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollectionFactory.cs b/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollectionFactory.cs
index 6f4f652..8ebe651 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollectionFactory.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Lyric/LyricItemCollectionFactory.cs
@@ -5,6 +5,9 @@ using ZonyLrcTools.Cli.Infrastructure.DependencyInject;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric
{
+ ///
+ /// 的默认实现。
+ ///
public class LyricItemCollectionFactory : ILyricItemCollectionFactory, ITransientDependency
{
private readonly ToolOptions _options;
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/MusicInfo.cs b/src/ZonyLrcTools.Cli/Infrastructure/MusicInfo.cs
index 18c3bc3..04a9bd7 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/MusicInfo.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/MusicInfo.cs
@@ -1,13 +1,31 @@
namespace ZonyLrcTools.Cli.Infrastructure
{
+ ///
+ /// 歌曲信息的承载类,携带歌曲的相关数据。
+ ///
public class MusicInfo
{
+ ///
+ /// 歌曲对应的物理文件路径。
+ ///
public string FilePath { get; }
+ ///
+ /// 歌曲的名称。
+ ///
public string Name { get; }
+ ///
+ /// 歌曲的作者。
+ ///
public string Artist { get; }
+ ///
+ /// 构建一个新的 对象。
+ ///
+ /// 歌曲对应的物理文件路径。
+ /// 歌曲的名称。
+ /// 歌曲的作者。
public MusicInfo(string filePath, string name, string artist)
{
FilePath = filePath;
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Network/DefaultWarpHttpClient.cs b/src/ZonyLrcTools.Cli/Infrastructure/Network/DefaultWarpHttpClient.cs
index c7db29a..52aeb0d 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Network/DefaultWarpHttpClient.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Network/DefaultWarpHttpClient.cs
@@ -4,7 +4,6 @@ using System.Net.Http;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
-using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using ZonyLrcTools.Cli.Infrastructure.DependencyInject;
using ZonyLrcTools.Cli.Infrastructure.Exceptions;
@@ -14,15 +13,12 @@ namespace ZonyLrcTools.Cli.Infrastructure.Network
public class DefaultWarpHttpClient : IWarpHttpClient, ITransientDependency
{
private readonly IHttpClientFactory _httpClientFactory;
- private readonly ILogger _logger;
public const string HttpClientNameConstant = "WarpClient";
- public DefaultWarpHttpClient(IHttpClientFactory httpClientFactory,
- ILogger logger)
+ public DefaultWarpHttpClient(IHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
- _logger = logger;
}
public async ValueTask PostAsync(string url,
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Tag/DefaultTagLoader.cs b/src/ZonyLrcTools.Cli/Infrastructure/Tag/DefaultTagLoader.cs
index 8584b62..ee7466f 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Tag/DefaultTagLoader.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Tag/DefaultTagLoader.cs
@@ -6,6 +6,9 @@ using ZonyLrcTools.Cli.Infrastructure.Exceptions;
namespace ZonyLrcTools.Cli.Infrastructure.Tag
{
+ ///
+ /// 默认的标签加载器 实现。
+ ///
public class DefaultTagLoader : ITagLoader, ITransientDependency
{
protected readonly IEnumerable TagInfoProviders;
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Tag/FileNameTagInfoProvider.cs b/src/ZonyLrcTools.Cli/Infrastructure/Tag/FileNameTagInfoProvider.cs
index 7bf6c04..fc55ebb 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Tag/FileNameTagInfoProvider.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Tag/FileNameTagInfoProvider.cs
@@ -7,6 +7,9 @@ using ZonyLrcTools.Cli.Infrastructure.DependencyInject;
namespace ZonyLrcTools.Cli.Infrastructure.Tag
{
+ ///
+ /// 基于正则表达式的标签解析器,从文件名当中解析歌曲的标签信息。
+ ///
public class FileNameTagInfoProvider : ITagInfoProvider, ITransientDependency
{
public int Priority => 2;
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagInfoProvider.cs b/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagInfoProvider.cs
index f67ceb5..85614be 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagInfoProvider.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagInfoProvider.cs
@@ -2,12 +2,26 @@ using System.Threading.Tasks;
namespace ZonyLrcTools.Cli.Infrastructure.Tag
{
+ ///
+ /// 具体的标签解析器,执行真正的标签解析逻辑。
+ ///
public interface ITagInfoProvider
{
+ ///
+ /// 解析时的优先级。
+ ///
int Priority { get; }
+ ///
+ /// 标签解析器的唯一标识。
+ ///
string Name { get; }
+ ///
+ /// 加载歌曲文件的标签信息。
+ ///
+ /// 歌曲文件的路径。
+ /// 加载完成的歌曲信息。
ValueTask LoadAsync(string filePath);
}
}
\ No newline at end of file
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagLoader.cs b/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagLoader.cs
index fa2ca2c..a5e0006 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagLoader.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Tag/ITagLoader.cs
@@ -2,10 +2,13 @@ using System.Threading.Tasks;
namespace ZonyLrcTools.Cli.Infrastructure.Tag
{
+ ///
+ /// 标签加载器,用于加载文件的音乐标签信息。
+ ///
public interface ITagLoader
{
///
- /// 加载歌曲的标签信息。
+ /// 加载歌曲文件的标签信息。
///
/// 歌曲文件的路径。
/// 加载完成的歌曲信息。
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Tag/TaglibTagInfoProvider.cs b/src/ZonyLrcTools.Cli/Infrastructure/Tag/TaglibTagInfoProvider.cs
index 9d87330..8ceacd6 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Tag/TaglibTagInfoProvider.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Tag/TaglibTagInfoProvider.cs
@@ -5,6 +5,9 @@ using ZonyLrcTools.Cli.Infrastructure.Exceptions;
namespace ZonyLrcTools.Cli.Infrastructure.Tag
{
+ ///
+ /// 基于 TagLib 的标签信息解析器。
+ ///
public class TaglibTagInfoProvider : ITagInfoProvider, ITransientDependency
{
public int Priority => 1;
diff --git a/src/ZonyLrcTools.Cli/Infrastructure/Threading/WarpTask.cs b/src/ZonyLrcTools.Cli/Infrastructure/Threading/WarpTask.cs
index d6afa95..2a7df0a 100644
--- a/src/ZonyLrcTools.Cli/Infrastructure/Threading/WarpTask.cs
+++ b/src/ZonyLrcTools.Cli/Infrastructure/Threading/WarpTask.cs
@@ -4,6 +4,9 @@ using System.Threading.Tasks;
namespace ZonyLrcTools.Cli.Infrastructure.Threading
{
+ ///
+ /// 针对 Task 的包装类,基于信号量 限定并行度。
+ ///
public class WarpTask : IDisposable
{
private readonly CancellationTokenSource _cts = new();
diff --git a/src/ZonyLrcTools.Cli/ZonyLrcTools.Cli.csproj b/src/ZonyLrcTools.Cli/ZonyLrcTools.Cli.csproj
index b55563c..8788abd 100644
--- a/src/ZonyLrcTools.Cli/ZonyLrcTools.Cli.csproj
+++ b/src/ZonyLrcTools.Cli/ZonyLrcTools.Cli.csproj
@@ -32,8 +32,4 @@
-
-
-
-