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

3.1 KiB
Raw Permalink Blame History

视频画布拖入素材与图片节点排版修复

本次修复先在隔离本地环境完成验证,随后按用户要求发布至 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。