fix(canvas): 素材库 - 拒绝空字节数并提供历史数据修复工具

This commit is contained in:
ddCat
2026-09-14 23:26:32 +08:00
parent 6a1e3db8be
commit 927604e644
7 changed files with 404 additions and 1 deletions

View File

@@ -5,6 +5,13 @@ description: 当前项目已实现功能的手工验证清单与未确认边界
# 待测试
## 素材 bytes 数字合同
- 修复后端将 `bytes: null` 按数字零通过校验的问题,避免保存后被前端素材合同拒绝;图片、视频、音频、模型素材均覆盖。
- 部署维护工具新增 `migrate-schema repair-asset-bytes`(默认只检查)和 `--apply`:仅使用同用户、同类型、就绪且大小为正的资源元数据修复;保留素材 ID、其他 JSON 字段和引用。无可靠资源的记录输出未解决报告,不填零;并发冲突或数据库写入错误整批回滚。操作步骤见后端数据库专题。
- 已在 SQLite 和隔离 PostgreSQL 17 测试:只读预检、跨 100 条分页修复、缺失/null/字符串/负数处理、跨用户拒绝、合法值及其他 JSON 精度保留、重复运行幂等、写入失败整批回滚;待实际部署备份后执行并验收用户素材库。
- 待确认:用户报错素材的实际 `data.bytes` 值及写入来源。此修复只阻止新的无效写入,不自动修改或删除历史素材;历史值需依据真实资源大小修复,不能批量填零。
## 百炼多模态图像协议插件(dashscope-qwen-image)
- 新增官方协议包 `plugin-packages/dashscope-qwen-image.yingce-plugin`,解决 `qwen-image-3.0-pro` / `wan2.7-image-pro` 无法调用的问题:这两个模型属于百炼多模态模型,走 OpenAI 图片端点会被网关判为“模型与端点不匹配”,官方错误码表现为 `url error, please check url`。