fix(media,canvas): 对象存储参考素材优先 URL,并同步清理图片引用提示词 (#434)
* fix(media): 对象存储参考素材 - 协议支持 URL 时优先发送签名链接 开启对象存储后,支持 URL 的上游协议优先发送 OSS/COS/七牛/S3 签名链接;必须传字节的协议仍走 Base64 或 multipart。本地资源回退字节,签发失败直接报错,不自动重发生成。 * fix(canvas): 图片引用清理 - 取消引用时同步移除提示词引用
This commit is contained in:
@@ -93,4 +93,16 @@ describe("canvas node generation position mentions", () => {
|
||||
expect(context.prompt).toBe("让 @图片1 进入画面");
|
||||
expect(context.prompt).not.toContain("@[node:");
|
||||
});
|
||||
|
||||
test("取消引用后的提示词不再因为悬挂 @图片1 阻断生成", () => {
|
||||
const target = targetNode();
|
||||
const image = node("image-a", CanvasNodeType.Image, "data:image/png;base64,a");
|
||||
const { applyCanvasConnectionPromptSync } = require("../src/lib/canvas/canvas-resource-references") as typeof import("../src/lib/canvas/canvas-resource-references");
|
||||
const [nextTarget] = applyCanvasConnectionPromptSync([image, target], [connection(image.id)], [image, target], []).filter((item: typeof target) => item.id === target.id);
|
||||
const context = buildNodeGenerationContext(nextTarget.id, [image, nextTarget], [], nextTarget.metadata?.composerContent || "", []);
|
||||
|
||||
expect(nextTarget.metadata?.composerContent).toBe("让 进入画面");
|
||||
expect(context.referenceImages).toEqual([]);
|
||||
expect(context.prompt).toBe("让 进入画面");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user