WIP: UI编辑器自动分图层切图标 #304

Draft
k88936 wants to merge 100 commits from feat/ui-editor-auto-seperation into master
Showing only changes of commit 7fc1b841be - Show all commits
+19 -1
View File
@@ -185,7 +185,7 @@ fn decode_image(value: RawImageData, field: &str) -> Result<ReferenceImage, AppE
}
let bytes = BASE64_STANDARD
.decode(value.data.trim())
.map_err(|error| bad_request(format!("{field}.data 必须是有效 base64{error}")))?;
.map_err(|_| bad_request(format!("{field}.data 必须是有效 base64")))?;
Ok(ReferenceImage {
bytes,
file_name: format!("{field}.png"),
@@ -254,4 +254,22 @@ mod tests {
serde_json::json!({"data": [{"b64_json": "aGVsbG8="}]})
);
}
#[test]
fn invalid_base64_uses_generic_client_message() {
let payload = serde_json::json!({
"image": {"data": "not base64!", "mimeType": "image/png"},
"prompt": "edit",
"width": 1024,
"height": 1024
});
let parsed: RawImageEditRequest = serde_json::from_value(payload).expect("request");
let error = match prepare_request(parsed) {
Ok(_) => panic!("invalid base64 should fail"),
Err(error) => error,
};
let rendered = format!("{error:?}");
assert!(rendered.contains("image.data 必须是有效 base64"));
assert!(!rendered.contains("InvalidByte"));
}
}