| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- //
- // JXDramaContent.h
- // AICity
- //
- // Created by TogetherWatch on 2025-10-20.
- // Feature: 010-ui-ios - iOS平台完整功能实现(对标Android)
- // Phase: 1 - 数据模型层
- //
- // 对应Android: ShortVideo.kt
- //
- #import <Foundation/Foundation.h>
- NS_ASSUME_NONNULL_BEGIN
- /**
- * 短剧内容数据模型(支持URL和FileID两种播放方式)
- *
- * URL播放方式(传统):
- * @param videoUrl 视频播放地址
- * @param drmToken DRM Token(腾讯云播放器需要,用于解密加密视频)
- *
- * FileID播放方式(DRM推荐):
- * @param appId 腾讯云 AppID
- * @param fileId 腾讯云 FileID
- * @param psign 播放签名(JWT格式,包含DRM信息)
- * @param episodeId 剧集ID
- */
- @interface JXDramaContent : NSObject
- #pragma mark - URL播放方式
- @property (nonatomic, copy, nullable) NSString *videoUrl;
- @property (nonatomic, copy, nullable) NSString *drmToken;
- #pragma mark - FileID播放方式(DRM推荐)
- @property (nonatomic, copy, nullable) NSString *appId;
- @property (nonatomic, copy, nullable) NSString *fileId;
- @property (nonatomic, copy, nullable) NSString *psign;
- @property (nonatomic, copy, nullable) NSString *episodeId;
- #pragma mark - 短剧标识
- @property (nonatomic, assign) long long dramaId;
- #pragma mark - 用户交互数据
- @property (nonatomic, assign) long long likeCount;
- @property (nonatomic, assign) BOOL isLiked;
- @property (nonatomic, assign) long long favoriteCount;
- @property (nonatomic, assign) BOOL isFavorited;
- @property (nonatomic, assign) long long commentCount;
- #pragma mark - 播放信息(UI展示)
- @property (nonatomic, copy, nullable) NSString *title; // 剧集标题
- @property (nonatomic, copy, nullable) NSString *coverUrl; // 封面图URL
- @property (nonatomic, copy, nullable) NSString *description; // 描述
- @property (nonatomic, copy, nullable) NSString *descriptions; // 描述
- #pragma mark - 初始化方法
- - (instancetype)initWithDictionary:(NSDictionary *)dict;
- + (instancetype)dramaContentWithDictionary:(NSDictionary *)dict;
- - (NSDictionary *)toDictionary;
- #pragma mark - 辅助方法
- /**
- * 是否使用 FileID 播放模式
- */
- - (BOOL)isFileIdMode;
- /**
- * 是否使用 URL 播放模式
- */
- - (BOOL)isUrlMode;
- @end
- NS_ASSUME_NONNULL_END
|