refactor: Common components are moved to the Common library.

This commit is contained in:
real-zony 2022-10-06 13:02:20 +08:00
parent ecab0e0f5c
commit 740e8f4c63
64 changed files with 84 additions and 150 deletions

View File

@ -8,15 +8,15 @@ using System.Threading.Tasks;
using McMaster.Extensions.CommandLineUtils; using McMaster.Extensions.CommandLineUtils;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using ZonyLrcTools.Cli.Infrastructure;
using ZonyLrcTools.Cli.Infrastructure.Album;
using ZonyLrcTools.Cli.Infrastructure.Extensions;
using ZonyLrcTools.Cli.Infrastructure.IO;
using ZonyLrcTools.Cli.Infrastructure.Lyric;
using ZonyLrcTools.Cli.Infrastructure.Tag; using ZonyLrcTools.Cli.Infrastructure.Tag;
using ZonyLrcTools.Cli.Infrastructure.Threading; using ZonyLrcTools.Common;
using ZonyLrcTools.Common.Album;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
using ZonyLrcTools.Common.Infrastructure.Extensions;
using ZonyLrcTools.Common.Infrastructure.IO;
using ZonyLrcTools.Common.Infrastructure.Threading;
using ZonyLrcTools.Common.Lyrics;
using File = System.IO.File; using File = System.IO.File;
namespace ZonyLrcTools.Cli.Commands.SubCommand namespace ZonyLrcTools.Cli.Commands.SubCommand

View File

