lxy d211365856 修复: 连接回退池校验与进度重试累计等四处
- connect 失败回退目标校验仍在池中,防幻影本地列表
- SFTP 下载/上传进度跨重试累计,重试入口重置基线
- OSS 签名 base64 改标准字母表,URL 字母表致校验必败
- 剪切粘贴同目录 no-op 清剪贴板,防源文件被改名副本
2026-09-15 23:26:06 +08:00
2026-05-16 20:46:14 +08:00

U-Desk

桌面文件管理器,基于 Wails v3 (Go + Vue 3)。

功能

  • 本地文件管理: 浏览、编辑、重命名、删除、回收站
  • SFTP 远程连接: SSH 密钥/密码认证,文件上传下载
  • 云 OSS 存储: 七牛云/阿里云,多桶浏览
  • 多格式预览: 图片/视频/音频/PDF/Office/HTML
  • Markdown 编辑器: 实时预览、Mermaid 图表、语法高亮
  • 收藏夹管理: 折叠/展开、拖拽排序、置顶
  • BGM 播放: 音频播放列表、全局热键 Ctrl+Shift+B
  • PDF 导出: Markdown/HTML 导出为 PDF
  • 版本更新检查: 自动检测新版本
  • 主题切换: 亮色/暗色

技术栈

层 技术
桌面框架 Wails v3 (alpha.82)
后端 Go 1.24
前端 Vue 3 + TypeScript
UI 组件库 Arco Design Vue
编辑器 CodeMirror 6
构建 Vite 7 + Taskfile
数据库 SQLite (配置/历史)
文件服务 内置 HTTP 文件服务器 (端口 2652)

项目结构

├── main.go              # 入口:窗口配置、中间件
├── app.go               # App 结构体定义、生命周期、请求类型
├── app_*.go             # 按功能域拆分(config/sftp/oss/...)
├── internal/
│   ├── api/             # Wails 绑定 API 层
│   ├── filesystem/      # 文件系统服务 + HTTP 文件服务器
│   ├── ossdrv/          # OSS 驱动(七牛/阿里云)
│   ├── sftp/            # SFTP 客户端
│   ├── storage/         # SQLite 存储
│   └── service/         # 业务服务
├── frontend/
│   └── src/
│       ├── components/FileSystem/  # 文件管理主组件
│       ├── api/                    # 后端调用封装
│       ├── composables/            # Vue Composables
│       └── stores/                 # Pinia 状态管理
├── build/               # 构建配置(跨平台)
└── configs/             # 运行时配置

开发

# 启动开发模式
wails3 dev

# 生产构建
wails3 build

构建标签

  • production — 生产模式,使用嵌入的 frontend dist
  • devtools — 在生产构建中保留 DevTools

快捷键

快捷键 功能
Ctrl+B 切换侧边栏
Ctrl+Shift+B BGM 播放栏
F11 全屏预览

版本历史

详见 CHANGELOG.md | 内部技术细节见 CHANGELOG.internal.md

S
Description
No description provided
Readme
9.7 MiB
Languages
Go 41%
Vue 28.7%
TypeScript 21%
JavaScript 5%
Java 1.8%
Other 2.4%