From 7aea7b15353e66aaea7087a6b23b237c19a8509a Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 19 Aug 2025 19:33:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 123932 -> 125554 bytes wake/View/Components/Upload/Avatar.swift | 190 ++++++------------ .../Upload/ImageUploadService.swift | 166 +++++++++++++++ .../Components/Upload/ImageUploader.swift | 0 .../Upload/ImageUploaderGetID.swift | 46 +++-- 5 files changed, 267 insertions(+), 135 deletions(-) create mode 100644 wake/View/Components/Upload/ImageUploadService.swift delete mode 100644 wake/View/Components/Upload/ImageUploader.swift diff --git a/wake.xcodeproj/project.xcworkspace/xcuserdata/elliwood.xcuserdatad/UserInterfaceState.xcuserstate b/wake.xcodeproj/project.xcworkspace/xcuserdata/elliwood.xcuserdatad/UserInterfaceState.xcuserstate index 314d4094bc754946893562356171be1194727983..64481b2eb953bf6ecc034cc0bf342998c74ab9b0 100644 GIT binary patch literal 125554 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

>ZJx!yVr}pL1D`(`` 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 -> Void)? - var onUploadProgress: ((UploadProgress) -> Void)? + var onImageUploaded: ((Result) -> Void)? + var onUploadProgress: ((ImageUploadService.UploadProgress) -> Void)? + @Environment(\.presentationMode) private var presentationMode // MARK: - Initialization + init(selectedImages: Binding<[UIImage]>, selectionLimit: Int = 1, filter: PHPickerFilter = .images, - onImageUploaded: ((Result) -> Void)? = nil, - onUploadProgress: ((UploadProgress) -> Void)? = nil) { + onImageUploaded: ((Result) -> Void)? = nil, + onUploadProgress: ((ImageUploadService.UploadProgress) -> Void)? = nil) { self._selectedImages = selectedImages self.selectionLimit = selectionLimit self.filter = filter @@ -55,6 +29,7 @@ struct PhotoPicker: UIViewControllerRepresentable { } // MARK: - UIViewControllerRepresentable + func makeUIViewController(context: Context) -> PHPickerViewController { var configuration = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared()) configuration.filter = filter @@ -73,109 +48,77 @@ struct PhotoPicker: UIViewControllerRepresentable { } // MARK: - Coordinator + class Coordinator: NSObject, PHPickerViewControllerDelegate { let parent: PhotoPicker - private let uploader = ImageUploaderGetID() + private let uploadService = ImageUploadService.shared init(_ parent: PhotoPicker) { self.parent = parent } func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { + guard !results.isEmpty else { + parent.presentationMode.wrappedValue.dismiss() + return + } + parent.selectedImages.removeAll() let group = DispatchGroup() - var loadedImages: [Int: UIImage] = [:] - var uploadResults: [Int: (original: ImageUploaderGetID.UploadResult?, - compressed: ImageUploaderGetID.UploadResult?)] = [:] + var loadedImages: [Int: UIImage] = [:] + var uploadResults: [Int: ImageUploadService.UploadResults] = [:] + var lastError: Error? for (index, result) in results.enumerated() { group.enter() if result.itemProvider.canLoadObject(ofClass: UIImage.self) { - result.itemProvider.loadObject(ofClass: UIImage.self) { [weak self] (image, error) in - guard let self = self, let image = image as? UIImage else { + result.itemProvider.loadObject(ofClass: UIImage.self) { (image, error) in + if let error = error { + lastError = error + group.leave() + return + } + + guard let image = image as? UIImage else { + lastError = NSError(domain: "com.wake.upload", code: -2, userInfo: [NSLocalizedDescriptionKey: "Failed to load image"]) group.leave() return } loadedImages[index] = image - guard let compressedImage = image.jpegData(compressionQuality: 0.5).flatMap(UIImage.init(data:)) else { - group.leave() - return - } - - self.uploader.uploadImage( + // Upload the image + self.uploadService.uploadOriginalAndCompressedImage( image, - progress: { [weak self] progress in - let progressInfo = UploadProgress( - current: Int(progress * 100), - total: 100, - progress: progress, - isOriginal: true - ) + compressionQuality: 0.5, + progress: { progress in DispatchQueue.main.async { - self?.parent.onUploadProgress?(progressInfo) + self.parent.onUploadProgress?(progress) } - print("📤 原图上传进度: \(Int(progress * 100))%") }, - completion: { [weak self] originalResult in - guard let self = self else { - group.leave() - return - } + completion: { result in + defer { group.leave() } - switch originalResult { - case .success(let originalUploadResult): - self.uploader.uploadImage( - compressedImage, - progress: { [weak self] progress in - let progressInfo = UploadProgress( - current: Int(progress * 100), - total: 100, - progress: progress, - isOriginal: false - ) - DispatchQueue.main.async { - self?.parent.onUploadProgress?(progressInfo) - } - print("📊 压缩图上传进度: \(Int(progress * 100))%") - }, - completion: { compressedResult in - defer { group.leave() } - - switch compressedResult { - case .success(let compressedUploadResult): - uploadResults[index] = (originalUploadResult, compressedUploadResult) - print("✅ 原图和压缩图上传成功!") - print("📂 原图信息:") - print(" - 文件ID: \(originalUploadResult.fileId)") - print(" - 文件大小: \(originalUploadResult.fileSize) 字节") - print("📦 压缩图信息:") - print(" - 文件ID: \(compressedUploadResult.fileId)") - print(" - 文件大小: \(compressedUploadResult.fileSize) 字节") - - MaterialService.shared.uploadMaterialInfo( - fileId: originalUploadResult.fileId, - previewFileId: compressedUploadResult.fileId - ) { success, errorMessage in - if success { - print("✅ 文件信息上传成功 素材上传成功!!!!!") - } else if let errorMessage = errorMessage { - print("❌ 文件信息上传失败: \(errorMessage)") - } - } - - case .failure(let error): - print("❌ 压缩图上传失败: \(error.localizedDescription)") - uploadResults[index] = (originalUploadResult, nil) - } + switch result { + case .success(let results): + uploadResults[index] = results + + // Upload file info to backend + MaterialService.shared.uploadMaterialInfo( + fileId: results.original.fileId, + previewFileId: results.compressed.fileId + ) { success, errorMessage in + if success { + print("✅ 文件信息上传成功") + } else if let errorMessage = errorMessage { + print("❌ 文件信息上传失败: \(errorMessage)") } - ) + } case .failure(let error): - print("❌ 原图上传失败: \(error.localizedDescription)") - group.leave() + lastError = error + print("❌ 图片上传失败: \(error.localizedDescription)") } } ) @@ -188,23 +131,24 @@ struct PhotoPicker: UIViewControllerRepresentable { group.notify(queue: .main) { [weak self] in guard let self = self else { return } - let sortedImages = loadedImages.sorted { $0.key < $1.key }.map { $0.value } - self.parent.selectedImages.append(contentsOf: sortedImages) - - if let firstResult = uploadResults.first?.value, - let original = firstResult.original, - let compressed = firstResult.compressed { - let results = UploadResults(original: original, compressed: compressed) - self.parent.onImageUploaded?(.success(results)) + if let error = lastError { + self.parent.onImageUploaded?(.failure(error)) } else { - self.parent.onImageUploaded?(.failure(NSError( - domain: "com.wake.upload", - code: -1, - userInfo: [NSLocalizedDescriptionKey: "上传过程中出现错误"] - ))) + let sortedImages = loadedImages.sorted { $0.key < $1.key }.map { $0.value } + self.parent.selectedImages.append(contentsOf: sortedImages) + + if let firstResult = uploadResults.first?.value { + self.parent.onImageUploaded?(.success(firstResult)) + } else { + self.parent.onImageUploaded?(.failure(NSError( + domain: "com.wake.upload", + code: -1, + userInfo: [NSLocalizedDescriptionKey: "上传过程中出现错误"] + ))) + } } - picker.dismiss(animated: true) + self.parent.presentationMode.wrappedValue.dismiss() } } } @@ -216,7 +160,7 @@ struct PhotoPicker: UIViewControllerRepresentable { struct AvatarUploader: View { @Binding var selectedImage: UIImage? let size: CGFloat - var onUploadComplete: ((Result) -> Void)? + var onUploadComplete: ((Result) -> Void)? @State private var isImagePickerPresented = false @@ -260,7 +204,7 @@ struct AvatarUploader: View { onUploadComplete?(result) }, onUploadProgress: { progress in - print("上传进度:\(progress.current)/\(progress.total),进度:\(progress.progress * 100)%") + print("上传进度:\(progress.current)/\(progress.total),进度:\(Int(progress.progress * 100))%") } ) } diff --git a/wake/View/Components/Upload/ImageUploadService.swift b/wake/View/Components/Upload/ImageUploadService.swift new file mode 100644 index 0000000..085919a --- /dev/null +++ b/wake/View/Components/Upload/ImageUploadService.swift @@ -0,0 +1,166 @@ +import Foundation +import UIKit + +/// 图片上传服务,封装了图片上传和进度跟踪功能 +public class ImageUploadService { + + // MARK: - Shared Instance + + public static let shared = ImageUploadService() + + // MARK: - Properties + + private let uploader: ImageUploaderGetID + + // MARK: - Initialization + + public init(uploader: ImageUploaderGetID = ImageUploaderGetID()) { + self.uploader = uploader + } + + // MARK: - Public Methods + + /// 上传图片并返回上传结果 + /// - Parameters: + /// - image: 要上传的图片 + /// - progressHandler: 上传进度回调 (0.0 到 1.0) + /// - completion: 完成回调,返回上传结果或错误 + public func uploadImage( + _ image: UIImage, + progress progressHandler: @escaping (ImageUploadService.UploadProgress) -> Void, + completion: @escaping (Result) -> Void + ) { + uploader.uploadImage( + image, + progress: { progress in + let progressInfo = ImageUploadService.UploadProgress( + current: Int(progress * 100), + total: 100, + progress: progress, + isOriginal: true + ) + DispatchQueue.main.async { + progressHandler(progressInfo) + } + }, + completion: { result in + DispatchQueue.main.async { + completion(result) + } + } + ) + } + + /// 上传压缩图片并返回上传结果 + /// - Parameters: + /// - image: 要上传的图片 + /// - compressionQuality: 压缩质量 (0.0 到 1.0) + /// - progressHandler: 上传进度回调 (0.0 到 1.0) + /// - completion: 完成回调,返回上传结果或错误 + public func uploadCompressedImage( + _ image: UIImage, + compressionQuality: CGFloat = 0.5, + progress progressHandler: @escaping (ImageUploadService.UploadProgress) -> Void, + completion: @escaping (Result) -> Void + ) { + guard let compressedImage = image.jpegData(compressionQuality: compressionQuality).flatMap(UIImage.init(data:)) else { + completion(.failure(NSError(domain: "com.wake.upload", code: -1, userInfo: [NSLocalizedDescriptionKey: "图片压缩失败"]))) + return + } + + uploadImage( + compressedImage, + progress: progressHandler, + completion: completion + ) + } + + /// 上传原图和压缩图 + /// - Parameters: + /// - image: 原始图片 + /// - compressionQuality: 压缩质量 (0.0 到 1.0) + /// - progressHandler: 上传进度回调 + /// - completion: 完成回调,返回原始图和压缩图的上传结果 + public func uploadOriginalAndCompressedImage( + _ image: UIImage, + compressionQuality: CGFloat = 0.5, + progress progressHandler: @escaping (ImageUploadService.UploadProgress) -> Void, + completion: @escaping (Result) -> Void + ) { + // 上传原图 + uploadImage(image, progress: { progress in + let originalProgress = ImageUploadService.UploadProgress( + current: Int(progress.progress * 100), + total: 200, // 总进度为200(原图100 + 压缩图100) + progress: progress.progress * 0.5, // 原图占50% + isOriginal: true + ) + progressHandler(originalProgress) + }) { [weak self] originalResult in + guard let self = self else { return } + + switch originalResult { + case .success(let originalUploadResult): + // 原图上传成功,上传压缩图 + self.uploadCompressedImage( + image, + compressionQuality: compressionQuality, + progress: { progress in + let compressedProgress = ImageUploadService.UploadProgress( + current: 100 + Int(progress.progress * 100), // 从100开始 + total: 200, // 总进度为200(原图100 + 压缩图100) + progress: 0.5 + (progress.progress * 0.5), // 压缩图占后50% + isOriginal: false + ) + progressHandler(compressedProgress) + }, + completion: { compressedResult in + switch compressedResult { + case .success(let compressedUploadResult): + let results = ImageUploadService.UploadResults( + original: originalUploadResult, + compressed: compressedUploadResult + ) + completion(.success(results)) + + case .failure(let error): + completion(.failure(error)) + } + } + ) + + case .failure(let error): + completion(.failure(error)) + } + } + } + + // MARK: - Supporting Types + + /// 上传进度信息 + public struct UploadProgress { + public let current: Int + public let total: Int + public let progress: Double + public let isOriginal: Bool + + public init(current: Int, total: Int, progress: Double, isOriginal: Bool) { + self.current = current + self.total = total + self.progress = progress + self.isOriginal = isOriginal + } + } + + /// 上传结果,包含原图和压缩图的上传信息 + public struct UploadResults { + public let original: ImageUploaderGetID.UploadResult + public let compressed: ImageUploaderGetID.UploadResult + + public init(original: ImageUploaderGetID.UploadResult, + compressed: ImageUploaderGetID.UploadResult) { + self.original = original + self.compressed = compressed + } + } +} diff --git a/wake/View/Components/Upload/ImageUploader.swift b/wake/View/Components/Upload/ImageUploader.swift deleted file mode 100644 index e69de29..0000000 diff --git a/wake/View/Components/Upload/ImageUploaderGetID.swift b/wake/View/Components/Upload/ImageUploaderGetID.swift index 6eb056b..7699858 100644 --- a/wake/View/Components/Upload/ImageUploaderGetID.swift +++ b/wake/View/Components/Upload/ImageUploaderGetID.swift @@ -7,7 +7,7 @@ public class ImageUploaderGetID: ObservableObject { // MARK: - 类型定义 /// 上传结果 - public struct UploadResult { + public struct UploadResult: Codable { public let fileUrl: String public let fileName: String public let fileSize: Int @@ -29,6 +29,7 @@ public class ImageUploaderGetID: ObservableObject { case invalidResponse case uploadFailed(Error?) case invalidFileId + case invalidResponseData public var errorDescription: String? { switch self { @@ -44,6 +45,8 @@ public class ImageUploaderGetID: ObservableObject { return "上传失败: \(error?.localizedDescription ?? "未知错误")" case .invalidFileId: return "无效的文件ID" + case .invalidResponseData: + return "无效的响应数据" } } } @@ -197,8 +200,8 @@ public class ImageUploaderGetID: ObservableObject { /// 确认上传 private func confirmUpload(fileId: String, fileName: String, fileSize: Int, completion: @escaping (Result) -> Void) { - let urlString = "\(apiConfig.baseURL)/file/confirm-upload" - guard let url = URL(string: urlString) else { + let endpoint = "\(apiConfig.baseURL)/file/confirm-upload" + guard let url = URL(string: endpoint) else { completion(.failure(UploadError.invalidURL)) return } @@ -207,24 +210,39 @@ public class ImageUploaderGetID: ObservableObject { request.httpMethod = "POST" request.allHTTPHeaderFields = apiConfig.authHeaders - let requestBody: [String: Any] = ["file_id": fileId] + let body: [String: Any] = [ + "file_id": fileId, + "file_name": fileName, + "file_size": fileSize + ] do { - request.httpBody = try JSONSerialization.data(withJSONObject: requestBody) + request.httpBody = try JSONSerialization.data(withJSONObject: body) + print("📤 确认上传请求,fileId: \(fileId), 文件名: \(fileName)") } catch { + print("❌ 序列化确认上传参数失败: \(error.localizedDescription)") completion(.failure(error)) return } let task = session.dataTask(with: request) { data, response, error in if let error = error { + print("❌ 确认上传请求失败: \(error.localizedDescription)") completion(.failure(UploadError.uploadFailed(error))) return } - guard let httpResponse = response as? HTTPURLResponse, - (200...299).contains(httpResponse.statusCode) else { - completion(.failure(UploadError.serverError("确认上传失败,状态码: \((response as? HTTPURLResponse)?.statusCode ?? -1)"))) + guard let httpResponse = response as? HTTPURLResponse else { + print("❌ 无效的服务器响应") + completion(.failure(UploadError.invalidResponse)) + return + } + + guard (200...299).contains(httpResponse.statusCode) else { + let statusCode = httpResponse.statusCode + let errorMessage = "确认上传失败,状态码: \(statusCode)" + print("❌ \(errorMessage)") + completion(.failure(UploadError.serverError(errorMessage))) return } @@ -270,9 +288,13 @@ public class ImageUploaderGetID: ObservableObject { return } - guard let httpResponse = response as? HTTPURLResponse, - (200...299).contains(httpResponse.statusCode) else { - let statusCode = (response as? HTTPURLResponse)?.statusCode ?? -1 + guard let httpResponse = response as? HTTPURLResponse else { + completion(.failure(UploadError.invalidResponse)) + return + } + + guard httpResponse.statusCode >= 200 && httpResponse.statusCode < 300 else { + let statusCode = httpResponse.statusCode completion(.failure(UploadError.serverError("上传失败,状态码: \(statusCode)"))) return } @@ -293,7 +315,7 @@ public class ImageUploaderGetID: ObservableObject { task?.progress.cancel() } } else { - // Fallback for earlier iOS versions + // iOS 11 以下版本使用通知 var lastProgress: Double = 0 let timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { timer in let bytesSent = task.countOfBytesSent