From 65022968a5dedb225142f744578b136246d7bf04 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Mon, 9 Mar 2026 10:53:20 +0800 Subject: [PATCH] fix: complete html escape and use code arg in auto-submit callback --- src/components/PromptPanel.vue | 2 +- src/pages/ChallengeHome.vue | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/PromptPanel.vue b/src/components/PromptPanel.vue index 31d9d57..64b8f32 100644 --- a/src/components/PromptPanel.vue +++ b/src/components/PromptPanel.vue @@ -60,7 +60,7 @@ function send() { const renderer = new Renderer() renderer.code = function ({ text, lang }: { text: string; lang?: string }) { const escape = (s: string) => - s.replace(/&/g, "&").replace(//g, ">") + s.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """) const label = lang ? `查看代码(${escape(lang)})` : "查看代码" return `
${label}
${escape(text)}
` } diff --git a/src/pages/ChallengeHome.vue b/src/pages/ChallengeHome.vue index 8fcfe25..8b81626 100644 --- a/src/pages/ChallengeHome.vue +++ b/src/pages/ChallengeHome.vue @@ -84,13 +84,13 @@ async function loadChallenge() { challengeTitle.value = `#${data.display} ${data.title}` challengeContent.value = await marked.parse(data.content, { async: true }) connectPrompt(data.task_ptr) - onCodeComplete = async () => { + onCodeComplete = async (code) => { if (!conversationId.value) return try { await Submission.create(taskId.value, { - html: html.value, - css: css.value, - js: js.value, + html: code.html ?? "", + css: code.css ?? "", + js: code.js ?? "", conversationId: conversationId.value, }) } catch {