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 @@ - - - -