支持多图片文件上传进行对话

This commit is contained in:
junleea 2025-04-01 21:31:59 +08:00
parent 66f87c8d0e
commit 4479400ddf
1 changed files with 29 additions and 6 deletions

View File

@ -237,8 +237,12 @@ interface Message {
content: string; content: string;
finished?: boolean; finished?: boolean;
} }
interface ImageMessage { interface SendImageMessage {
img_name : string;
img_url : string; img_url : string;
}
interface ImageMessage {
image_content: SendImageMessage[];
text: string; text: string;
} }
@ -248,6 +252,13 @@ md.use(markdownItHighlightjs, {
auto: true, auto: true,
code: true, code: true,
}); });
md.renderer.rules.image = function (tokens, idx, options, env, self) {
const token = tokens[idx];
//
token.attrSet('width', '400');
token.attrSet('height', '300');
return self.renderToken(tokens, idx, options, env, self);
};
md.use(markdownItKatex); md.use(markdownItKatex);
md.use(mermaidPlugin); md.use(mermaidPlugin);
@ -456,8 +467,12 @@ const sendMessage = () => {
// //
console.log("选中的文件:", selectedFiles.value); console.log("选中的文件:", selectedFiles.value);
let img_file: File = selectedFiles.value[0]; let img_file: File = selectedFiles.value[0];
let img_content = []
for (let i = 0; i < selectedFiles.value.length; i++) {
img_content.push({"img_name": selectedFiles.value[i].UserFileName, "img_url": fileUrl + selectedFiles.value[i].file_store_name});
}
let img_msg: ImageMessage = { let img_msg: ImageMessage = {
img_url: fileUrl + img_file.file_store_name, image_content: img_content,
text: inputMessage.value, text: inputMessage.value,
}; };
let img_msg_str = JSON.stringify(img_msg); let img_msg_str = JSON.stringify(img_msg);
@ -474,11 +489,15 @@ const sendMessage = () => {
if (sessionID.value == 0) { if (sessionID.value == 0) {
sessionName.value = inputMessage.value; sessionName.value = inputMessage.value;
} }
let pMsgContent; let pMsgContent ="";
if (msg["is_image"]) { if (msg["is_image"]) {
let img_msg: ImageMessage = JSON.parse(msg["msg"]); let img_msg: ImageMessage = JSON.parse(msg["msg"]);
//md //md
pMsgContent = `![图片](${img_msg.img_url})` + "\n" + img_msg.text; let img_content= img_msg.image_content
for (let i = 0; i < img_content.length; i++) {
pMsgContent += `![${img_content[i].img_name}](${img_content[i].img_url})` + "\n";
}
pMsgContent = pMsgContent + img_msg.text;
} else { } else {
pMsgContent = msg.msg; pMsgContent = msg.msg;
} }
@ -542,11 +561,15 @@ const getMessage = async (session_id: number) => {
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
if (data[i]["Type"] === 3) { if (data[i]["Type"] === 3) {
let msg: GenMessage = data[i]; let msg: GenMessage = data[i];
let pMsgContent; let pMsgContent="";
if (msg.Status == 3) { if (msg.Status == 3) {
let img_msg: ImageMessage = JSON.parse(msg.Msg); let img_msg: ImageMessage = JSON.parse(msg.Msg);
//md //md
pMsgContent = `![图片](${img_msg.img_url})` + "\n" + img_msg.text; let img_content= img_msg.image_content
for (let i = 0; i < img_content.length; i++) {
pMsgContent += `![${img_content[i].img_name}](${img_content[i].img_url})` + "\n";
}
pMsgContent = pMsgContent + img_msg.text;
} else { } else {
pMsgContent = msg.Msg; pMsgContent = msg.Msg;
} }