fix: 优化相册素材状态与删除保护

This commit is contained in:
2026-08-17 16:04:03 +08:00
parent b127495e52
commit c34c4e1923
6 changed files with 254 additions and 81 deletions
@@ -224,7 +224,7 @@ struct TravelAlbumMaterial: Decodable, Sendable, Equatable, Hashable, Identifiab
}
}
/// 相册素材网格角标类别,用于稳定映射文案优先级和语义颜色。
/// 相册素材网格角标类别,用于稳定映射独立业务状态和语义颜色。
enum TravelAlbumMaterialBadgeKind: Sendable, Equatable {
case purchased
case pending
@@ -241,14 +241,15 @@ struct TravelAlbumMaterialBadgePresentation: Sendable, Equatable {
}
extension TravelAlbumMaterial {
/// 按 AI 修图状态和购买状态生成网格角标;返回 nil 时隐藏角标。
var badgePresentation: TravelAlbumMaterialBadgePresentation? {
if aiRetouchStatus == 0 {
return isPurchased
? TravelAlbumMaterialBadgePresentation(kind: .purchased, text: "已购")
: nil
}
/// 生成购买状态角标;购买状态与修图状态互不覆盖。
var purchaseBadgePresentation: TravelAlbumMaterialBadgePresentation? {
isPurchased
? TravelAlbumMaterialBadgePresentation(kind: .purchased, text: "已购")
: nil
}
/// 生成 AI 修图状态角标;未进入修图流程时返回 nil。
var aiRetouchBadgePresentation: TravelAlbumMaterialBadgePresentation? {
let statusName = aiRetouchStatusName.trimmingCharacters(in: .whitespacesAndNewlines)
switch aiRetouchStatus {
case 1: