【教案生成平台】实战教程四:开发所见即所得的在线试卷编辑器

简介: 本试卷编辑器基于Vue实现,支持拖拽排序、动态题型组件渲染(单选/简答等),实时A4预览,并通过html2canvas+jsPDF导出高清PDF。数据模型清晰,扩展性强,真正实现所见即所得的高效出卷体验。

AI 驱动的智能备课助手。一键生成标准教案、配套试题及PPT课件大纲。支持手写体试卷排版、自动出题、以及 Word/PDF/PPTX 多格式导出,让教师备课更高效、更轻松。

1. 场景分析

试卷编辑的核心需求是:灵活的题型组合精确的打印排版
核心技术点:

  • 动态组件 (Component :is)
  • 拖拽排序 (可选)
  • HTML 转 PDF (html2canvas + jspdf)

2. 试卷数据模型

试卷由“大题”(Sections)和“小题”(Questions)组成。

const examPaper = ref({
   
  title: "2024年期末考试试卷",
  sections: [
    {
   
      name: "一、单选题",
      scorePerQuestion: 2,
      questions: [
        {
   
          type: "single_choice",
          stem: "Vue的作者是?",
          options: ["尤雨溪", "Facebook", "Google"],
        },
      ],
    },
    // ... 其他题型
  ],
});

3. 组件化题目渲染 (QuestionItem.vue)

为了支持扩展更多题型,我们将题目渲染封装为组件。

<template>
  <div class="question-item">
    <div class="q-stem">
      <span class="q-no">{
  { index + 1 }}.</span>
      <input v-model="question.stem" placeholder="输入题干..." />
    </div>

    <!-- 单选题渲染逻辑 -->
    <div v-if="type === 'single_choice'" class="options-area">
       <div v-for="(opt, i) in question.options" :key="i">
          <input type="radio" disabled />
          <input v-model="question.options[i]" />
       </div>
    </div>

    <!-- 简答题渲染逻辑 -->
    <div v-else-if="type === 'essay'" class="essay-area">
       <div class="blank-lines">______________________</div>
    </div>
  </div>
</template>

4. 试卷排版与预览

编辑器右侧应实时显示“A4纸”效果。
使用 CSS 模拟 A4 纸尺寸:

.preview-page {
   
  width: 210mm;
  min-height: 297mm;
  padding: 20mm;
  background: white;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
}

5. 导出为高清 PDF

将网页变为 PDF 的难点在于分页截断。为了简化,我们先实现生成长图 PDF。

import html2canvas from "html2canvas";
import jsPDF from "jspdf";

const exportPDF = async () => {
   
  const element = document.getElementById("exam-preview"); // 获取预览 DOM

  // 1. 转为 Canvas
  const canvas = await html2canvas(element, {
    scale: 2 }); // 2倍缩放保证清晰度

  // 2. 转为图片数据
  const imgData = canvas.toDataURL("image/png");

  // 3. 放入 PDF
  const pdf = new jsPDF("p", "mm", "a4");
  const imgWidth = 210;
  const imgHeight = (canvas.height * imgWidth) / canvas.width;

  pdf.addImage(imgData, "PNG", 0, 0, imgWidth, imgHeight);
  pdf.save("exam.pdf");
};

在线体验

演示链接: https://www.ytecn.com/teacher/
git链接: https://github.com/tcshowhand/teacher/

总结

本模块通过 Vue 的数据驱动特性,让复杂的试卷编辑变得像搭积木一样简单。所见即所得的模式消除了传统 Word 排版错乱的烦恼。

相关文章
|
4月前
|
人工智能 JSON 数据可视化
【教案生成平台】实战教程三:打造智能 PPT 生成器 (AI + PptxGenJS)
一款基于 Vue 3 + Vite 的智能教学工具,利用 AI 自动生成结构化 PPT 数据,结合可视化编辑与本地持久化,实现高效备课。支持 JSON 模板解析、动态渲染导出(pptxgenjs)与草稿自动保存,大幅提升教师工作效率。在线体验:ytecn.com/teacher
492 16
|
4月前
|
人工智能 JavaScript API
【教案生成平台】实战教程二:接入 AI 大模型实现智能教案生成
一款基于 Vue 3 + Vite 的教师辅助工具,聚焦教案智能生成。输入课程主题,AI 流式输出完整教学设计,支持 Markdown 实时预览与 Word 导出,提升备课效率。核心技术涵盖流式 API 调用、提示词工程与文档生成,构建从输入到输出的完整 AI 工作流。
592 8
|
3月前
|
人工智能 网络协议 网络安全
2026阿里云OpenClaw/Clawdbot部署+集成iMessage指南:苹果生态AI助手搭建教程
2026年,OpenClaw(前身为Clawdbot、Moltbot)凭借轻量化容器化架构、灵活的跨平台集成能力,成为个人与小型团队打造专属AI助手的首选工具。其支持自然语言指令解析、多任务自动化执行、多终端同步响应的核心特性,完美适配苹果生态用户的办公与生活需求。iMessage作为苹果生态核心的即时通讯工具,覆盖iPhone、Mac、iPad全终端,具备端到端加密、无缝同步的优势,将两者深度对接,可实现“iMessage发指令、AI自动化执行、全终端收结果”的跨场景体验,无需切换APP,随时随地调用AI能力处理文档生成、数据查询、任务提醒等事务。
1190 18
|
4月前
|
存储 人工智能 应用服务中间件
【教案生成平台】实战教程五:系统优化与工程化实践
本教程系列将AI助手从Demo升级为可用产品:打造悬浮式全局聊天组件、可视化设置中心、本地存储优化(localforage)、路由懒加载及Nginx SPA部署方案,助力构建高性能教师辅助平台。
250 13
|
4月前
|
人工智能 JavaScript 前端开发
【教案生成平台】实战教程一:从零搭建现代化教师辅助平台 (环境与架构)
本教程带你从零搭建基于Vue3的教师辅助平台,解决备课、出卷、做课件痛点。采用Vite+Pinia+VueRouter,实现手绘风格UI与模块化架构,夯实前端工程化基础。
631 2
|
4月前
|
人工智能 资源调度 自然语言处理
AI agent指挥官 重塑智能体协作的新时代蓝图
随着 2026 年 AI 技术进入深度协作阶段,AI agent 指挥官成为连接智能体(AI Agents)执行层与业务价值层的核心枢纽。本文深入分析智能体协作的发展背景、技术栈演进、核心组件与架构模式,提出一种全新的 “协作智能体架构” 框架,以流程化、可执行的方式解释指挥官如何统筹规划、管理智能体、多模型服务与资源调度,从而实现高效、可控、可审计的智能体系统。
440 1
|
7月前
|
人工智能 供应链 安全
智能体开发的学习路径:对标国家职业标准的系统化能力构建
程序员陈凯苦于转型智能体开发,课程零散难入门。直到接触“智能体来了”系统化课程,依《人工智能工程技术人员国家职业标准》分三阶段进阶:1-3月打基础,掌握Python、大模型与数据库;3-6月学架构、意图识别与对话管理,达中级水平;6-12月实战企业级项目,如供应链智能体,契合高级工程师要求。课程融合API开发、安全治理与模型优化,助力从Java开发者成长为AI工程师。
|
12月前
|
传感器 人工智能 IDE
AI IDE正式上线!通义灵码开箱即用
作为AI原生的开发环境工具,通义灵码AI IDE深度适配了最新的千问3大模型,并全面集成通义灵码插件能力,具备编程智能体、行间建议预测、行间会话等功能。
5574 171

热门文章

最新文章