// // JXHomeHeaderData.h // AICity // // 首页头部数据模型 // 包含:Banner、热门影片、热门短剧 // #import NS_ASSUME_NONNULL_BEGIN #pragma mark - Banner 数据模型 @interface JXBannerItem : NSObject @property (nonatomic, assign) NSInteger itemId; @property (nonatomic, copy) NSString *name; @property (nonatomic, copy, nullable) NSString *hCoverUrl; // 横向封面 @property (nonatomic, copy, nullable) NSString *vCoverUrl; // 竖向封面 @property (nonatomic, copy, nullable) NSString *describe; @property (nonatomic, assign) float score; @property (nonatomic, assign) BOOL collected; @property (nonatomic, assign) NSInteger movieType; // 1:电视剧 2:电影 @property (nonatomic, copy, nullable) NSString *categories; @property (nonatomic, assign) NSInteger sectionCount; // 总集数 + (instancetype)modelWithDictionary:(NSDictionary *)dict; @end #pragma mark - 热门短剧数据模型 @interface JXHotDrama : NSObject @property (nonatomic, assign) NSInteger dbId; // 数据库ID @property (nonatomic, assign) long long jxDramaId; // 剧星平台ID @property (nonatomic, copy) NSString *contentType; @property (nonatomic, copy) NSString *title; @property (nonatomic, copy, nullable) NSString *horizontalCoverUrl; @property (nonatomic, copy, nullable) NSString *verticalCoverUrl; @property (nonatomic, copy, nullable) NSString *coverUrl; @property (nonatomic, assign) NSInteger totalEpisodes; @property (nonatomic, assign) NSInteger position; + (instancetype)modelWithDictionary:(NSDictionary *)dict; // 转换为通用的 Item 格式(用于显示) - (JXBannerItem *)toBannerItem; @end #pragma mark - 首页头部数据 @interface JXHomeHeaderData : NSObject @property (nonatomic, strong, nullable) NSArray *banners; @property (nonatomic, strong, nullable) NSArray *hotMovies; @property (nonatomic, strong, nullable) NSArray *hotDramas; // 合并热门影片和短剧 - (NSArray *)getAllHotRecommends; + (instancetype)modelWithDictionary:(NSDictionary *)dict; @end NS_ASSUME_NONNULL_END