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

View File

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