# exam-bank **Repository Path**: Adnois/exam-bank ## Basic Information - **Project Name**: exam-bank - **Description**: 一款基于 Tauri + Vue 3 构建的本地智能题库管理与刷题系统,支持 AI 辅助出题、题目改写、知识点分析等功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-01 - **Last Updated**: 2026-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Exam Bank - 智能题库系统 一款基于 Tauri + Vue 3 构建的本地智能题库管理与刷题系统,支持 AI 辅助出题、题目改写、知识点分析等功能。 ## ✨ 功能特性 ### 📚 题库管理 - 多题库支持,按证书/科目分类管理 - 支持 5 种题型:单选题、多选题、判断题、填空题、简答题 - 题目草稿/发布状态管理 - 批量导入(支持文本/JSON 格式)与导出(JSON/Markdown) - 章节/分类管理,支持两级分类结构 - 题目标签系统 - 难度分级(1-5 星) ### 🤖 AI 智能辅助 - **AI 出题**:根据知识点自动生成高质量题目 - **题目改写**:基于原题生成变体题目,支持一键录入题库 - **知识点拆解**:自动分析题目涉及的核心知识点 - **AI 答疑**:针对题目进行智能答疑辅导 - **AI 生成解析**:一键生成详细的答案解析 - **难度评估**:AI 自动评估题目难度等级 - **AI 思维导图**:自动生成题库知识体系图谱 - **OCR 识别**:支持图片题目识别录入 ### 📝 刷题模式 - **顺序刷题**:按题库顺序逐题练习 - **随机刷题**:随机抽取题目练习 - **AI 智能刷题**:基于薄弱点智能推荐题目 - **错题重做**:针对错题进行专项练习 - **模拟考试**:限时模拟真实考试环境 - **随机组卷**:按条件随机生成试卷 ### 📊 学习统计 - 答题数据统计(正确率、答题数等) - 错题归因分析(概念不清、粗心大意、知识盲区等) - 章节掌握度统计 - 难度分布统计 - 连续打卡天数 ### 📖 错题本 & 收藏 - 自动收录错题,支持错误归因标记 - 艾宾浩斯遗忘曲线复习提醒 - 掌握度等级系统 - 题目收藏功能 - 个人学习笔记 ## 🛠️ 技术栈 ### 前端 - **Vue 3** + **TypeScript** - **Vue Router** - 路由管理 - **Pinia** - 状态管理 - **Tailwind CSS** - 样式框架 - **Vite** - 构建工具 - **Marked** + **DOMPurify** - Markdown 渲染 - **KaTeX** - 数学公式渲染 ### 后端 - **Tauri 2.0** - 桌面应用框架 - **Rust** - 后端语言 - **rusqlite** - SQLite 数据库 - **reqwest** - HTTP 客户端 - **serde** - 序列化/反序列化 ## 📦 安装与运行 ### 环境要求 - Node.js >= 18 - Rust >= 1.70 - 系统依赖(根据操作系统) ### 开发模式 ```bash # 安装依赖 npm install # 启动开发服务器 npm run tauri dev ``` ### 构建生产版本 ```bash # 构建前端 npm run build # 构建桌面应用 npm run tauri:build ``` ## 📁 项目结构 ``` exam-bank/ ├── src/ # 前端源码 │ ├── views/ # 页面组件 │ │ ├── BanksView.vue # 题库列表 │ │ ├── BankDashboard.vue # 题库仪表盘 │ │ ├── EditorListView.vue # 题目管理 │ │ ├── PracticeView.vue # 刷题页面 │ │ ├── ExamView.vue # 模拟考试 │ │ ├── ReviewView.vue # 错题本/收藏夹 │ │ ├── StatsView.vue # 统计详情 │ │ ├── QuizView.vue # 随机组卷 │ │ ├── MindmapView.vue # 思维导图 │ │ ├── ImportView.vue # 批量导入 │ │ ├── CategoryManagerView.vue # 分类管理 │ │ └── SettingsView.vue # 设置 │ ├── components/ # 可复用组件 │ │ └── question/ # 题目相关组件 │ │ ├── QuestionEditor.vue # 题目编辑器 │ │ ├── AiAssistant.vue # AI 助手面板 │ │ ├── ChoiceList.vue # 选项列表 │ │ └── ... │ ├── stores/ # Pinia 状态管理 │ ├── api/ # API 客户端 │ ├── utils/ # 工具函数 │ └── router/ # 路由配置 ├── src-tauri/ # Tauri 后端 │ ├── src/ │ │ ├── commands/ # Tauri 命令 │ │ ├── db/ # 数据库层 │ │ ├── models/ # 数据模型 │ │ ├── importer/ # 题目导入解析 │ │ └── main.rs # 入口 │ └── Cargo.toml └── package.json ``` ## 🎯 使用指南 ### 1. 创建题库 - 在题库列表页点击「新建题库」 - 可选择基于证书预设快速创建,或自定义创建 ### 2. 录入题目 - **手动录入**:在题目管理中点击「新建题目」 - **批量导入**:支持文本格式和 JSON 格式导入 - **AI 出题**:输入知识点,AI 自动生成题目 - **OCR 识别**:拍照或上传图片识别题目 ### 3. 开始刷题 - 进入题库,选择刷题模式 - 支持顺序、随机、智能、错题重做等模式 - 答题后可查看解析、AI 答疑、题目改写等 ### 4. 复习错题 - 做错的题目自动收录到错题本 - 可标记错误原因,便于后续分析 - 支持艾宾浩斯复习提醒 - 掌握后可标记为「已掌握」 ### 5. AI 配置 - 在设置中配置 AI API(支持 OpenAI 兼容接口) - 配置 Base URL、API Key、模型名称 - 测试连接成功后即可使用所有 AI 功能 ## 📝 题目格式说明 ### 文本导入格式 ``` 1. [单选题] 题目内容 A. 选项A B. 选项B C. 选项C D. 选项D 答案:A 解析:解析内容 2. [多选题] 题目内容 A. 选项A B. 选项B C. 选项C D. 选项D 答案:A,B,C 解析:解析内容 3. [判断题] 题目内容 答案:正确 4. [填空题] 题目内容___题目内容 答案:答案1|答案2 5. [简答题] 题目内容 答案:参考答案 ``` ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 MIT License