diff --git a/src/ZonyLrcTools.Cli/Program.cs b/src/ZonyLrcTools.Cli/Program.cs
index 199e4ed..f040d65 100644
--- a/src/ZonyLrcTools.Cli/Program.cs
+++ b/src/ZonyLrcTools.Cli/Program.cs
@@ -81,8 +81,7 @@ namespace ZonyLrcTools.Cli
.ConfigureLogging(l => l.AddSerilog())
.ConfigureHostConfiguration(builder =>
{
- builder
- .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
+ builder.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.AddYamlFile("config.yaml");
})
.ConfigureServices((_, services) =>
diff --git a/src/ZonyLrcTools.Cli/config.yaml b/src/ZonyLrcTools.Cli/config.yaml
index 24553bb..c723626 100644
--- a/src/ZonyLrcTools.Cli/config.yaml
+++ b/src/ZonyLrcTools.Cli/config.yaml
@@ -1,61 +1,61 @@
-globalOption:
- # 允许扫描的歌曲文件后缀名。
- supportFileExtensions:
- - '*.mp3'
- - '*.flac'
- - '*.wav'
- - '*.m4a'
- - '*.ogg'
- - '*.opus'
- # 网络代理服务设置,仅支持 HTTP 代理。
- networkOptions:
- isEnable: false # 是否启用代理。
- ip: 127.0.0.1 # 代理服务 IP 地址。
- port: 4780 # 代理服务端口号。
- updateUrl: https://api.myzony.com/lrc-tools/update # 更新检查地址。
-
- # 下载器的相关参数配置。
- provider:
- # 标签扫描器的相关参数配置。
- tag:
- # 支持的标签扫描器。
- plugin:
- - name: Taglib # 基于 Taglib 库的标签扫描器。
- priority: 1 # 优先级,升序排列。
- - name: FileName # 基于文件名的标签扫描器。
- priority: 2
- # 基于文件名扫描器的扩展参数。
- extensions:
- # 正则表达式,用于匹配文件名中的作者信息和歌曲信息,可根据
- # 自己的需求进行调整。
- regularExpressions: "(?'artist'.+)\\s-\\s(?'name'.+)"
- # 歌曲标签屏蔽字典替换功能。
- blockWord:
- isEnable: false # 是否启用屏蔽字典。
- filePath: 'BlockWords.json' # 屏蔽字典的路径。
- # 歌词下载器的相关参数配置。
- lyric:
- # 支持的歌词下载器。
- plugin:
- - name: NetEase # 基于网易云音乐的歌词下载器。
- priority: 1 # 优先级,升序排列,改为 -1 时禁用。
- depth: 10 # 搜索深度,值越大搜索结果越多,但搜索时间越长。
- additional:
- isEnableRomanOutput: false # 是否启用罗马音输出,本参数仅当对应歌曲有罗马音歌词时有效。
- - name: QQ # 基于 QQ 音乐的歌词下载器。
- priority: 2
- # depth: 10 # 暂时不支持。
- - name: KuGou # 基于酷狗音乐的歌词下载器。
- priority: 3
- depth: 10
- - name: KuWo # 基于酷我音乐的歌词下载器。
- priority: 4
- depth: 10
- # 歌词下载的一些共有配置参数。
- config:
- isOneLine: true # 双语歌词是否合并为一行展示。
- lineBreak: "\n" # 换行符的类型,记得使用双引号指定。
- isEnableTranslation: true # 是否启用翻译歌词。
- isOnlyOutputTranslation: false # 是否只输出翻译歌词。
- isSkipExistLyricFiles: false # 如果歌词文件已经存在,是否跳过这些文件。
- fileEncoding: 'utf-8' # 歌词文件的编码格式。
\ No newline at end of file
+# 允许扫描的歌曲文件后缀名。
+supportFileExtensions:
+ - '*.mp3'
+ - '*.flac'
+ - '*.wav'
+ - '*.m4a'
+ - '*.ogg'
+ - '*.opus'
+
+# 网络代理服务设置,仅支持 HTTP 代理。
+networkOptions:
+ isEnable: false # 是否启用代理。
+ ip: 127.0.0.1 # 代理服务 IP 地址。
+ port: 4780 # 代理服务端口号。
+ updateUrl: https://api.myzony.com/lrc-tools/update # 更新检查地址。
+
+# 下载器的相关参数配置。
+provider:
+ # 标签扫描器的相关参数配置。
+ tag:
+ # 支持的标签扫描器。
+ plugin:
+ - name: Taglib # 基于 Taglib 库的标签扫描器。
+ priority: 1 # 优先级,升序排列。
+ - name: FileName # 基于文件名的标签扫描器。
+ priority: 2
+ # 基于文件名扫描器的扩展参数。
+ extensions:
+ # 正则表达式,用于匹配文件名中的作者信息和歌曲信息,可根据
+ # 自己的需求进行调整。
+ regularExpressions: "(?'artist'.+)\\s-\\s(?'name'.+)"
+ # 歌曲标签屏蔽字典替换功能。
+ blockWord:
+ isEnable: false # 是否启用屏蔽字典。
+ filePath: 'BlockWords.json' # 屏蔽字典的路径。
+ # 歌词下载器的相关参数配置。
+ lyric:
+ # 支持的歌词下载器。
+ plugin:
+ - name: NetEase # 基于网易云音乐的歌词下载器。
+ priority: 1 # 优先级,升序排列,改为 -1 时禁用。
+ depth: 10 # 搜索深度,值越大搜索结果越多,但搜索时间越长。
+ additional:
+ isEnableRomanOutput: false # 是否启用罗马音输出,本参数仅当对应歌曲有罗马音歌词时有效。
+ - name: QQ # 基于 QQ 音乐的歌词下载器。
+ priority: 2
+ # depth: 10 # 暂时不支持。
+ - name: KuGou # 基于酷狗音乐的歌词下载器。
+ priority: 3
+ depth: 10
+ - name: KuWo # 基于酷我音乐的歌词下载器。
+ priority: 4
+ depth: 10
+ # 歌词下载的一些共有配置参数。
+ config:
+ isOneLine: true # 双语歌词是否合并为一行展示。
+ lineBreak: "\n" # 换行符的类型,记得使用双引号指定。
+ isEnableTranslation: true # 是否启用翻译歌词。
+ isOnlyOutputTranslation: false # 是否只输出翻译歌词。
+ isSkipExistLyricFiles: false # 如果歌词文件已经存在,是否跳过这些文件。
+ fileEncoding: 'utf-8' # 歌词文件的编码格式。
\ No newline at end of file
diff --git a/src/ZonyLrcTools.Common/Configuration/LyricsProviderOptions.cs b/src/ZonyLrcTools.Common/Configuration/LyricsProviderOptions.cs
index 0135212..edb51e2 100644
--- a/src/ZonyLrcTools.Common/Configuration/LyricsProviderOptions.cs
+++ b/src/ZonyLrcTools.Common/Configuration/LyricsProviderOptions.cs
@@ -16,5 +16,10 @@
/// 搜索深度,值越大搜索结果越多,但搜索时间越长。
///
public int Depth { get; set; }
+
+ ///
+ /// 歌词下载器的扩展属性。
+ ///
+ public Dictionary? Additional { get; set; }
}
}
\ No newline at end of file
diff --git a/src/ZonyLrcTools.Common/Configuration/NetworkOptions.cs b/src/ZonyLrcTools.Common/Configuration/NetworkOptions.cs
index d3364d8..b26ef5c 100644
--- a/src/ZonyLrcTools.Common/Configuration/NetworkOptions.cs
+++ b/src/ZonyLrcTools.Common/Configuration/NetworkOptions.cs
@@ -19,5 +19,10 @@ namespace ZonyLrcTools.Common.Configuration
/// 代理服务器的 端口。
///
public int Port { get; set; }
+
+ ///
+ /// 更新检查的 Url。
+ ///
+ public string UpdateUrl { get; set; } = default!;
}
}
\ No newline at end of file
diff --git a/src/ZonyLrcTools.Common/Infrastructure/DependencyInject/ServiceCollectionExtensions.cs b/src/ZonyLrcTools.Common/Infrastructure/DependencyInject/ServiceCollectionExtensions.cs
index 4f119ed..2e25a2e 100644
--- a/src/ZonyLrcTools.Common/Infrastructure/DependencyInject/ServiceCollectionExtensions.cs
+++ b/src/ZonyLrcTools.Common/Infrastructure/DependencyInject/ServiceCollectionExtensions.cs
@@ -47,7 +47,7 @@ namespace ZonyLrcTools.Common.Infrastructure.DependencyInject
.AddYamlFile("config.yaml")
.Build();
- services.Configure(configuration.GetSection("globalOption"));
+ services.Configure(configuration);
return services;
}
diff --git a/src/ZonyLrcTools.Desktop/config.yaml b/src/ZonyLrcTools.Desktop/config.yaml
index 24553bb..c723626 100644
--- a/src/ZonyLrcTools.Desktop/config.yaml
+++ b/src/ZonyLrcTools.Desktop/config.yaml
@@ -1,61 +1,61 @@
-globalOption:
- # 允许扫描的歌曲文件后缀名。
- supportFileExtensions:
- - '*.mp3'
- - '*.flac'
- - '*.wav'
- - '*.m4a'
- - '*.ogg'
- - '*.opus'
- # 网络代理服务设置,仅支持 HTTP 代理。
- networkOptions:
- isEnable: false # 是否启用代理。
- ip: 127.0.0.1 # 代理服务 IP 地址。
- port: 4780 # 代理服务端口号。
- updateUrl: https://api.myzony.com/lrc-tools/update # 更新检查地址。
-
- # 下载器的相关参数配置。
- provider:
- # 标签扫描器的相关参数配置。
- tag:
- # 支持的标签扫描器。
- plugin:
- - name: Taglib # 基于 Taglib 库的标签扫描器。
- priority: 1 # 优先级,升序排列。
- - name: FileName # 基于文件名的标签扫描器。
- priority: 2
- # 基于文件名扫描器的扩展参数。
- extensions:
- # 正则表达式,用于匹配文件名中的作者信息和歌曲信息,可根据
- # 自己的需求进行调整。
- regularExpressions: "(?'artist'.+)\\s-\\s(?'name'.+)"
- # 歌曲标签屏蔽字典替换功能。
- blockWord:
- isEnable: false # 是否启用屏蔽字典。
- filePath: 'BlockWords.json' # 屏蔽字典的路径。
- # 歌词下载器的相关参数配置。
- lyric:
- # 支持的歌词下载器。
- plugin:
- - name: NetEase # 基于网易云音乐的歌词下载器。
- priority: 1 # 优先级,升序排列,改为 -1 时禁用。
- depth: 10 # 搜索深度,值越大搜索结果越多,但搜索时间越长。
- additional:
- isEnableRomanOutput: false # 是否启用罗马音输出,本参数仅当对应歌曲有罗马音歌词时有效。
- - name: QQ # 基于 QQ 音乐的歌词下载器。
- priority: 2
- # depth: 10 # 暂时不支持。
- - name: KuGou # 基于酷狗音乐的歌词下载器。
- priority: 3
- depth: 10
- - name: KuWo # 基于酷我音乐的歌词下载器。
- priority: 4
- depth: 10
- # 歌词下载的一些共有配置参数。
- config:
- isOneLine: true # 双语歌词是否合并为一行展示。
- lineBreak: "\n" # 换行符的类型,记得使用双引号指定。
- isEnableTranslation: true # 是否启用翻译歌词。
- isOnlyOutputTranslation: false # 是否只输出翻译歌词。
- isSkipExistLyricFiles: false # 如果歌词文件已经存在,是否跳过这些文件。
- fileEncoding: 'utf-8' # 歌词文件的编码格式。
\ No newline at end of file
+# 允许扫描的歌曲文件后缀名。
+supportFileExtensions:
+ - '*.mp3'
+ - '*.flac'
+ - '*.wav'
+ - '*.m4a'
+ - '*.ogg'
+ - '*.opus'
+
+# 网络代理服务设置,仅支持 HTTP 代理。
+networkOptions:
+ isEnable: false # 是否启用代理。
+ ip: 127.0.0.1 # 代理服务 IP 地址。
+ port: 4780 # 代理服务端口号。
+ updateUrl: https://api.myzony.com/lrc-tools/update # 更新检查地址。
+
+# 下载器的相关参数配置。
+provider:
+ # 标签扫描器的相关参数配置。
+ tag:
+ # 支持的标签扫描器。
+ plugin:
+ - name: Taglib # 基于 Taglib 库的标签扫描器。
+ priority: 1 # 优先级,升序排列。
+ - name: FileName # 基于文件名的标签扫描器。
+ priority: 2
+ # 基于文件名扫描器的扩展参数。
+ extensions:
+ # 正则表达式,用于匹配文件名中的作者信息和歌曲信息,可根据
+ # 自己的需求进行调整。
+ regularExpressions: "(?'artist'.+)\\s-\\s(?'name'.+)"
+ # 歌曲标签屏蔽字典替换功能。
+ blockWord:
+ isEnable: false # 是否启用屏蔽字典。
+ filePath: 'BlockWords.json' # 屏蔽字典的路径。
+ # 歌词下载器的相关参数配置。
+ lyric:
+ # 支持的歌词下载器。
+ plugin:
+ - name: NetEase # 基于网易云音乐的歌词下载器。
+ priority: 1 # 优先级,升序排列,改为 -1 时禁用。
+ depth: 10 # 搜索深度,值越大搜索结果越多,但搜索时间越长。
+ additional:
+ isEnableRomanOutput: false # 是否启用罗马音输出,本参数仅当对应歌曲有罗马音歌词时有效。
+ - name: QQ # 基于 QQ 音乐的歌词下载器。
+ priority: 2
+ # depth: 10 # 暂时不支持。
+ - name: KuGou # 基于酷狗音乐的歌词下载器。
+ priority: 3
+ depth: 10
+ - name: KuWo # 基于酷我音乐的歌词下载器。
+ priority: 4
+ depth: 10
+ # 歌词下载的一些共有配置参数。
+ config:
+ isOneLine: true # 双语歌词是否合并为一行展示。
+ lineBreak: "\n" # 换行符的类型,记得使用双引号指定。
+ isEnableTranslation: true # 是否启用翻译歌词。
+ isOnlyOutputTranslation: false # 是否只输出翻译歌词。
+ isSkipExistLyricFiles: false # 如果歌词文件已经存在,是否跳过这些文件。
+ fileEncoding: 'utf-8' # 歌词文件的编码格式。
\ No newline at end of file