移除 Core 层 OTG 相机实现,保留旅拍有线传图 UI 与本地照片上传能力。

将本地存储与上传编排下沉到 Features/TravelAlbum,删除 USB/PTP 相关代码与测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-06 10:55:40 +08:00
parent a0549e068a
commit d7fec35715
42 changed files with 187 additions and 5278 deletions

View File

@ -53,7 +53,7 @@ SpecifyUploadBottomSheet # 指定上传选项弹层
## 有线传图交互流程
1. **刷新**:顶部连接区「刷新」按钮 → `refreshCameraFiles()`同步相机历史文件
1. **刷新**:顶部连接区「刷新」按钮 → `refreshCameraFiles()`刷新本地持久化记录
2. **批量上传三态**
- 首次点击 → 进入勾选模式
- 有选中项 → 上传选中照片
@ -69,7 +69,7 @@ SpecifyUploadBottomSheet # 指定上传选项弹层
## 业务流程
1. 创建任务:`POST .../travel-album/create`
2. 进入有线传图:Sony/Canon USB 有线传图(`Core/CameraTethering`,自动识别品牌
2. 进入有线传图:有线传图 UI 页USB/OTG 相机连接能力已移除,保留页面与本地照片上传
3. OSS 上传:复用 `OSSUploadService.uploadAlbumFile`
4. 素材登记:`POST .../travel-album/upload-material`
5. 本地照片路径以账号 + 相册 scoped 目录持久化(如 `CameraDownloads/<accountKey>/<albumID>/originals/xxx.JPG`),该功能未上线,不兼容旧版全局目录记录
@ -83,18 +83,18 @@ SpecifyUploadBottomSheet # 指定上传选项弹层
## 解耦关系
- `CameraTransferPipeline` 只依赖 `CameraAssetUploadSink` 协议
- `WiredCameraTransferPipeline` 只依赖 `CameraAssetUploadSink` 协议
- `TravelAlbumMaterialUploader` 实现 OSS + 后端登记
- 与「相册管理」(`Features/Assets`API、Store、路由完全隔离
## 依赖模块
- `Core/CameraTethering` — USB/PTP 相机
- `Core/CameraTransfer` — 传输编排
- `Features/TravelAlbum/Services` — 本地存储、上传编排
- `Core/Upload` — OSS STS 上传
## 二期待补齐
- RAW 预览
- 格式 Chip 扩展 RAW / JPEG+RAW并与 `CameraTransferPipeline` 联动
- USB/OTG 相机有线连接与边拍边传
- 格式 Chip 扩展 RAW / JPEG+RAW并与 `WiredCameraTransferPipeline` 联动
- 设备存储不足时的业务侧限制(当前仅 UI 提示弹窗)