重构: App拆分10域文件+并发安全+结构化日志+依赖升级

This commit is contained in:
lxy
2026-05-16 20:45:14 +08:00
parent d17c20c579
commit 767311fc04
27 changed files with 1457 additions and 1218 deletions
+35 -30
View File
@@ -4,52 +4,57 @@
## 功能
- 文件浏览 / 编辑 / 预览(文本、Markdown、图片、Office、PDF)
- 收藏夹管理(折叠/展开、拖拽排序、置顶)
- Markdown 编辑器(实时预览、语法高亮、Mermaid 图表)
- 远程文件服务器连接
- 主题切换(亮色/暗色)
- 版本更新检查
- **本地文件管理**: 浏览、编辑、重命名、删除、回收站
- **SFTP 远程连接**: SSH 密钥/密码认证,文件上传下载
- **云 OSS 存储**: 七牛云/阿里云,多桶浏览
- **多格式预览**: 图片/视频/音频/PDF/Office/HTML
- **Markdown 编辑器**: 实时预览、Mermaid 图表、语法高亮
- **收藏夹管理**: 折叠/展开、拖拽排序、置顶
- **BGM 播放**: 音频播放列表、全局热键 Ctrl+Shift+B
- **PDF 导出**: Markdown/HTML 导出为 PDF
- **版本更新检查**: 自动检测新版本
- **主题切换**: 亮色/暗色
## 技术栈
| 层 | 技术 |
|---|------|
| 桌面框架 | Wails v3 (alpha.80) |
| 后端 | Go 1.22+ |
| 桌面框架 | Wails v3 (alpha.82) |
| 后端 | Go 1.24 |
| 前端 | Vue 3 + TypeScript |
| UI 组件库 | Arco Design Vue |
| 编辑器 | CodeMirror 6 |
| 构建 | Vite 7 + Taskfile |
| 数据库 | SQLite (配置/历史) |
| 文件服务 | 内置 HTTP 文件服务器 (端口 2652) |
## 项目结构
```
├── main.go # 入口:窗口配置、中间件、DevTools
├── app.go # 应用逻辑:文件系统、更新检查等
├── internal/ # 内部模块
│ ├── filesystem/ # 文件操作、锁、预览服务
│ └── api/ # API 处理器
├── frontend/ # 前端代码 (Vue 3)
│ ├── src/
│ │ ├── components/FileSystem/ # 文件管理主组件
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── api/ # 后端调用封装
│ │ └── utils/ # 工具函数
│ └── vite.config.js
├── 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/ # 构建配置(跨平台)
│ ├── config.yml # Wails 项目配置
│ └── windows/ # Windows 构建脚本
└── configs/ # 运行时配置
```
## 开发
```bash
# 安装依赖
wails3 task common:install:frontend:deps
# 启动开发模式(热重载)
# 启动开发模式
wails3 dev
# 生产构建
@@ -59,16 +64,16 @@ wails3 build
### 构建标签
- `production` — 生产模式,使用嵌入的 frontend dist
- `devtools` — 在生产构建中保留 DevTools(F12)
- `devtools` — 在生产构建中保留 DevTools
## 快捷键
| 快捷键 | 功能 |
|--------|------|
| Ctrl+B | 切换侧边栏 |
| Ctrl+H | 历史记录 |
| Ctrl+F | 聚焦搜索 |
| Ctrl+Shift+B | BGM 播放栏 |
| F11 | 全屏预览 |
## 版本历史
详见 [CHANGELOG.md](./CHANGELOG.md)
详见 [CHANGELOG.md](./CHANGELOG.md) | 内部技术细节见 [CHANGELOG.internal.md](./CHANGELOG.internal.md)