Skip to content

Comments

feat(Upload/WebDav):迁移Dlass并添加WebDav管理#381

Merged
CJKmkp merged 12 commits intobetafrom
feat/upload/WebDav
Feb 24, 2026
Merged

feat(Upload/WebDav):迁移Dlass并添加WebDav管理#381
CJKmkp merged 12 commits intobetafrom
feat/upload/WebDav

Conversation

@doudou0720
Copy link
Collaborator

@doudou0720 doudou0720 commented Feb 23, 2026

Close #63

使用Openlist测试


发布说明

  • 新增功能

    • 添加 WebDAV 云存储支持(提供者、上传器、队列)与设置项
    • 引入 WebDAV 上传队列并支持恢复、并发上传与重试
  • 改进

    • 上传流程全面支持可取消操作(CancellationToken)
    • 上传前校验文件存在与可读,支持可配置延迟与多提供商并行尝试
    • 多页笔记导出改为逐页保存并异步上传
    • 云存储设置界面改为选项卡式,标签与按钮文本更新为“云存储管理”

Summary by CodeRabbit

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

@doudou0720 doudou0720 self-assigned this Feb 23, 2026
@doudou0720
Copy link
Collaborator Author

Note

测试WebDav账户应当有管理WebDav权限

Caution

该修改未经过广泛测试!

- 新增UploadSettings类用于管理上传通用设置
- 重构上传逻辑,将延迟上传功能移至UploadHelper
- 在Dlass设置窗口添加通用设置标签页
- 支持多上传提供者管理及取消操作
- 增强文件上传前的验证和错误处理

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
- 新增WebDavUploader工具类实现文件上传功能
- 添加WebDavUploadProvider作为上传提供者
- 在设置界面增加WebDav配置选项
- 添加WebDav.Client NuGet包依赖

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
- 修改Dlass标签页检测逻辑,使用Tag属性替代Header
- 限制WebDav上传队列的批量处理大小
- 移除多处上传延迟逻辑,统一在通用设置中配置
- 更新Dlass设置界面提示文本

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
重构上传队列系统,引入BaseUploadQueue基类实现通用队列管理逻辑,创建UploadQueueHelper统一管理所有上传队列。将DlassUploadQueue和WebDavUploadQueue重构为继承自BaseUploadQueue的具体实现,简化代码并提高可维护性。修改MainWindow初始化代码以使用新的统一初始化方法。

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
@doudou0720 doudou0720 force-pushed the feat/upload/WebDav branch 2 times, most recently from e2e28ad to 32d4062 Compare February 24, 2026 04:53
doudou0720 and others added 4 commits February 24, 2026 13:21
- 将上传队列改为可释放资源,实现IDisposable接口
- 移除硬编码的文件验证逻辑,改为可重写方法
- 改进API客户端,支持取消操作和更好的资源管理
- 优化队列初始化流程,增加错误处理
- 统一上传提供者的队列注册方式
- 改进日志记录和错误信息

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
优化WebDav上传逻辑,增加目录创建重试机制

Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
将直接设置全选复选框状态的逻辑拆分为两步,先计算所有分类复选框状态,再更新全选复选框,提高代码可读性

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

@CJKmkp CJKmkp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all right

@CJKmkp CJKmkp merged commit 0ad74d9 into beta Feb 24, 2026
1 check passed
@doudou0720 doudou0720 deleted the feat/upload/WebDav branch February 24, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] 支持通过 Webdav 上传自动保存的笔记、截图

2 participants