feat(出题): 参考流程图改用画布画,「让学生自己画」不再要参考图
Deploy / deploy (push) Canceled after 0s

- 学生画的图现在按例子和测试数据评(拼成程序跑),参考图用不上了:「让学生自己画」
  只剩一句说明,保存前改成检查有没有例子;「给学生的提示」那一栏去掉(学生从来看不到,
  16 道题也都没填)
- 「给学生看一张参考流程图」改用学生画图的同一个编辑器,存结构树(problem.flowchart_data,
  原来是死列),Mermaid 由后端照它生成,题面里的图和学生交的图同一套形状
- 「AI 照 Python 答案画一张」改成出结构树,直接摆在画布上接着改;for 循环画成
  计数变量 + 当型循环
- 老题手写的 Mermaid 照旧给代码框,旁边「改用画布画」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-12 21:39:50 +08:00
1 parent b9ece7d38f
commit 6e946c99fb
8 files changed
+168 -57

No files matched your search

@@ -34,7 +34,6 @@ const props = defineProps<{
astChecks: AstCheckState
flowchartMode: FlowchartMode
mermaidCode: string
flowchartHint: string
}>()
const tab = defineModel<PreviewTab>("tab", { required: true })
@@ -248,18 +247,15 @@ onMounted(() => nextTick(render))
<!-- 流程图:一直挂着,改了图的代码随时知道画不画得出来 -->
<div v-show="tab === 'flowchart'" class="page">
<p v-if="flowchartMode === 'none'" class="placeholder">这道题不用流程图</p>
<p v-else-if="flowchartMode === 'draw'" class="muted small">
学生自己画,这张图<b>学生看不到</b>,只拿来给学生画的图打分。
<template v-if="flowchartHint.trim()">学生看到的提示:{{ flowchartHint }}</template>
<p v-else-if="flowchartMode === 'draw'" class="placeholder">
学生在题目页右边自己画,交上去按例子和测试数据评
</p>
<p v-else class="muted small">学生在题面里点开「老师给的参考流程图」看到的是:</p>
<p v-if="flowchartMode !== 'none' && !mermaidCode.trim()" class="placeholder">
还没写图的代码
</p>
<div v-if="renderError && flowchartMode !== 'none'" class="chartError">
画不出来:{{ renderError }}
</div>
<div v-show="flowchartMode !== 'none'" ref="chart" class="chart"></div>
<template v-else>
<p class="muted small">学生在题面里点开「老师给的参考流程图」看到的是:</p>
<p v-if="!mermaidCode.trim()" class="placeholder">还没画</p>
<div v-if="renderError" class="chartError">画不出来:{{ renderError }}</div>
</template>
<div v-show="flowchartMode === 'show'" ref="chart" class="chart"></div>
</div>
</aside>
</template>