BeeReel/BeeReel/Class/Home/Model/BRHomeModuleItem.swift
2025-06-30 18:18:27 +08:00

68 lines
1.7 KiB
Swift

//
// BRHomeModuleItem.swift
// BeeReel
//
// Created by on 2025/6/26.
//
import UIKit
import SmartCodable
class BRHomeModuleItem: BRModel, SmartCodable {
enum ModuleKey: String, SmartCaseDefaultable {
case banner = "home_banner"
case v3_recommand = "home_v3_recommand"
///
case cagetory_recommand = "home_cagetory_recommand"
case week_ranking = "week_ranking"
///
case marquee = "marquee"
case new_recommand = "new_recommand"
}
var module_key: ModuleKey?
var title: String?
var list: [BRShortModel]?
// var categoryList: [VPCategoryModel]?
@SmartAny
var data: Any?
@IgnoredKey
var iconImage: UIImage?
@IgnoredKey
var br_cellHeight: CGFloat?
func didFinishMapping() {
if let data = data as? [[String : Any]] {
// if module_key == .category_navigation {
// self.categoryList = [VPCategoryModel].deserialize(from: data)
// } else {
// }
self.list = [BRShortModel].deserialize(from: data)
} else if let data = data as? [String : Any] {
var dataList: [[String : Any]]?
if let list = data["list"] as? [[String : Any]] {
self.title = data["title"] as? String
dataList = list
} else if let list = data["shortPlayList"] as? [[String : Any]] {
self.title = data["category_name"] as? String
dataList = list
}
if let dataList = dataList {
self.list = [BRShortModel].deserialize(from: dataList)
}
}
}
}