# U-Desk 桌面文件管理器,基于 [Wails v3](https://v3.wails.io/) (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/ # 运行时配置 ``` ## 开发 ```bash # 启动开发模式 wails3 dev # 生产构建 wails3 build ``` ### 构建标签 - `production` — 生产模式,使用嵌入的 frontend dist - `devtools` — 在生产构建中保留 DevTools ## 快捷键 | 快捷键 | 功能 | |--------|------| | Ctrl+B | 切换侧边栏 | | Ctrl+Shift+B | BGM 播放栏 | | F11 | 全屏预览 | ## 版本历史 详见 [CHANGELOG.md](./CHANGELOG.md) | 内部技术细节见 [CHANGELOG.internal.md](./CHANGELOG.internal.md)