From b6020481866bc91b43fd2db1c0e377311505978f Mon Sep 17 00:00:00 2001 From: CJK_mkp <113243675+CJKmkp@users.noreply.github.com> Date: Sun, 2 Nov 2025 10:16:31 +0800 Subject: [PATCH] =?UTF-8?q?add:Dlass=E8=81=94=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/Helpers/DlassNoteUploader.cs | 23 +++++++++++++++++-- .../MainWindow_cs/MW_Save&OpenStrokes.cs | 19 ++++++++++++++- Ink Canvas/MainWindow_cs/MW_Screenshot.cs | 9 +------- Ink Canvas/Windows/DlassSettingsWindow.xaml | 4 ++-- 4 files changed, 42 insertions(+), 13 deletions(-) diff --git a/Ink Canvas/Helpers/DlassNoteUploader.cs b/Ink Canvas/Helpers/DlassNoteUploader.cs index ed08fece..30da0f51 100644 --- a/Ink Canvas/Helpers/DlassNoteUploader.cs +++ b/Ink Canvas/Helpers/DlassNoteUploader.cs @@ -76,6 +76,16 @@ namespace Ink_Canvas.Helpers public List Whiteboards { get; set; } } + /// + /// 异步上传笔记文件到Dlass(支持PNG和ICSTK格式) + /// + /// 文件路径(支持PNG和ICSTK) + /// 是否上传成功 + public static async Task UploadNoteFileAsync(string filePath) + { + return await UploadPngNoteAsync(filePath); + } + /// /// 异步上传PNG文件到Dlass /// @@ -98,6 +108,14 @@ namespace Ink_Canvas.Helpers return false; } + // 检查文件扩展名 + var fileExtension = Path.GetExtension(pngFilePath).ToLower(); + if (fileExtension != ".png" && fileExtension != ".icstk") + { + LogHelper.WriteLogToFile($"上传失败:不支持的文件格式 - {fileExtension},仅支持PNG和ICSTK", LogHelper.LogType.Error); + return false; + } + // 检查文件大小(最大10MB) var fileInfo = new FileInfo(pngFilePath); if (fileInfo.Length > 10 * 1024 * 1024) @@ -160,8 +178,9 @@ namespace Ink_Canvas.Helpers // 准备上传参数 var fileName = Path.GetFileNameWithoutExtension(pngFilePath); var title = fileName; - var description = $"自动上传的笔记 - {DateTime.Now:yyyy-MM-dd HH:mm:ss}"; - var tags = "自动上传,笔记"; + var fileType = fileExtension == ".icstk" ? "墨迹文件" : "笔记"; + var description = $"自动上传的{fileType} - {DateTime.Now:yyyy-MM-dd HH:mm:ss}"; + var tags = fileExtension == ".icstk" ? "自动上传,墨迹,icstk" : "自动上传,笔记,png"; // 上传文件 var uploadResult = await apiClient.UploadNoteAsync( diff --git a/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs b/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs index bcbc487c..0e3b6f12 100644 --- a/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs +++ b/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs @@ -133,6 +133,23 @@ namespace Ink_Canvas var fs = new FileStream(savePathWithName, FileMode.Create); inkCanvas.Strokes.Save(fs); fs.Close(); + _ = Task.Run(async () => + { + try + { + var delayMinutes = Settings?.Dlass?.AutoUploadDelayMinutes ?? 0; + if (delayMinutes > 0) + { + await Task.Delay(TimeSpan.FromMinutes(delayMinutes)); + } + + await Helpers.DlassNoteUploader.UploadNoteFileAsync(savePathWithName); + } + catch (Exception) + { + } + }); + // 保存元素信息 var elementInfos = new List(); foreach (var child in inkCanvas.Children) @@ -322,7 +339,7 @@ namespace Ink_Canvas await Task.Delay(TimeSpan.FromMinutes(delayMinutes)); } - await Helpers.DlassNoteUploader.UploadPngNoteAsync(imagePathWithName); + await Helpers.DlassNoteUploader.UploadNoteFileAsync(imagePathWithName); } catch (Exception) { diff --git a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs index 844c0982..18ef9fec 100644 --- a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs +++ b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs @@ -76,14 +76,7 @@ namespace Ink_Canvas await Task.Delay(TimeSpan.FromMinutes(delayMinutes)); } - var uploaded = await Helpers.DlassNoteUploader.UploadPngNoteAsync(savePath); - if (uploaded && !isHideNotification) - { - Dispatcher.Invoke(() => - { - ShowNotification($"笔记已自动上传到Dlass"); - }); - } + await Helpers.DlassNoteUploader.UploadNoteFileAsync(savePath); } catch (Exception) { diff --git a/Ink Canvas/Windows/DlassSettingsWindow.xaml b/Ink Canvas/Windows/DlassSettingsWindow.xaml index fe993dd6..9591776b 100644 --- a/Ink Canvas/Windows/DlassSettingsWindow.xaml +++ b/Ink Canvas/Windows/DlassSettingsWindow.xaml @@ -341,13 +341,13 @@ -