feat(Upload):解耦Dlass上传并使用UploadHelper接管 (#380)

* feat(Upload):解耦Dlass笔记上传

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>

* fix(上传): 修复多线程环境下的上传提供者管理问题

添加线程同步锁确保上传提供者列表的线程安全
修改AutoUploadDelayMinutes属性确保最小值为0
优化提供者注册逻辑避免重复注册

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>

---------

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
This commit is contained in:
doudou0720
2026-02-22 23:53:12 +08:00
committed by GitHub
parent 7b04f18d4e
commit a6bc7552f4
4 changed files with 213 additions and 14 deletions
+5 -13
View File
@@ -58,7 +58,7 @@ namespace Ink_Canvas
var path = savePath;
var hideNotification = isHideNotification;
_ = Task.Run(() =>
_ = Task.Run(async () =>
{
try
{
@@ -84,11 +84,8 @@ namespace Ink_Canvas
Dispatcher.Invoke(() => ShowNotification($"截图成功保存至 {path}"));
}
if (Settings?.Dlass?.AutoUploadDelayMinutes > 0)
{
Task.Delay(TimeSpan.FromMinutes(Settings.Dlass.AutoUploadDelayMinutes)).GetAwaiter().GetResult();
Helpers.DlassNoteUploader.UploadNoteFileAsync(path).GetAwaiter().GetResult();
}
// 使用上传帮助类上传到所有启用的服务
await Helpers.UploadHelper.UploadFileAsync(path);
}
catch (Exception ex)
{
@@ -365,13 +362,8 @@ namespace Ink_Canvas
{
try
{
var delayMinutes = Settings?.Dlass?.AutoUploadDelayMinutes ?? 0;
if (delayMinutes > 0)
{
await Task.Delay(TimeSpan.FromMinutes(delayMinutes));
}
await Helpers.DlassNoteUploader.UploadNoteFileAsync(savePath);
// 使用上传帮助类上传到所有启用的服务
await Helpers.UploadHelper.UploadFileAsync(savePath);
}
catch (Exception)
{