Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

技术知识模拟 EXAM 系统 🎯

基于 AI 的在线模拟考试工具 — 智能生成技术知识考题,无需后端,浏览器即开即用。

Tech Stack API License


📖 项目简介

模拟 EXAM 工具 是一个纯前端、无需部署后端的在线考试模拟系统。你只需要一个浏览器和一个 DeepSeek API Key,即可:

  • 🧠 AI 智能出题 — 指定知识点范围,AI 自动生成选择题
  • 📂 上传题库出题 — 上传 TXT / DOCX 文件,基于内容生成题目
  • 📋 粘贴内容出题 — 直接粘贴技术文档或笔记来生成考题
  • 📊 在线作答 & 自动评分 — 实时选择答案,提交后自动判分
  • 📄 导出 PDF — 将试卷导出为 PDF 文件
  • 💾 历史记录 — 本地保存所有考试记录,支持继续答题和数据恢复

✨ 功能特性

三种出题方式

方式 说明
AI 智能生成 输入知识点范围,DeepSeek API 自动生成不重复的选题
上传题库文件 支持 .txt / .docx 格式文件,解析内容后生成题目
粘贴题库内容 直接粘贴文本,系统提取知识点生成考题

流式输出生成

  • 采用 流式输出(Streaming) 技术,题目实时逐道生成并渲染
  • 生成过程中有 真实进度条 显示进度,不再是模拟动画
  • 题目以 渐入动画 逐个出现,无需等待全部生成完毕
  • 生成过程中 锁定页面操作,完成后自动解锁

考试体验

  • 选择题作答,选项一目了然
  • 提交后自动评分,显示正确答案与解析
  • 支持 继续答题(从历史记录恢复未完成/已完成的考试)

数据管理

  • 考试记录保存在 浏览器本地存储(localStorage)
  • 历史记录列表展示所有考试
  • 支持 数据恢复(从 localStorage 备份还原)
  • 可一键清空所有记录

PDF 导出

  • 使用 jsPDF + html2canvas 将试卷导出为 PDF
  • 保留题目格式和排版

🚀 快速开始

方式一:直接使用(推荐)

  1. 打开 GitHub Pages 部署地址(如果已开启 Pages)
  2. 点击 设置 API Key,输入你的 DeepSeek API Key
  3. 点击 + 新建考试,选择出题方式
  4. 配置题目数量和知识点范畴
  5. 点击生成试卷,开始答题!

方式二:本地运行

# 克隆仓库
git clone https://github.com/hebulin/simulation-exam-demo.git

# 直接用浏览器打开
cd simulation-exam-demo
# Windows
start index.html
# macOS
open index.html
# Linux
xdg-open index.html

纯静态页面,无需 Node.js、无需服务器,浏览器直接打开即可使用。

方式三:部署到服务器

因为这是纯静态项目,可以部署到任意静态文件服务器:

  • Nginx / Apache — 将文件放到 web 目录即可
  • GitHub Pages — 开启仓库 Pages 功能
  • Vercel / Netlify — 直接连接仓库部署

🎯 使用指南

配置 API Key

  1. 访问 DeepSeek 控制台 获取 API Key
  2. 点击侧边栏的 设置 API Key 按钮
  3. 输入 Key 并保存(安全存储在浏览器本地)

创建新考试

  1. 点击 + 新建考试 按钮
  2. 选择题库来源
    • AI 智能生成 → 填写知识点范畴(如 "Java 基础、Spring Boot、MySQL")
    • 上传题库文件 → 选择 .txt.docx 文件
    • 粘贴题库内容 → 在文本框中粘贴内容
  3. 配置考试参数:设定题目数量
  4. 点击 生成试卷,等待 AI 流式生成
  5. 完成答题后提交,查看评分结果

数据恢复

如果数据丢失,可使用 数据恢复 按钮:

  1. 点击侧边栏的 数据恢复 按钮
  2. 系统会显示所有可恢复的 localStorage 备份
  3. 选择要恢复的记录点击确认

📁 项目结构

simulation-exam-demo/
├── index.html          # 主页面(Tailwind CSS + 全功能 UI)
├── style.css           # 自定义样式(33KB)
├── script.js           # 核心逻辑(159KB,含 API 调用、评分、历史管理等)
├── libs/               # 本地引用的第三方库
│   ├── jspdf.min.js    # PDF 生成库
│   └── layui/          # LayUI 组件库
├── README.md           # 本文件

🛠️ 技术栈

技术 用途
HTML5 页面结构
Tailwind CSS (CDN) 样式框架
CSS3 (style.css) 自定义样式、动画
Vanilla JavaScript 全部业务逻辑,无框架依赖
DeepSeek API AI 题目生成(流式输出)
jsPDF PDF 导出
html2canvas 页面截图(PDF 导出辅助)
Mammoth.js DOCX 文件解析
LayUI 部分 UI 组件
localStorage 数据持久化

⚙️ 配置说明

DeepSeek API

  • 系统默认使用 DeepSeek API 生成考题
  • API Key 仅在浏览器本地存储,不会发送到任何第三方
  • 确保 API Key 有足够的调用配额

浏览器兼容性

  • ✅ Chrome / Edge(推荐)
  • ✅ Firefox
  • ✅ Safari
  • ⚠️ 建议使用现代浏览器以获得流式输出最佳体验

📝 注意事项

  1. API Key 安全 — Key 保存在 localStorage,请勿在多设备共用浏览器上保存敏感 Key
  2. 内容截断 — 自定义题库内容超过 10000 字符时会自动截断
  3. 题目多样性 — AI 出题时会自动避免重复,但建议指定较广的知识点范围
  4. 清除数据 — 清空记录会删除所有 localStorage 中的考试数据,操作不可逆

🔄 更新日志

v1.2.0 (2024-12)

  • ✨ 流式输出生成:单次请求+实时解析渲染
  • 🔒 生成过程中页面锁定,完成后自动解锁
  • 📊 真实进度条(非模拟)
  • 🎨 渐入动画、体验优化

v1.1.0

  • 📄 PDF 导出功能
  • 💾 数据恢复功能

v1.0.0

  • 🎯 AI 智能生成题目
  • 📁 自定义题库上传
  • 📋 粘贴内容出题
  • 📊 在线作答 & 自动评分
  • 📝 考试历史记录

Made by hebulin 🦐

About

技术知识模拟 EXAM 系统 🎯 基于 AI 的在线模拟考试工具 — 智能生成技术知识考题,无需后端,浏览器即开即用。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages