v0.2.4
🎉 Dasktop v0.2.4
Dasktop v0.2.4 是一次偏架构、稳定性和维护性的优化版本:重点重整 Tauri 后端分层、Windows Shell 底层适配、文件传输流程和桌面扫描缓存,让 Box 的文件操作、系统图标收纳、托盘生命周期和原生拖放链路更清晰、更稳定,也为后续功能迭代减少重复代码和隐藏风险。
✨ 核心更新
- 后端分层重构:按
commands、domain、services、infrastructure重新整理 Rust 后端结构,命令层更薄,业务编排和底层适配边界更清楚 - Windows 适配拆分:拆分原生拖放、Shell 文件操作、右键菜单、系统桌面图标、Shell 虚拟项和图标解析逻辑,减少巨型文件和跨职责代码
- 领域契约收口:集中整理应用事件、桌面策略、剪贴板操作、数据库字段和文件系统常量,减少魔法值散落
- 文件传输流程优化:将 copy、move、map、skip、rename、replace、回滚和备份等流程拆分到更清晰的传输计划与执行模块
🧩 结构优化
- 命令层更轻量:Tauri 命令入口只负责参数转换和调用服务,复杂业务逻辑下沉到服务层
- 桌面服务更聚焦:拆分 Box 文件夹扫描、revision、展示模型构建、文件操作目标解析和 Shell 图标服务
- 应用生命周期拆分:托盘自启状态同步、设置窗口显示和退出前系统桌面图标恢复逻辑独立维护
- Box 文件夹能力收口:真实收纳目录校验、路径命名、拖入处理和删除策略按职责拆分,降低后续改动成本
⚡ 性能优化
- 扫描缓存流程优化:Box 文件扫描复用未变化项目的展示模型和 Shell 图标,减少重复解析
- 排序缓存键优化:桌面文件排序使用缓存 key,避免刷新比较时反复分配小写字符串
- 路径转换复用:统一路径展示和 Windows UTF-16 转换工具,减少重复
to_string_lossy中转 - HDROP 读写复用:剪贴板和原生拖放共用 HDROP 文件列表解析与写入逻辑,减少重复 Windows 协议处理
🛡️ 稳定性优化
- Shell 资源释放收口:统一释放 COM 分配内存、PIDL、STGMEDIUM 和未被剪贴板接管的 HGLOBAL,降低底层资源泄漏风险
- Shell 文件操作框架统一:回收站删除和 Explorer 感知的文件移动复用同一套
SHFileOperationW执行框架 - 原生拖放状态管理优化:收敛 DropTarget 回调中的状态写入和 unsafe 范围,减少拖放边界问题
- 桌面路径边界校验:删除 Box 并迁回桌面内容时显式校验桌面路径,避免系统路径异常导致文件处理不清晰
🐛 问题修复
- 修复 Shell 虚拟项和系统桌面图标重复维护 ID 与 CLSID 映射的问题,改为复用统一目录清单
- 修复删除 Box 并迁回桌面内容时未显式校验桌面路径类型的边界问题
- 修复剪贴板写入失败时部分全局内存可能未释放的风险
- 修复多个 Windows 底层模块各自维护 Shell 返回内存释放逻辑,容易遗漏释放边界的问题
⚠️ 版本说明
v0.2.4 继续沿用真实文件夹 Box 模型,不引入新的数据迁移或旧模型兼容分支。本版本主要是后端结构、Windows 底层适配、文件操作稳定性和维护性优化,用户侧使用方式保持不变。
🔒 安全提示
- 删除 Box 仍会按当前删除策略处理对应的真实收纳文件夹,请在删除前确认策略和需要保留的内容
- Box 文件项右键菜单、打开方式、删除到回收站和剪贴板操作仍由 Windows Shell 接管,不改变原生文件操作习惯
- 系统桌面图标收纳保存的是引用关系,退出 Dasktop 时会按接管前状态恢复原生桌面图标显示
📦 安装说明
提供两种安装包格式:
- Dasktop_0.2.4_x64-setup.exe:NSIS 安装程序,推荐大多数用户使用
- Dasktop_0.2.4_x64_zh-CN.msi:MSI 安装程序,适合企业环境或需要静默安装的场景
下载对应的安装包并运行即可