# question **Repository Path**: aa_123_123/question ## Basic Information - **Project Name**: question - **Description**: 考试答题系统 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 考试答题系统 > 一套完整的企业级在线考试与培训解决方案,包含移动端应用和后台管理系统 ## 📖 项目简介 本项目是一套功能完善的考试答题系统,适用于企业内部培训、在线教育、职业资格认证等多种场景。系统包含移动端应用(基于 uni-app)和后台管理系统(基于 FastAdmin),提供从题库管理、在线考试到学习分析的全流程解决方案。 ### 系统特点 - ✨ **跨平台支持** - 前端支持 H5、微信小程序、APP 多端运行 - 🔐 **权限完善** - 基于 RBAC 的细粒度权限管理 - 📊 **数据统计** - 完善的学习数据分析与报表功能 - 🎯 **灵活配置** - 支持多种考试模式、题型设置 - 🚀 **高性能** - 基于 ThinkPHP 框架,支持高并发 - 🔌 **插件扩展** - 灵活的插件系统,易于功能扩展 ## 🏗️ 技术架构 ### 前端技术栈 - **框架**: uni-app (Vue.js) - **状态管理**: Vuex - **UI组件**: uview-ui、uni-ui - **平台**: H5、微信小程序、支付宝小程序、APP ### 后端技术栈 - **框架**: FastAdmin + ThinkPHP 6.x - **数据库**: MySQL 5.7+ - **语言**: PHP >= 7.2 - **架构**: MVC、插件系统 ## 📁 项目结构 ``` question/ ├── frontend/ # 前端项目 (uni-app) │ ├── components/ # 公共组件 │ ├── pages/ # 页面文件 │ ├── static/ # 静态资源 │ └── ... ├── backend/ # 后端项目 (FastAdmin) │ ├── addons/ # 插件目录 │ │ └── yexam/ # 考试系统核心插件 │ ├── application/ # 应用目录 │ ├── public/ # Web根目录 │ └── ... └── README.md # 项目说明文档 ``` ## 🎯 核心功能 ### 移动端功能 - **📚 题库练习** - 章节练习、随机练习、模拟测试 - **📝 在线考试** - 实时考试、限时答题、自动评分 - **❌ 错题集** - 错题回顾、知识点强化 - **⭐ 收藏管理** - 收藏重点题目 - **📊 学习记录** - 考试记录、学习进度、排行榜 - **🔍 题目搜索** - 快速查找题目 - **📰 资讯中心** - 新闻资讯、通知公告 - **👤 个人中心** - 个人设置、科目管理 ### 后台管理功能 - **📖 题库管理** - 题目录入、分类管理、批量导入 - **📝 考试管理** - 发布考试、设置时间、成绩统计 - **👥 用户管理** - 用户认证、权限分配、角色管理 - **📊 统计分析** - 学习数据、考试报表、错题分析 - **🎯 科目管理** - 科目分类、开通管理、权限控制 - **💾 数据管理** - 数据导入导出、备份恢复 - **🔐 权限控制** - RBAC 权限模型、菜单管理 ## 🚀 快速开始 ### 环境要求 **前端环境**: - Node.js >= 12.0 - HBuilderX (推荐) 或 Vue CLI - 微信开发者工具 (可选) **后端环境**: - PHP >= 7.2 - MySQL >= 5.7 - Apache/Nginx - Composer ### 安装步骤 #### 1. 安装后端 ```bash cd backend composer install ``` #### 2. 配置数据库 - 创建数据库 `question` - 导入 `backend/addons/yexam/sql/install.sql` - 修改 `config/database.php` 数据库配置 #### 3. 配置 Web 服务器 将 Web 根目录指向 `backend/public/`,配置 URL 重写规则 #### 4. 访问后台 - 后台地址: `http://your-domain.com/admin` - 默认账号: `admin` - 默认密码: `123456` #### 5. 安装前端 ```bash cd frontend npm install ``` #### 6. 配置前端 修改 `common/config.js` 中的 API 接口地址,指向后端服务 #### 7. 运行前端 **H5 开发**: ```bash npm run dev:h5 ``` **微信小程序**: - 使用 HBuilderX 打开 `frontend` 目录 - 运行 -> 运行到小程序模拟器 -> 微信开发者工具 ## 📖 使用说明 ### 后台操作流程 1. **添加科目** - 进入考试管理 -> 科目管理 - 添加考试科目 2. **题库管理** - 进入考试管理 -> 题库管理 - 添加题目或批量导入 Excel 3. **创建试卷** - 进入考试管理 -> 试卷管理 - 选择固定试卷或随机试卷 4. **发布考试** - 进入考试管理 -> 考试管理 - 创建考试并关联试卷 5. **管理用户** - 进入权限管理 -> 用户管理 - 添加用户并分配权限 ### 前端使用流程 1. **用户注册登录** - 打开应用,注册账号 - 登录后选择科目 2. **题库练习** - 进入题库,选择章节 - 开始练习,查看解析 3. **参加考试** - 进入考试列表 - 选择考试开始答题 4. **查看错题** - 进入个人中心 -> 错题集 - 复习错题,巩固知识 5. **查看成绩** - 进入个人中心 -> 考试记录 - 查看考试成绩和详细报告 ## 🔧 配置说明 ### API 接口配置 在前端 `common/config.js` 中配置后端 API 地址: ```javascript export const BASE_URL = 'http://your-backend-domain.com/api' ``` ### 微信小程序配置 1. 在 `frontend/manifest.json` 中配置微信小程序 `appid` 2. 在微信公众平台配置服务器域名白名单 3. 后台配置微信相关参数 ### 支付配置 (可选) 1. 在后台配置微信支付或支付宝支付参数 2. 用于考试付费、会员充值等功能 ## 📊 数据库设计 ### 主要数据表 - `fa_yexam_question` - 题目表 - `fa_yexam_exam` - 考试表 - `fa_yexam_paper` - 试卷表 - `fa_yexam_subject` - 科目表 - `fa_yexam_user_score` - 成绩表 - `fa_yexam_wrong_question` - 错题表 - `fa_yexam_collect` - 收藏表 - `fa_admin` - 管理员表 - `fa_user` - 用户表 ## 🔐 安全说明 - 所有接口需要通过 API Token 验证 - 敏感操作需要进行二次验证 - 定期备份数据库 - 及时更新系统补丁 - 配置服务器防火墙 ## 🐛 常见问题 **Q: 前端无法连接后端接口?** A: 检查 API 地址配置是否正确,确保后端服务正常运行 **Q: 微信小程序无法获取数据?** A: 检查服务器域名是否已在微信公众平台配置白名单 **Q: 上传题目失败?** A: 检查上传目录权限和文件大小限制 **Q: 考试无法提交?** A: 检查考试时间是否已过期,网络连接是否正常 ## 📝 开发指南 ### 添加新功能 **后端**: 1. 在 `addons/yexam/` 下添加控制器和模型 2. 在数据库添加相应的数据表 3. 在后台添加菜单项 **前端**: 1. 在 `pages/` 下创建新页面 2. 在 `pages.json` 中注册页面路由 3. 调用后端 API 接口 ### 代码规范 - 遵循 PSR 编码规范 - 使用有意义的变量名和函数名 - 添加必要的注释说明 - 提交代码前进行测试 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 License 本项目基于 Apache-2.0 开源协议 ## 🔗 相关链接 - [uni-app 官方文档](https://uniapp.dcloud.io/) - [FastAdmin 官方文档](https://doc.fastadmin.net) - [ThinkPHP 官方文档](https://www.thinkphp.cn) - [uView UI 组件库](https://www.uviewui.com/) ## 📞 技术支持 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 - 加入交流群 --- **感谢使用考试答题系统!** 🎉 **更新日期**: 2026年4月17日 **版本**: v1.0.4