Skip to content

fix: resolve video from images/video.json and .mp4 fallback in redbook knowledge loader#15

Open
shaocc1234 wants to merge 1 commit intoJamailar:mainfrom
shaocc1234:main
Open

fix: resolve video from images/video.json and .mp4 fallback in redbook knowledge loader#15
shaocc1234 wants to merge 1 commit intoJamailar:mainfrom
shaocc1234:main

Conversation

@shaocc1234
Copy link
Copy Markdown

问题描述

使用「知识库-小红书图文」导入视频笔记时,视频被错误渲染为图片。

当前行为:视频文件(images/video.mp4)被当作图片渲染:

<img src=".../video.mp4" alt="图片 2" class="w-full h-full object-cover">

期望行为:应渲染为可播放的视频播放器(Knowledge.tsx 已有此渲染逻辑):

<video src=".../video.mp4" class="w-full h-full object-contain" muted playsInline preload="metadata"></video>

根因

desktop/electron/core/knowledgeLoader.ts 在加载小红书笔记时:

  • 读取 meta.images 渲染图片列表
  • 未识别 images/video.mp4images/video.json
  • 导致 WanderItemvideo 字段始终为 undefined
  • 前端 Knowledge.tsxnote.video 不存在,走到了 <img> 分支

修复内容

  1. WanderItem 接口新增 video?: string 字段
  2. 小红书笔记加载时,按优先级查找视频:
    • 优先读取 images/video.jsonurl 字段
    • 回退扫描 images 数组中任意 .mp4 文件
  3. 解析到视频时,type'note' 修正为 'video'

数据格式兼容性

convert.py 生成的数据格式:

"images": ["images/cover.jpg", "images/video.mp4"]

images/video.json(新增):

{"type": "video", "url": "..."}

两种格式均可被正确识别。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant