重构: App拆分10域文件+并发安全+结构化日志+依赖升级
This commit is contained in:
+55
-2
@@ -2,9 +2,62 @@
|
||||
|
||||
> 本文档记录所有技术细节,包括代码重构、构建优化等内部改动
|
||||
|
||||
## [0.5.0] - 2026-05-01 (fs-only-v3)
|
||||
## [0.4.1] - 2026-05-01 ~ 05-16 (fs-only-v3)
|
||||
|
||||
### Wails v3 迁移 🏗️
|
||||
---
|
||||
|
||||
### 2026-05-16 增量更新
|
||||
|
||||
#### App 结构体拆分 🏗️
|
||||
|
||||
app.go 从 1281 行拆为 10 个域文件:
|
||||
|
||||
| 文件 | 方法数 | 职责 |
|
||||
|------|--------|------|
|
||||
| `app.go` | 5 | 结构体定义、生命周期、请求类型 |
|
||||
| `app_config.go` | 12 | 配置管理、BGM、Profile CRUD |
|
||||
| `app_filesystem.go` | 23 | 文件操作、回收站、文件监听 |
|
||||
| `app_sftp.go` | 17 | SFTP 连接管理 |
|
||||
| `app_oss.go` | 17 | OSS 对象存储 |
|
||||
| `app_window.go` | 8 | 窗口控制 |
|
||||
| `app_system.go` | 7 | 系统信息 |
|
||||
| `app_update.go` | 11 | 版本更新管理 |
|
||||
| `app_pdf.go` | 2 | PDF 导出 |
|
||||
| `app_windows.go` | 4 | Windows 平台专用(`//go:build windows`) |
|
||||
|
||||
#### 结构化日志 📝
|
||||
|
||||
`fmt.Print*` → `log/slog`(45 处):app.go、filesystem/service.go、storage/download_cache.go
|
||||
|
||||
#### Bug 修复 🐛
|
||||
|
||||
- **预览状态级联失败**: `clearContent()` 未重置 `isBinaryFile`,模板 `v-if` 链被阻断 → 加 `isBinaryFile.value = false`
|
||||
- **Tab 切换状态不同步**: `activateTab` 未更新 `filePath` → 加 `getParentPath` + `loadDirectory`
|
||||
- **AsyncCodeEditor 永久死亡**: `defineAsyncComponent` 无 `onError` → 添加重试(限 2 次)
|
||||
- **FileLock 误创建文件**: `O_RDWR|O_CREAT` → `O_RDWR`,`mode 0666` → `0`
|
||||
- **OSS 目录重命名**: `c.Delete()` 返回值未检查,目录标记删除添加容错
|
||||
|
||||
#### 并发安全 🔒
|
||||
|
||||
- **RecycleBin**: 所有公开方法添加 `sync.Mutex`,`ListEntries()` 返回深拷贝副本
|
||||
|
||||
#### 缓存优化 📦
|
||||
|
||||
- **contentDetectCache**: 添加 200 条上限,超限全量清空
|
||||
|
||||
#### 依赖升级 ⬆️
|
||||
|
||||
Wails alpha.80→alpha.92, echo v4.15.1→v4.15.2, go-sqlite v1.22, modernc/sqlite v1.50, go-git v5.19
|
||||
|
||||
#### 代码审查 (15/17 修复)
|
||||
|
||||
🔴 构建标签 · 死参数 · 重复逻辑 · 并发锁 | 🟡 错误处理 · 方法归属 · 日志 | ⚪ 注释 · 去重
|
||||
|
||||
**暂不处理**: ⚪⑬ fallback 路径 · ⚪⑯ ensure 风格 · ⚪⑰ ensure 模式
|
||||
|
||||
---
|
||||
|
||||
### 2026-05-01 Wails v3 迁移
|
||||
|
||||
#### 框架升级
|
||||
- **Wails v2.12 → v3 alpha.80**: 全面迁移至 Wails v3 架构
|
||||
|
||||
Reference in New Issue
Block a user