Files
u-desk/README.md
T

80 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)