# Big Video Card — 设计文档 **日期:** 2026-03-11 **状态:** 已批准 ## 需求 首页热门视频双列列表中,每次加载更多后,**列表最末尾的最后一个卡片**以"大卡片"形式呈现,占据两列全宽空间。大卡片在滚动进入视口时静音自动播放视频内容,默认使用最低画质(qn=16,360P)。 ## 数据结构 ### 行类型(`utils/videoRows.ts`) ```ts type NormalRow = { type: 'pair'; left: VideoItem; right: VideoItem | null }; type BigRow = { type: 'big'; item: VideoItem }; type ListRow = NormalRow | BigRow; ``` ### 行化规则 - 除最后一项外,所有视频两两配对为 `NormalRow` - 最后一项始终为 `BigRow` - 空列表返回 `[]` - 仅 1 个 item 时直接生成 `BigRow` 示例: ``` videos = [A, B, C, D, E] rows = [ { type: 'pair', left: A, right: B }, { type: 'pair', left: C, right: D }, { type: 'big', item: E }, ] ``` ## BigVideoCard 组件 ### 文件:`components/BigVideoCard.tsx` ### Props ```ts interface BigVideoCardProps { item: VideoItem; isVisible: boolean; onPress: () => void; } ``` ### 层次结构 ``` BigVideoCard (TouchableOpacity) ├── 封面图 (Image, 16:9 全宽) ├── 视频播放器 (react-native-video