feat: 首次不上传问题

This commit is contained in:
jinyaqiu 2025-08-28 14:36:24 +08:00
parent 023a64b947
commit b3d0d026bf
2 changed files with 26 additions and 36 deletions

View File

@ -71,24 +71,20 @@ public class MediaUploadManager: ObservableObject {
!self.selectedMedia.contains { $0.id == newItem.id }
}
// 使
Task { [weak self] in
guard let self = self else { return }
var updatedMedia = self.selectedMedia
for item in newMedia {
updatedMedia.append(item)
self.uploadStatus[item.id] = .pending
}
self.selectedMedia = updatedMedia
//
if !newMedia.isEmpty, let firstMedia = newMedia.first, self.selectedMedia.count == newMedia.count {
NotificationCenter.default.post(
name: .didAddFirstMedia,
object: nil,
userInfo: ["media": firstMedia]
)
}
var updatedMedia = self.selectedMedia
for item in newMedia {
updatedMedia.append(item)
self.uploadStatus[item.id] = .pending
}
self.selectedMedia = updatedMedia
//
if !newMedia.isEmpty, let firstMedia = newMedia.first, self.selectedMedia.count == newMedia.count {
NotificationCenter.default.post(
name: .didAddFirstMedia,
object: nil,
userInfo: ["media": firstMedia]
)
}
}
@ -102,10 +98,8 @@ public class MediaUploadManager: ObservableObject {
///
public func clearAllMedia() {
Task { @MainActor in
self.selectedMedia.removeAll()
self.uploadStatus.removeAll()
}
selectedMedia.removeAll()
uploadStatus.removeAll()
}
///

View File

@ -165,27 +165,23 @@ struct MediaUploadView: View {
}
}
//
let newMedia = newItems + uploadManager.selectedMedia
print("📊 更新媒体列表 - 总数: \(newMedia.count) (新增: \(newItems.count), 原有: \(uploadManager.selectedMedia.count))")
// 1.
uploadManager.clearAllMedia()
print("🧹 已清空现有媒体列表")
uploadManager.addMedia(newMedia)
print("✅ 已添加新媒体到上传管理器")
// 2.
uploadManager.addMedia(newItems)
print("✅ 已添加 \(newItems.count) 个媒体项到上传管理器")
//
if selectedIndices.isEmpty {
// 3.
if selectedIndices.isEmpty, let firstItem = newItems.first {
selectedIndices = [0]
selectedMedia = newItems.first
print("👆 自动选择第一个新增的媒体项: \(selectedMedia?.id ?? "nil")")
} else {
print(" 保持当前选中的媒体项")
selectedMedia = firstItem
print("👆 自动选择第一个新增的媒体项: \(firstItem.id)")
}
//
print("🚀 开始上传新添加的媒体...")
// 4.
print("🚀 开始上传媒体...")
uploadManager.startUpload()
} else {
print(" 没有新的媒体项需要添加")