# question_bank **Repository Path**: uemeng/question_bank ## Basic Information - **Project Name**: question_bank - **Description**: Vibe Coding案例-智能题库网站 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 11 - **Created**: 2026-07-28 - **Last Updated**: 2026-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能题库网站 一个前后端分离的题库系统首版实现,覆盖管理员和考生两类身份。 ## 技术栈 - 后端:Java 8、Spring Boot 2.7、MyBatis-Plus、MySQL、JWT - 前端:Vue2、Vue Router、Vuex、Axios、Element UI ## 目录 - `backend/`:Spring Boot REST API - `frontend/`:Vue2 + Element UI 前端 - `database/schema.sql`:MySQL 建表和演示数据 ## 启动 1. 创建数据库并导入数据: ```bash mysql -u root -p < database/schema.sql ``` 2. 启动后端: ```bash cd backend mvn spring-boot:run ``` 3. 启动前端: ```bash cd frontend npm install npm run serve ``` 前端默认运行在 `http://localhost:8081`,后端默认运行在 `http://localhost:8080`。 生产环境使用 Nginx 反向代理时,需要允许题干、答案和解析中的图片数据通过: ```nginx server { client_max_body_size 20m; } ``` 修改后执行 `nginx -t` 检查配置,并重新加载 Nginx,避免 Base64 图片数据导致 `413 Request Entity Too Large`。 ## 演示账号 - 管理员:`admin / 123456` - 考生:`student / 123456` ## 已实现功能 - 登录、注册、JWT 登录态 - 管理员:数据看板、知识点管理、题目管理、试卷管理、用户管理 - 管理员:题库批量导入,支持 `.csv` 和 `.xlsx` - 考生:学习首页、章节练习、模拟考试、错题本、智能推荐、成绩分析 - 单选、多选、判断、填空和计算题自动判分,作图题标记为待人工核对 - 基于错题知识点的规则推荐 - 前端路由权限控制,后端接口登录拦截 ## 题库导入格式 题目管理页可以下载 Excel 模板,题库、知识点、试卷、题型和难度均提供下拉选项。推荐字段如下: ```text 题库,知识点,试卷,题型,难度,分值,题干,A,B,C,D,E,正确答案,解析 ``` - 题型:`单选`、`多选`、`判断`、`填空`、`计算`、`作图` - 难度:`简单`、`中等`、`困难`,也支持 `EASY`、`MEDIUM`、`HARD` - 多选答案使用英文逗号,例如 `A,C` - 判断题答案使用 `正确` 或 `错误`,选项列可以留空 - 填空题支持多个可接受答案,使用 `||` 分隔,例如 `北京||北京市` - 计算题填写最终标准结果,系统按忽略大小写和空白后的精确结果判分 - 作图题的正确答案列可填写参考说明或图片 HTML,考生上传图片后进入人工核对 - 导入时如果知识点不存在,系统会自动创建 - 题干和解析支持 HTML 内容;在后台编辑题目时可以插入图片