SynthReel/SynthReel/Class/Home/M/SRHomeModuleItem.swift
2025-11-26 16:55:40 +08:00

58 lines
1.6 KiB
Swift

//
// SRHomeModuleItem.swift
// SynthReel
//
// Created by on 2025/11/14.
// Copyright © 2025 SR. All rights reserved.
//
import UIKit
import SmartCodable
class SRHomeModuleItem: NSObject, SmartCodable {
required override init() { }
enum ModuleKey: String, SmartCaseDefaultable {
case banner = "home_banner"
///
case detailsRecommand = "get_details_recommand"
case popular = "home_v3_recommand"
case updates = "week_ranking"
case bingeWorthy = "week_highest_recommend"
case viralHits = "highest_payment_hot_video"
case premiereNow = "new_recommand"
case catetoryList = "category_navigation"
}
var title: String?
var module_key: ModuleKey?
var list: [SRShortModel] = []
@SmartAny
var data: Any?
func didFinishMapping() {
if let data = data as? [[String : Any]] {
self.list = [SRShortModel].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 = [SRShortModel].deserialize(from: dataList) ?? []
}
}
}
}