feat: add AI retouch task center

This commit is contained in:
2026-08-14 15:06:57 +08:00
parent 0f3b26991e
commit 30bfe0313f
26 changed files with 3679 additions and 50 deletions
@@ -23,7 +23,7 @@ final class TravelAlbumAIRetouchTemplateViewModel {
var onStateChange: (() -> Void)?
var onShowMessage: ((String) -> Void)?
var onSubmitted: (() -> Void)?
var onSubmitted: ((TravelAlbumAIJobSubmission) -> Void)?
/// 创建首次 AI 修图模板状态;素材 ID 会排序并去重,确保提交稳定。
convenience init(albumId: Int, scenicId: Int, materialIds: [Int]) {
@@ -217,13 +217,14 @@ final class TravelAlbumAIRetouchTemplateViewModel {
}
do {
let submission: TravelAlbumAIJobSubmission
switch workflow {
case .initial(let albumId, let materialIds):
guard let refinedTemplateId = selectedRefinedTemplateId else {
onShowMessage?("请选择原图精修模板")
return
}
try await api.submitAIRetouch(
submission = try await api.submitAIRetouch(
TravelAlbumAIRetouchRequest(
userEquityTravelId: albumId,
materialIds: materialIds,
@@ -233,7 +234,7 @@ final class TravelAlbumAIRetouchTemplateViewModel {
)
)
case .reretouch(let materialId, let batchId, let type):
try await api.submitAIReretouch(
submission = try await api.submitAIReretouch(
TravelAlbumAIReretouchRequest(
id: materialId,
aiRetouchBatchId: batchId,
@@ -243,7 +244,7 @@ final class TravelAlbumAIRetouchTemplateViewModel {
)
)
}
onSubmitted?()
onSubmitted?(submission)
} catch is CancellationError {
return
} catch {