add:Dlass联动

This commit is contained in:
CJK_mkp
2025-11-02 10:16:31 +08:00
parent 4fb7031060
commit b602048186
4 changed files with 42 additions and 13 deletions
+21 -2
View File
@@ -76,6 +76,16 @@ namespace Ink_Canvas.Helpers
public List<WhiteboardInfo> Whiteboards { get; set; }
}
/// <summary>
/// 异步上传笔记文件到Dlass(支持PNG和ICSTK格式)
/// </summary>
/// <param name="filePath">文件路径(支持PNG和ICSTK</param>
/// <returns>是否上传成功</returns>
public static async Task<bool> UploadNoteFileAsync(string filePath)
{
return await UploadPngNoteAsync(filePath);
}
/// <summary>
/// 异步上传PNG文件到Dlass
/// </summary>
@@ -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<UploadNoteResponse>(
@@ -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<CanvasElementInfo>();
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)
{
+1 -8
View File
@@ -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)
{
+2 -2
View File
@@ -341,13 +341,13 @@
<ui:SimpleStackPanel Orientation="Vertical" Spacing="4">
<ui:ToggleSwitch x:Name="ToggleSwitchAutoUploadNotes"
Header="自动上传PNG笔记"
Header="自动上传笔记"
FontSize="14"
Foreground="{StaticResource TextForeground}"
Toggled="ToggleSwitchAutoUploadNotes_Toggled">
</ui:ToggleSwitch>
<TextBlock Text="启用后,保存的PNG截图将自动上传到所选班级的白板。"
<TextBlock Text="启用后,保存的PNG截图和ICSTK墨迹文件将自动上传到所选班级的白板。"
FontSize="12"
Foreground="{StaticResource TextSecondary}"
TextWrapping="Wrap"