ai-chatbot/docs/video-canvas-media-drop-2026-09-18.md

35 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 视频画布拖入素材与图片节点排版修复
本次修复先在隔离本地环境完成验证,随后按用户要求发布至 48 主站。
## 修改
- 画布接收系统文件拖放,显示拖入提示,按当前平移/缩放换算鼠标落点;多文件创建独立素材节点。
- 接入现有真实图片与音视频上传接口,显示上传中/成功/失败状态,并通过现有画布保存流程持久化。
- 连续多批导入共用串行上传队列,避免撞上音视频接口的同用户并发限制。
- “重新选择文件”复用同一套格式/大小校验、180秒超时和上传队列;替换失败时保留原素材,且不允许用错误类型破坏既有连线。
- 上传中或上传失败的节点可以保留连线,但执行下游功能时会明确提示等待上传或重新选择素材。
- 修复旧上传输入节点刷新后被误判成生成节点的问题,保存/重开后仍保留“选择文件”入口。
- 修复“选择文件”按钮按下时被节点拖动事件截获、无法打开文件选择器的问题。
- 每批最多10个素材,超量及不支持/空/超限文件给出提示,合法文件继续导入;兼容没有 MIME 的常见本地文件。
- 图片生成空节点的按钮、图标、说明、参数改为正常流排版,保留五项操作,修复重叠和裁切。
## 本地验证
- 使用隔离本地数据库、S3测试存储与同源网关,无生产用户数据和付费生图调用。
- 浏览器 DataTransfer 文件拖放:一张 PNG 与一个无 MIME 的 MP4 混合导入,再立即拖入第二批 MP4 与无效文本;3个合法素材通过真实上传接口,文本被拒绝,不产生伪素材节点。
- 80%画布缩放下导入节点中心与鼠标落点误差小于2像素;刷新后图片可解码,视频元数据可加载。
- 损坏 MP4 由真实上传接口拒绝;画布显示失败原因、不填写素材地址,刷新后失败提示仍保留。
- 对图片空节点测量全部五个按钮和说明区域的边界:互不重叠、未超出卡片,五个按钮均通过浏览器点击可达性检查。
- TypeScript和67项文件导入、连线、保存队列、画布后续功能及任务回归测试通过。
- 浏览器实测图片素材连到图片生成节点后可保存并刷新恢复;视频误连图片节点被拒绝,不生成装饰性连线。
- 浏览器实测上传图片输入节点:错误视频类型被拒绝且节点不变,正确图片真实上传后转换为素材节点,刷新可正常解码。
- 报告、脚本、截图和测试素材保留在忽略目录 `.qa/media-drop/`。
## 发布验证
- Git 应用提交:`fe1c9b60`;生产 Build ID:`bOKVDArgv3JKjOWEytM6X`。
- 48 主站源码和远端发布分支一致,ahead/behind 为 `0/0`;活动目录为 `.next-media-audio-fe1c9b60-20260918T151731`。
- 候选端口验证后原子切换 3125;本地及公网登录页 200,视频画布按未登录规则跳转,素材上传接口保持 401 登录保护,新增拖入提示已在生产静态分块中确认。
- 旧构建和发布前环境备份保留,主进程 `ai-chatbot` 切换后保持 online。