// // SPHomeViewModel.swift // MoviaBox // // Created by Overseas on 2025/4/22. // import UIKit class SPHomeViewModel: NSObject { lazy var page = 1 lazy var dataArr: [SPShortModel] = [] ///模版数据 var moduleModel: SPHomeModuleModel? { didSet { updateContentArr() } } ///分类数据 ///甜宠 var categoryDataArr1: [SPShortModel] = [] { didSet { updateContentArr() } } ///虐恋 var categoryDataArr2: [SPShortModel] = [] { didSet { updateContentArr() } } ///历史记录 var playHistoryArr: [SPShortModel]? { didSet { updateContentArr() } } private(set) lazy var contentArr: [SPHomeContentModel] = [] private func updateContentArr() { contentArr.removeAll() if let list = moduleModel?.bannerData, list.count > 0 { let model = SPHomeContentModel() model.key = .banner model.list = list contentArr.append(model) } if let list = playHistoryArr, list.count > 0 { let model = SPHomeContentModel() model.key = .history model.list = list if contentArr.count > 0 { model.contentTop = 25 } contentArr.append(model) } if let list = moduleModel?.nineSquare?.list, list.count > 0 { let model = SPHomeContentModel() model.key = .nineSquare model.title = moduleModel?.nineSquare?.title model.list = list if contentArr.count > 0 { model.contentTop = 25 } contentArr.append(model) } if categoryDataArr1.count > 0 { let model = SPHomeContentModel() model.key = .category1 model.list = categoryDataArr1 if contentArr.count > 0 { model.contentTop = 25 } contentArr.append(model) } if let list = moduleModel?.hotData, list.count > 0 { let model = SPHomeContentModel() model.key = .hot model.list = list if contentArr.count > 0 { model.contentTop = 25 } contentArr.append(model) } // if categoryDataArr2.count > 0 { // let model = SPHomeContentModel() // model.key = .category1 // model.list = categoryDataArr2 // contentArr.append(model) // } } var isEmptyData: Bool { if dataArr.count > 0 || (playHistoryArr?.count ?? 0) > 0 || moduleModel != nil || categoryDataArr1.count > 0 || categoryDataArr2.count > 0 { return false } return true } }