add:Dlass联动
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user