// // TravelAlbumPreviewActionHandler.swift // suixinkan // import Foundation /// 图片预览页业务操作实现,负责将底部操作转发到旅拍相册服务。 final class TravelAlbumPreviewActionHandler: TravelAlbumPreviewActionHandling { private let api: any TravelAlbumServing /// 使用旅拍相册服务创建操作处理器。 init(api: any TravelAlbumServing) { self.api = api } /// 调用素材删除接口,仅在服务端确认成功后返回成功结果。 func deleteProject(originalMaterialId: Int) async -> TravelAlbumPreviewActionResult { do { try await api.deleteMaterial(id: originalMaterialId) return .success("删除成功") } catch is CancellationError { return .failure("删除已取消") } catch { let message = error.localizedDescription.trimmingCharacters(in: .whitespacesAndNewlines) return .failure(message.isEmpty ? "删除失败" : message) } } }