3.1 KiB
3.1 KiB
视频画布拖入素材与图片节点排版修复
本次修复先在隔离本地环境完成验证,随后按用户要求发布至 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。