制作ppt部分基本完成,后面需要解析前端

This commit is contained in:
junleea 2025-04-05 16:22:23 +08:00
parent 5beb034dcb
commit 9f4d57e933
1 changed files with 41 additions and 34 deletions

View File

@ -531,37 +531,19 @@
if (result["code"] === 0) { if (result["code"] === 0) {
console.log(result["data"]); console.log(result["data"]);
let data = result["data"]; let data = result["data"];
for (let i = 0; i < data.length; i++) { messages.length = 0; //
if (data[i]["Type"] === 3) { let m1 = JSON.parse(data[0]["Msg"]);
let msg: GenMessage = data[i]; let message1: MessageOutline = { role: "user", content: `[${m1.fileName}](${m1.fileUrl})` + "\n"+ m1.query, outline: null, isOutline: false };
let pMsgContent=""; messages.push(message1);
if (msg.Status == 3) { let m2 = JSON.parse(data[1]["Msg"]);
let img_msg: ImageMessage = JSON.parse(msg.Msg); let message2: MessageOutline = { role: "assistant", content:data[1]["Msg"] , outline: null, isOutline: false };
//md messages.push(message2);
let img_content= img_msg.image_content let m3 = JSON.parse(data[2]["Msg"]);
for (let i = 0; i < img_content.length; i++) { let message3: MessageOutline = { role: "user", content: data[2]["Msg"], outline: null, isOutline: false };
pMsgContent += `![${img_content[i].file_name}](${img_content[i].file_url})` + "\n"; messages.push(message3);
} let message4: MessageOutline = { role: "assistant", content: data[3]["Msg"], outline: null, isOutline: false };
pMsgContent = pMsgContent + img_msg.text; messages.push(message4);
} else {
pMsgContent = msg.Msg;
}
//Markdown
// messages.push({
// role: "user",
// content: pMsgContent,
// finished: true,
// });
} else if (data[i]["Type"] === 4) {
// messages.push({
// role: "assistant",
// content: data[i]["Msg"],
// finished: true,
// });
} else {
console.log("未知消息类型");
}
}
} }
} catch (e) { } catch (e) {
console.log(e); console.log(e);
@ -664,6 +646,8 @@ const CreateSparkPPT = async () => {
fileName: selectedFiles.value[0].UserFileName, fileName: selectedFiles.value[0].UserFileName,
} }
let result = await CreateSparkPPTService(req); let result = await CreateSparkPPTService(req);
let msg1 :MessageOutline = { role: "user", content: `[${req.fileName}](${req.fileUrl})` + "\n"+ req.query, finished: true, isOutline: true,outline: req.outline }
messages.push(msg1);
if (result['code'] === 0) { if (result['code'] === 0) {
baseInfo.value = result['base']; baseInfo.value = result['base'];
createPPTResp.value = result['data']; createPPTResp.value = result['data'];
@ -671,14 +655,37 @@ const CreateSparkPPT = async () => {
} else { } else {
ElMessage.error(result['data']); ElMessage.error(result['data']);
} }
getCreatedPPTStatus() ElMessage.success("PPT生成中请稍等...,可退出当前会话完成的ppt可以在历史会话或你的文件中查看");
// ID
const timerId = setInterval(async () => {
try {
await getCreatedPPTStatus();
console.log("ppt_status:", getPPTStatus.value);
if (getPPTStatus.value != null && getPPTStatus.value.data.pptStatus === "done") {
//
let msg: MessageOutline = {
role: "assistant",
content: `[${getPPTStatus.value.data.aiImageStatus}](${getPPTStatus.value.data.pptUrl})`,
outline: null,
isOutline: false,
finished: true,
};
messages.push(msg);
//
clearInterval(timerId);
}
} catch (error) {
console.error('获取 PPT 状态时出错:', error);
clearInterval(timerId);
}
}, 1000); // 1
} }
const getCreatedPPTStatus = async () => { const getCreatedPPTStatus = async () => {
let req = { let req = {
token: localStorage.getItem('token'), token: localStorage.getItem('token'),
function: "spark-create-ppt", function: "spark-create-ppt",
sessionId: sessionID.value, sessionId: 234, //sessionID.value
} }
let result = await GetSparkPPTStatusService(req); let result = await GetSparkPPTStatusService(req);
if (result['code'] === 0) { if (result['code'] === 0) {
@ -688,7 +695,7 @@ const getCreatedPPTStatus = async () => {
ElMessage.error(result['data']); ElMessage.error(result['data']);
} }
} }
getCreatedPPTStatus();
getSparkPPTThemeList(); getSparkPPTThemeList();
</script> </script>
<style scoped> <style scoped>