fix: align AI retouch template rules
This commit is contained in:
+12
-4
@@ -90,7 +90,8 @@ final class TravelAlbumAIRetouchTemplateViewModel {
|
||||
case .refined, .atmosphere:
|
||||
return 1
|
||||
case .all:
|
||||
return 1 + (selectedAtmosphereTemplateId == nil ? 0 : 1)
|
||||
return (selectedRefinedTemplateId == nil ? 0 : 1)
|
||||
+ (selectedAtmosphereTemplateId == nil ? 0 : 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -109,6 +110,11 @@ final class TravelAlbumAIRetouchTemplateViewModel {
|
||||
return unavailableMessage(for: category)
|
||||
}
|
||||
}
|
||||
if case .reretouch(_, _, .all) = workflow,
|
||||
selectedRefinedTemplateId == nil,
|
||||
selectedAtmosphereTemplateId == nil {
|
||||
return "请至少选择一个修图模板"
|
||||
}
|
||||
guard let remainingQuota else {
|
||||
return "剩余修图次数获取失败,请刷新后重试"
|
||||
}
|
||||
@@ -146,7 +152,9 @@ final class TravelAlbumAIRetouchTemplateViewModel {
|
||||
atmosphereTemplates = response.atmosphereTemplates
|
||||
coverTemplates = response.coverTemplates
|
||||
remainingQuota = response.remainingQuota
|
||||
selectedRefinedTemplateId = visibleCategories.contains(.refined) ? refinedTemplates.first?.id : nil
|
||||
selectedRefinedTemplateId = visibleCategories.contains(.refined) && !isOptional(.refined)
|
||||
? refinedTemplates.first?.id
|
||||
: nil
|
||||
selectedAtmosphereTemplateId = visibleCategories.contains(.atmosphere) && !isOptional(.atmosphere)
|
||||
? atmosphereTemplates.first?.id
|
||||
: nil
|
||||
@@ -188,14 +196,14 @@ final class TravelAlbumAIRetouchTemplateViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
/// 选择模板;仅选填分组允许再次点击取消,必选分组保持单选。
|
||||
/// 选择模板;选填分组允许再次点击取消,必选分组保持单选。
|
||||
func toggleTemplate(id: Int, category: TravelAlbumAIRetouchTemplateCategory) {
|
||||
guard visibleCategories.contains(category),
|
||||
templates(for: category).contains(where: { $0.id == id })
|
||||
else { return }
|
||||
switch category {
|
||||
case .refined:
|
||||
selectedRefinedTemplateId = id
|
||||
selectedRefinedTemplateId = isOptional(category) && selectedRefinedTemplateId == id ? nil : id
|
||||
case .atmosphere:
|
||||
selectedAtmosphereTemplateId = isOptional(category) && selectedAtmosphereTemplateId == id ? nil : id
|
||||
case .cover:
|
||||
|
||||
Reference in New Issue
Block a user