0475d55bff4f06b6cfcb0ad9b5c9f2f4c2574449
- 切换连接统一switchConnection入口,删watcher与抑制机制 - 删除活跃服务器后回落本地并加载 - 侧边栏与指示器点击统一上抛,重复点击可刷新 - Wails事件解析归一,查重谓词抽公共 - 删空壳别名文件与过期文档截图
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 distdevtools— 在生产构建中保留 DevTools
快捷键
| 快捷键 | 功能 |
|---|---|
| Ctrl+B | 切换侧边栏 |
| Ctrl+Shift+B | BGM 播放栏 |
| F11 | 全屏预览 |
版本历史
详见 CHANGELOG.md | 内部技术细节见 CHANGELOG.internal.md
Languages
Go
41%
Vue
28.7%
TypeScript
21%
JavaScript
5%
Java
1.8%
Other
2.4%