《用AI编程工具搭建一个在线答题/测验系统》
本文介绍如何使用AI编程工具快速开发一个在线答题系统。通过JSON文件模拟题库,包含单选和多选题。系统能自动判分并展示成绩。使用Vue3+Tailwind生成前端代码,突出AI工具快速生成页面骨架和判分逻辑的优势。实现步骤包括:设计题库JSON、生成Vue组件代码、处理用户答案提交及评分功能。总结指出AI工具能大幅减少编码时间,但需人工优化提示词和调试代码。该系统可扩展为完整的学习平台,增加用户管
一、引言
-
介绍 AI 编程工具在前端开发中的应用场景。
-
为什么选择“答题/测验系统”作为案例:功能完整、贴近生活、互动性强。
-
本文目标:使用 AI 编程工具 + JSON 模拟接口,快速实现一个在线答题系统。
二、系统功能设计
-
题库形式
-
JSON 文件模拟题库(题目、选项、答案)。
-
示例:
[ { "id": 1, "type": "single", "question": "以下哪个是JavaScript的基本数据类型?", "options": ["Number", "Integer", "Character", "Double"], "answer": ["Number"] }, { "id": 2, "type": "multi", "question": "下列哪些属于前端框架?", "options": ["Vue", "Spring", "React", "Angular"], "answer": ["Vue", "React", "Angular"] } ]
-
-
基本功能点
-
题目渲染(单选、多选)。
-
用户提交答案。
-
系统自动判分。
-
展示得分和正确答案。
-
三、使用 AI 编程工具生成代码
-
提示词设计
-
示例 prompt:
“帮我用 Vue3 + Tailwind CSS 实现一个答题系统,题目来源于 JSON 文件,支持单选和多选,提交后自动判分并显示成绩。”
-
-
代码生成过程
-
展示 AI 工具生成的前端页面代码(Vue/HTML)。
-
展示 AI 工具生成的判分逻辑函数。
-
(可加截图对比:AI 生成的 vs 手写的差别)。
-
四、系统展示效果
1. JSON 题库示例(questions.json)
[ { "id": 1, "type": "single", "question": "以下哪个是 JavaScript 的基本数据类型?", "options": ["Number", "Integer", "Character", "Double"], "answer": ["Number"] }, { "id": 2, "type": "multi", "question": "下列哪些属于前端框架?", "options": ["Vue", "Spring", "React", "Angular"], "answer": ["Vue", "React", "Angular"] }, { "id": 3, "type": "single", "question": "HTML 的全称是?", "options": [ "HyperText Markup Language", "HighText Machine Language", "Hyperlinks Text Management Language", "Home Tool Markup Language" ], "answer": ["HyperText Markup Language"] } ]
2. Vue3 示例代码(App.vue)
<template> <div class="p-6 max-w-2xl mx-auto"> <h1 class="text-2xl font-bold mb-6">在线答题系统</h1> <div v-for="(q, index) in questions" :key="q.id" class="mb-6 p-4 border rounded-lg shadow"> <p class="font-semibold mb-2">{{ index + 1 }}. {{ q.question }}</p> <div v-for="option in q.options" :key="option" class="flex items-center mb-1"> <input :type="q.type === 'single' ? 'radio' : 'checkbox'" :name="'q' + q.id" :value="option" v-model="answers[q.id]" class="mr-2" /> <label>{{ option }}</label> </div> </div> <button @click="submitAnswers" class="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600" > 提交答案 </button> <div v-if="score !== null" class="mt-6 p-4 border rounded bg-green-100"> <h2 class="text-lg font-bold mb-2">答题结果</h2> <p>得分:<span class="font-semibold">{{ score }}</span> / {{ questions.length }}</p> </div> </div> </template> <script setup> import { ref, onMounted } from "vue"; const questions = ref([]); const answers = ref({}); const score = ref(null); onMounted(async () => { // 模拟加载 JSON 题库 const res = await fetch("./questions.json"); questions.value = await res.json(); // 初始化答案存储结构 questions.value.forEach((q) => { answers.value[q.id] = q.type === "single" ? "" : []; }); }); const submitAnswers = () => { let total = 0; questions.value.forEach((q) => { const userAnswer = Array.isArray(answers.value[q.id]) ? [...answers.value[q.id]].sort() : [answers.value[q.id]]; const correctAnswer = [...q.answer].sort(); if (JSON.stringify(userAnswer) === JSON.stringify(correctAnswer)) { total++; } }); score.value = total; }; </script> <style> body { font-family: Arial, sans-serif; } </style>
3. 使用方式
-
新建一个 Vue3 项目(
npm init vue@latest)。 -
把
questions.json放到public目录下。 -
替换
src/App.vue内容为上面的代码。 -
启动项目:
npm install npm run dev -
浏览器打开后即可看到答题系统效果。
-
答题页面(单选、多选)。
-
点击提交后显示得分和正确答案。
-
- 说明交互体验,突出“AI 生成代码速度快”。
五、经验总结
-
AI 工具的优势
-
快速生成页面骨架。
-
自动生成判分逻辑。
-
大幅减少手工编码时间。
-
-
需要人工介入的部分
-
提示词(Prompt)要清晰。
-
对生成代码进行小范围调试。
-
优化交互体验。
-
-
延伸思考
-
可以扩展为:用户登录、错题本、排行榜。
-
结合后端或数据库,形成真正的在线学习系统。
-
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)