对齐旅拍相册详情页 Android UI,并修复网格预览与布局问题。
重构相册详情为信息卡片、Tab 筛选、排序、批量删除与底部上传栏;修复网格重叠、禁用按钮蒙层,并支持点击预览大图。同步扩展素材列表 API 与 ViewModel 分页逻辑,并优化有线传图缩略图与传输性能。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -15,9 +15,29 @@
|
||||
| --- | --- |
|
||||
| `TravelAlbumEntryView` | 新增相册列表、新建任务入口;卡片主区域点击进入详情,底部保留「拍传」「相册码」 |
|
||||
| `CreateTravelAlbumSheet` | 先拍再买 / 买了再拍创建弹窗 |
|
||||
| `TravelAlbumDetailView` | 相册详情与素材管理 |
|
||||
| `TravelAlbumDetailView` | 相册详情与素材管理(UI 对齐 Android) |
|
||||
| `WiredCameraTransferView` | 有线传图页(UI 对齐 Android) |
|
||||
|
||||
## 相册详情 UI 结构
|
||||
|
||||
Android 对照:`zhiflyfollow/.../TravelAlbumDetailScreen.kt`
|
||||
|
||||
```
|
||||
TravelAlbumDetailInfoCard # 信息卡片:手机号 + 创建时间 + 拨号
|
||||
TravelAlbumDetailPhotoManageCard # 白卡片:Tab / 排序 / 批量选择 + 网格
|
||||
TravelAlbumDetailMaterialGridItem# 缩略图 + 已上传角标 + 文件名 + 大小
|
||||
BottomBar # 上传照片 + 条件删除选中
|
||||
```
|
||||
|
||||
## 相册详情交互流程
|
||||
|
||||
1. **Tab**:全部照片 / 已购照片,切换后重载素材列表
|
||||
2. **排序**:创建时间正序/倒序、文件名正序/倒序
|
||||
3. **批量删除**:仅在「全部照片」Tab 可选,且仅未购买素材可删
|
||||
4. **上传照片**:底部按钮进入 `WiredCameraTransferView`,返回后自动刷新
|
||||
5. **删除相册**:右上角更多菜单
|
||||
6. **图片预览**:非选择模式下点击网格项打开大图预览,可左右滑动浏览当前列表
|
||||
|
||||
## 有线传图 UI 结构
|
||||
|
||||
Android 对照:`zhiflyfollow/.../WiredCameraTransferScreen.kt`
|
||||
@ -50,6 +70,13 @@ SpecifyUploadBottomSheet # 指定上传选项弹层
|
||||
4. 素材登记:`POST .../travel-album/upload-material`
|
||||
5. 本地照片路径以相对 Documents 的路径持久化(如 `CameraDownloads/xxx.JPG`),加载时自动迁移旧版绝对路径
|
||||
|
||||
## 有线传图性能策略
|
||||
|
||||
- 本地下载原图只用于上传与大图预览;列表缩略图在后台下采样生成到 `CameraDownloads/Thumbnails/`,由 Kingfisher 统一加载与缓存。
|
||||
- 连拍上传进度采用节流通知,下载/上传关键状态立即刷新,普通进度合并后再更新 UI;边拍边传自动队列最多 3 张照片并发上传,避免滚动时高频触发整页重绘或网络资源被打满。
|
||||
- `WiredCameraTransferViewModel` 缓存当前 Tab、时间侧栏和 30 分钟分组;新增/删除/切换 Tab 才重建分组,单张进度变化只替换对应行数据。
|
||||
- 本地记录以相册和用户维度持久化,状态终态、路径变化立即保存,普通进度按步长或时间间隔降频保存。
|
||||
|
||||
## 解耦关系
|
||||
|
||||
- `CameraTransferPipeline` 只依赖 `CameraAssetUploadSink` 协议
|
||||
|
||||
Reference in New Issue
Block a user