@ -6,10 +6,10 @@ using System.Threading.Tasks;
using McMaster.Extensions.CommandLineUtils; using McMaster.Extensions.CommandLineUtils;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using ZonyLrcTools.Cli.Infrastructure.IO;
using ZonyLrcTools.Cli.Infrastructure.MusicDecryption;
using ZonyLrcTools.Cli.Infrastructure.Threading;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
using ZonyLrcTools.Common.Infrastructure.IO;
using ZonyLrcTools.Common.Infrastructure.Threading;
using ZonyLrcTools.Common.MusicDecryption;
namespace ZonyLrcTools.Cli.Commands.SubCommand namespace ZonyLrcTools.Cli.Commands.SubCommand
{ {

View File

@ -13,18 +13,11 @@
<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.0.1" /> <PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.0.1" />
<PackageReference Include="McMaster.Extensions.Hosting.CommandLine" Version="4.0.1" /> <PackageReference Include="McMaster.Extensions.Hosting.CommandLine" Version="4.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
<PackageReference Include="NetEscapades.Configuration.Yaml" Version="2.2.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Refit" Version="6.3.2" />
<PackageReference Include="Refit.HttpClientFactory" Version="6.3.2" />
<PackageReference Include="Refit.Newtonsoft.Json" Version="6.3.2" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="5.0.1" /> <PackageReference Include="Serilog.Extensions.Hosting" Version="5.0.1" />
<PackageReference Include="Serilog.Sinks.Async" Version="1.5.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="1.5.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" /> <PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" /> <PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" /> <PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
<PackageReference Include="TagLibSharp" Version="2.3.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -1,6 +1,4 @@
using System.Threading.Tasks; namespace ZonyLrcTools.Common.Album
namespace ZonyLrcTools.Cli.Infrastructure.Album
{ {
/// <summary> /// <summary>
/// 专辑封面下载器,用于匹配并下载歌曲的专辑封面。 /// 专辑封面下载器,用于匹配并下载歌曲的专辑封面。

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Album namespace ZonyLrcTools.Common.Album
{ {
/// <summary> /// <summary>
/// 定义了程序默认提供的专辑图像下载器。 /// 定义了程序默认提供的专辑图像下载器。

View File

@ -1,14 +1,11 @@
using System; using System.Net.Http.Headers;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
using ZonyLrcTools.Common.Infrastructure.Network; using ZonyLrcTools.Common.Infrastructure.Network;
using ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel;
namespace ZonyLrcTools.Cli.Infrastructure.Album.NetEase namespace ZonyLrcTools.Common.Album.NetEase
{ {
public class NetEaseAlbumDownloader : IAlbumDownloader, ITransientDependency public class NetEaseAlbumDownloader : IAlbumDownloader, ITransientDependency
{ {

View File

@ -1,12 +1,9 @@
using System;
using System.Net.Http;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Threading.Tasks;
using ZonyLrcTools.Cli.Infrastructure.Lyric.QQMusic.JsonModel;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
using ZonyLrcTools.Common.Infrastructure.Network; using ZonyLrcTools.Common.Infrastructure.Network;
using ZonyLrcTools.Common.Lyrics.Providers.QQMusic.JsonModel;
namespace ZonyLrcTools.Cli.Infrastructure.Album.QQMusic namespace ZonyLrcTools.Common.Album.QQMusic
{ {
public class QQMusicAlbumDownloader : IAlbumDownloader, ITransientDependency public class QQMusicAlbumDownloader : IAlbumDownloader, ITransientDependency
{ {

View File

@ -1,15 +1,14 @@
using System;
using System.Text; using System.Text;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Newtonsoft.Json; using Newtonsoft.Json;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
namespace ZonyLrcTools.Cli.Infrastructure.Extensions namespace ZonyLrcTools.Common.Infrastructure.Extensions
{ {
/// <summary> /// <summary>
/// 日志记录相关的扩展方法。 /// 日志记录相关的扩展方法。
/// </summary> /// </summary>
public static class LoggerExtensions public static class LoggerHelper
{ {
/// <summary> /// <summary>
/// 使用 <see cref="LogLevel.Warning"/> 级别打印错误日志,并记录异常堆栈。 /// 使用 <see cref="LogLevel.Warning"/> 级别打印错误日志,并记录异常堆栈。

View File

@ -1,6 +1,4 @@
using System; namespace ZonyLrcTools.Common.Infrastructure.Extensions
namespace ZonyLrcTools.Cli.Infrastructure.Extensions
{ {
/// <summary> /// <summary>
/// 字符串处理相关的工具方法。 /// 字符串处理相关的工具方法。

View File

@ -1,16 +1,11 @@
using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Abstractions;
using ZonyLrcTools.Cli.Infrastructure.Extensions;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
using ZonyLrcTools.Common.Infrastructure.Extensions;
namespace ZonyLrcTools.Cli.Infrastructure.IO namespace ZonyLrcTools.Common.Infrastructure.IO
{ {
public class FileScanner : IFileScanner, ITransientDependency public class FileScanner : IFileScanner, ITransientDependency
{ {

View File

@ -1,6 +1,4 @@
using System.Collections.Generic; namespace ZonyLrcTools.Common.Infrastructure.IO
namespace ZonyLrcTools.Cli.Infrastructure.IO
{ {
/// <summary> /// <summary>
/// 文件扫描结果对象。 /// 文件扫描结果对象。

View File

@ -1,7 +1,4 @@
using System.IO; namespace ZonyLrcTools.Common.Infrastructure.IO
using System.Threading.Tasks;
namespace ZonyLrcTools.Cli.Infrastructure.IO
{ {
public static class FileStreamExtensions public static class FileStreamExtensions
{ {

View File

@ -1,7 +1,4 @@
using System.Collections.Generic; namespace ZonyLrcTools.Common.Infrastructure.IO
using System.Threading.Tasks;
namespace ZonyLrcTools.Cli.Infrastructure.IO
{ {
/// <summary> /// <summary>
/// 音乐文件扫描器,用于扫描音乐文件。 /// 音乐文件扫描器,用于扫描音乐文件。

View File

@ -1,8 +1,4 @@
using System; namespace ZonyLrcTools.Common.Infrastructure.Threading
using System.Threading;
using System.Threading.Tasks;
namespace ZonyLrcTools.Cli.Infrastructure.Threading
{ {
/// <summary> /// <summary>
/// 针对 Task 的包装类,基于信号量 <see cref="SemaphoreSlim"/> 限定并行度。 /// 针对 Task 的包装类,基于信号量 <see cref="SemaphoreSlim"/> 限定并行度。

View File

@ -1,6 +1,4 @@
using System.Threading.Tasks; namespace ZonyLrcTools.Common.Lyrics
namespace ZonyLrcTools.Cli.Infrastructure.Lyric
{ {
/// <summary> /// <summary>
/// 歌词数据下载器,用于匹配并下载歌曲的歌词。 /// 歌词数据下载器,用于匹配并下载歌曲的歌词。

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
/// <summary> /// <summary>
/// 构建 <see cref="LyricItemCollection"/> 对象的工厂。 /// 构建 <see cref="LyricItemCollection"/> 对象的工厂。

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
public interface ILyricTextResolver public interface ILyricTextResolver
{ {

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
/// <summary> /// <summary>
/// 定义了程序默认提供的歌词下载器。 /// 定义了程序默认提供的歌词下载器。

View File

@ -1,8 +1,7 @@
using System.Threading.Tasks;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
/// <summary> /// <summary>
/// 歌词下载器的基类,定义了歌词下载器的常规逻辑。 /// 歌词下载器的基类,定义了歌词下载器的常规逻辑。

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
public class LyricDownloaderArgs public class LyricDownloaderArgs
{ {

View File

@ -1,7 +1,6 @@
using System;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
/// <summary> /// <summary>
/// 歌词的行对象,是 <see cref="LyricItemCollection"/> 的最小单位。。 /// 歌词的行对象,是 <see cref="LyricItemCollection"/> 的最小单位。。

View File

@ -1,12 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
using ZonyLrcTools.Cli.Infrastructure.Extensions;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Infrastructure.Extensions; using ZonyLrcTools.Common.Infrastructure.Extensions;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
/// <summary> /// <summary>
/// 歌词数据,包含多条歌词行对象(<see cref="LyricItem"/>)。 /// 歌词数据,包含多条歌词行对象(<see cref="LyricItem"/>)。

View File

@ -3,7 +3,7 @@ using Microsoft.Extensions.Options;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric namespace ZonyLrcTools.Common.Lyrics
{ {
/// <summary> /// <summary>
/// <see cref="ILyricItemCollectionFactory"/> 的默认实现。 /// <see cref="ILyricItemCollectionFactory"/> 的默认实现。

View File

@ -1,6 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.KuGou.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.KuGou.JsonModel
{ {
public class GetLyricAccessKeyRequest public class GetLyricAccessKeyRequest
{ {

View File

@ -1,7 +1,6 @@
using System.Collections.Generic;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.KuGou.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.KuGou.JsonModel
{ {
public class GetLyricAccessKeyResponse public class GetLyricAccessKeyResponse
{ {

View File

@ -1,6 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.KuGou.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.KuGou.JsonModel
{ {
public class GetLyricRequest public class GetLyricRequest
{ {

View File

@ -2,7 +2,7 @@
using System.Web; using System.Web;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.KuGou.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.KuGou.JsonModel
{ {
public class SongSearchRequest public class SongSearchRequest
{ {

View File

@ -1,7 +1,6 @@
using System.Collections.Generic; using Newtonsoft.Json;
using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.KuGou.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.KuGou.JsonModel
{ {
public class SongSearchResponse public class SongSearchResponse
{ {

View File

@ -1,14 +1,12 @@
using System;
using System.Text; using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using ZonyLrcTools.Cli.Infrastructure.Lyric.KuGou.JsonModel;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
using ZonyLrcTools.Common.Infrastructure.Network; using ZonyLrcTools.Common.Infrastructure.Network;
using ZonyLrcTools.Common.Lyrics.Providers.KuGou.JsonModel;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.KuGou namespace ZonyLrcTools.Common.Lyrics.Providers.KuGou
{ {
public class KuGourLyricDownloader : LyricDownloader public class KuGourLyricDownloader : LyricDownloader
{ {

View File

@ -2,7 +2,7 @@ using Newtonsoft.Json;
// ReSharper disable InconsistentNaming // ReSharper disable InconsistentNaming
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel
{ {
public class GetLyricRequest public class GetLyricRequest
{ {

View File

@ -1,6 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel
{ {
public class GetLyricResponse public class GetLyricResponse
{ {

View File

@ -1,6 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel
{ {
public class GetSongDetailsRequest public class GetSongDetailsRequest
{ {

View File

@ -3,7 +3,7 @@ using System.Text.RegularExpressions;
using System.Web; using System.Web;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel
{ {
public class SongSearchRequest public class SongSearchRequest
{ {

View File

@ -1,9 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel
{ {
public class SongSearchResponse public class SongSearchResponse
{ {

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel
{ {
public static class SongSearchResponseStatusCode public static class SongSearchResponseStatusCode
{ {

View File

@ -1,15 +1,13 @@
using System;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Text; using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Newtonsoft.Json; using Newtonsoft.Json;
using ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase.JsonModel;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
using ZonyLrcTools.Common.Infrastructure.Network; using ZonyLrcTools.Common.Infrastructure.Network;
using ZonyLrcTools.Common.Lyrics.Providers.NetEase.JsonModel;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.NetEase namespace ZonyLrcTools.Common.Lyrics.Providers.NetEase
{ {
public class NetEaseLyricDownloader : LyricDownloader public class NetEaseLyricDownloader : LyricDownloader
{ {

View File

@ -1,6 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.QQMusic.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.QQMusic.JsonModel
{ {
public class GetLyricRequest public class GetLyricRequest
{ {

View File

@ -2,7 +2,7 @@ using System.Text;
using System.Web; using System.Web;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.QQMusic.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.QQMusic.JsonModel
{ {
public class SongSearchRequest public class SongSearchRequest
{ {

View File

@ -1,7 +1,6 @@
using System.Collections.Generic;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.QQMusic.JsonModel namespace ZonyLrcTools.Common.Lyrics.Providers.QQMusic.JsonModel
{ {
public class SongSearchResponse public class SongSearchResponse
{ {

View File

@ -1,14 +1,11 @@
using System;
using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks;
using System.Web; using System.Web;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using ZonyLrcTools.Cli.Infrastructure.Lyric.QQMusic.JsonModel;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;
using ZonyLrcTools.Common.Infrastructure.Network; using ZonyLrcTools.Common.Infrastructure.Network;
using ZonyLrcTools.Common.Lyrics.Providers.QQMusic.JsonModel;
namespace ZonyLrcTools.Cli.Infrastructure.Lyric.QQMusic namespace ZonyLrcTools.Common.Lyrics.Providers.QQMusic
{ {
public class QQLyricDownloader : LyricDownloader public class QQLyricDownloader : LyricDownloader
{ {

View File

@ -1,6 +1,4 @@
using System.Collections.Generic; namespace ZonyLrcTools.Common.MusicDecryption
namespace ZonyLrcTools.Cli.Infrastructure.MusicDecryption
{ {
public class DecryptionResult public class DecryptionResult
{ {

View File

@ -1,6 +1,4 @@
using System.Threading.Tasks; namespace ZonyLrcTools.Common.MusicDecryption
namespace ZonyLrcTools.Cli.Infrastructure.MusicDecryption
{ {
/// <summary> /// <summary>
/// 音乐解密器,用于将加密的歌曲数据,转换为可识别的歌曲格式。 /// 音乐解密器,用于将加密的歌曲数据,转换为可识别的歌曲格式。

View File

@ -1,13 +1,9 @@
using System; using System.Security.Cryptography;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
namespace ZonyLrcTools.Cli.Infrastructure.MusicDecryption namespace ZonyLrcTools.Common.MusicDecryption
{ {
/// <summary> /// <summary>
/// NCM 音乐转换器,用于将 NCM 格式的音乐转换为可播放的格式。 /// NCM 音乐转换器,用于将 NCM 格式的音乐转换为可播放的格式。

View File

@ -1,6 +1,4 @@
using System; namespace ZonyLrcTools.Common
namespace ZonyLrcTools.Cli.Infrastructure
{ {
/// <summary> /// <summary>
/// 歌曲信息的承载类,携带歌曲的相关数据。 /// 歌曲信息的承载类,携带歌曲的相关数据。

View File

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using ZonyLrcTools.Common;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;

View File

@ -3,6 +3,7 @@ using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using ZonyLrcTools.Common;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;

View File

@ -1,4 +1,5 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using ZonyLrcTools.Common;
namespace ZonyLrcTools.Cli.Infrastructure.Tag namespace ZonyLrcTools.Cli.Infrastructure.Tag
{ {

View File

@ -1,4 +1,5 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using ZonyLrcTools.Common;
namespace ZonyLrcTools.Cli.Infrastructure.Tag namespace ZonyLrcTools.Cli.Infrastructure.Tag
{ {

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using ZonyLrcTools.Common;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
using ZonyLrcTools.Common.Infrastructure.Exceptions; using ZonyLrcTools.Common.Infrastructure.Exceptions;

View File

@ -1,14 +1,11 @@
using System; using System.Diagnostics;
using System.Diagnostics;
using System.Linq;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using ZonyLrcTools.Cli.Infrastructure.Updater.JsonModel;
using ZonyLrcTools.Common.Infrastructure.DependencyInject; using ZonyLrcTools.Common.Infrastructure.DependencyInject;
using ZonyLrcTools.Common.Infrastructure.Network; using ZonyLrcTools.Common.Infrastructure.Network;
using ZonyLrcTools.Common.Updater.JsonModel;
namespace ZonyLrcTools.Cli.Infrastructure.Updater; namespace ZonyLrcTools.Common.Updater;
public class DefaultUpdater : ISingletonDependency public class DefaultUpdater : ISingletonDependency
{ {

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Updater.JsonModel; namespace ZonyLrcTools.Common.Updater.JsonModel;
public class NewVersionItem public class NewVersionItem
{ {

View File

@ -1,4 +1,4 @@
namespace ZonyLrcTools.Cli.Infrastructure.Updater.JsonModel; namespace ZonyLrcTools.Common.Updater.JsonModel;
public enum NewVersionItemType public enum NewVersionItemType
{ {

View File

@ -1,7 +1,4 @@
using System; namespace ZonyLrcTools.Common.Updater.JsonModel;
using System.Collections.Generic;
namespace ZonyLrcTools.Cli.Infrastructure.Updater.JsonModel;
public class NewVersionResponse public class NewVersionResponse
{ {

View File

@ -12,6 +12,11 @@
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
<PackageReference Include="NetEscapades.Configuration.Yaml" Version="2.2.0" /> <PackageReference Include="NetEscapades.Configuration.Yaml" Version="2.2.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="TagLibSharp" Version="2.3.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Lyrics\Providers" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,11 +1,10 @@
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Shouldly; using Shouldly;
using Xunit; using Xunit;
using ZonyLrcTools.Cli.Infrastructure.IO; using ZonyLrcTools.Common.Infrastructure.IO;
namespace ZonyLrcTools.Tests namespace ZonyLrcTools.Tests
{ {
@ -21,7 +20,7 @@ namespace ZonyLrcTools.Tests
var fileScanner = ServiceProvider.GetRequiredService<IFileScanner>(); var fileScanner = ServiceProvider.GetRequiredService<IFileScanner>();
var result = await fileScanner.ScanAsync( var result = await fileScanner.ScanAsync(
Path.GetDirectoryName(tempMusicFilePath), Path.GetDirectoryName(tempMusicFilePath),
new[] {"*.mp3", "*.flac"}); new[] { "*.mp3", "*.flac" });
result.Count.ShouldBe(2); result.Count.ShouldBe(2);
result.First(e => e.ExtensionName == ".mp3").FilePaths.Count.ShouldNotBe(0); result.First(e => e.ExtensionName == ".mp3").FilePaths.Count.ShouldNotBe(0);

View File

@ -5,7 +5,7 @@ using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Shouldly; using Shouldly;
using Xunit; using Xunit;
using ZonyLrcTools.Cli.Infrastructure.Album; using ZonyLrcTools.Common.Album;
namespace ZonyLrcTools.Tests.Infrastructure.Album namespace ZonyLrcTools.Tests.Infrastructure.Album
{ {

View File

@ -4,7 +4,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Shouldly; using Shouldly;
using ZonyLrcTools.Cli.Infrastructure.Album; using ZonyLrcTools.Common.Album;
namespace ZonyLrcTools.Tests.Infrastructure.Album namespace ZonyLrcTools.Tests.Infrastructure.Album
{ {

View File

@ -1,10 +1,9 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using Shouldly; using Shouldly;
using Xunit; using Xunit;
using ZonyLrcTools.Cli.Infrastructure.Lyric; using ZonyLrcTools.Common.Lyrics;
namespace ZonyLrcTools.Tests.Infrastructure.Lyric namespace ZonyLrcTools.Tests.Infrastructure.Lyric
{ {

View File

@ -1,6 +1,5 @@
using Shouldly; using Shouldly;
using Xunit; using Xunit;
using ZonyLrcTools.Cli.Infrastructure.Lyric;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Lyrics; using ZonyLrcTools.Common.Lyrics;

View File

@ -5,8 +5,8 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Shouldly; using Shouldly;
using Xunit; using Xunit;
using ZonyLrcTools.Cli.Infrastructure.Lyric;
using ZonyLrcTools.Common.Configuration; using ZonyLrcTools.Common.Configuration;
using ZonyLrcTools.Common.Lyrics;
namespace ZonyLrcTools.Tests.Infrastructure.Lyric namespace ZonyLrcTools.Tests.Infrastructure.Lyric
{ {

View File

@ -1,10 +1,9 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Shouldly; using Shouldly;
using Xunit; using Xunit;
using ZonyLrcTools.Cli.Infrastructure.Lyric; using ZonyLrcTools.Common.Lyrics;
namespace ZonyLrcTools.Tests.Infrastructure.Lyric namespace ZonyLrcTools.Tests.Infrastructure.Lyric
{ {

View File

@ -3,7 +3,7 @@ using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Xunit; using Xunit;
using ZonyLrcTools.Cli.Infrastructure.MusicDecryption; using ZonyLrcTools.Common.MusicDecryption;
namespace ZonyLrcTools.Tests.Infrastructure.MusicDecryption namespace ZonyLrcTools.Tests.Infrastructure.MusicDecryption
{ {