XuJiacheng 57101fac37 feat: 更新考试相关页面,添加刷新功能,修改考试状态显示
- 注:当前代码还存在bug:查看结果暂出现错误。
- 在 SubjectSelectionPage 页面中添加刷新按钮,允许用户手动刷新考试任务列表。
- 修改 UserTaskPage 页面,重构考试任务为答题记录,更新数据结构和状态显示。
- 在 AdminDashboardPage、UserManagePage、UserRecordsPage 等管理页面中添加考试状态显示,使用不同颜色区分状态(不及格、合格、优秀)。
- 在 ResultPage 中显示考试状态,确保用户能够清晰了解考试结果。
- 添加约束,确保单次考试试卷中题目不可重复出现,并记录相关规范。
- 添加评分状态约束,根据得分占比自动计算考试状态,并在结果页面显示。
2025-12-29 20:28:33 +08:00
2025-12-29 00:17:39 +08:00
2025-12-22 18:29:23 +08:00
2025-12-22 18:29:23 +08:00

宝来威考试平台

功能完善的在线问卷调查系统,支持多种题型、随机抽题、免注册答题等特性。

功能特性

用户端功能

  • 免注册答题:用户无需注册,填写基本信息即可开始答题
  • 信息验证:严格的姓名和手机号格式验证
  • 多种题型:支持单选、多选、判断、文字描述四种题型
  • 随机抽题:根据配置随机生成试卷,确保题目多样性
  • 实时反馈:答题完成后立即显示得分和答案详情

管理端功能

  • 题库管理支持Excel导入和手动编辑题目
  • 题型配置:灵活设置各题型比例和试卷总分
  • 数据统计:详细的答题记录和统计分析
  • 数据导出:支持导出答题记录和统计报表

技术架构

  • 前端React 18 + TypeScript + Ant Design + Tailwind CSS
  • 后端Express.js + TypeScript
  • 数据库SQLite3
  • 构建工具Vite
  • 文件处理Multer + XLSX

快速开始

安装依赖

npm install

启动开发服务器

npm run dev

构建生产版本

npm run build

启动生产服务器

npm start

管理员账号

  • 用户名admin
  • 密码admin123

API接口

用户相关

  • POST /api/users - 创建用户
  • GET /api/users/:id - 获取用户信息
  • POST /api/users/validate - 验证用户信息

题库管理

  • GET /api/questions - 获取题目列表
  • POST /api/questions - 创建题目
  • PUT /api/questions/:id - 更新题目
  • DELETE /api/questions/:id - 删除题目
  • POST /api/questions/import - Excel导入题目

答题相关

  • POST /api/quiz/generate - 生成随机试卷
  • POST /api/quiz/submit - 提交答题
  • GET /api/quiz/records/:userId - 获取用户答题记录

管理员相关

  • POST /api/admin/login - 管理员登录
  • GET /api/admin/config - 获取抽题配置
  • PUT /api/admin/config - 更新抽题配置
  • GET /api/admin/statistics - 获取统计数据

数据库设计

用户表 (users)

  • id: 用户ID
  • name: 姓名
  • phone: 手机号
  • created_at: 创建时间

题目表 (questions)

  • id: 题目ID
  • content: 题目内容
  • type: 题型
  • options: 选项JSON
  • answer: 标准答案
  • score: 分值
  • created_at: 创建时间

答题记录表 (quiz_records)

  • id: 记录ID
  • user_id: 用户ID
  • total_score: 总得分
  • correct_count: 正确题数
  • total_count: 总题数
  • created_at: 创建时间

答题答案表 (quiz_answers)

  • id: 答案ID
  • record_id: 记录ID
  • question_id: 题目ID
  • user_answer: 用户答案
  • score: 得分
  • is_correct: 是否正确
  • created_at: 创建时间

Excel导入格式

Excel文件需要包含以下列

  • 题目内容(必填)
  • 题型(单选/多选/判断/文字描述)
  • 标准答案(根据题型格式要求)
  • 分值(数字类型)
  • 选项(单选/多选题需要,用|分隔)

开发规范

  • 使用TypeScript进行类型检查
  • 遵循React最佳实践
  • 使用ESLint进行代码检查
  • 使用Prettier进行代码格式化

部署说明

  1. 构建项目:npm run build
  2. 上传构建文件到服务器
  3. 安装生产依赖:npm ci --only=production
  4. 启动服务:npm start
  5. 配置反向代理如Nginx

许可证

MIT License

Description
No description provided
Readme 7.3 MiB
Languages
JavaScript 79.4%
TypeScript 19.6%
Python 0.9%
CSS 0.1%