6.3 KiB
6.3 KiB
考试信息管理系统 - 快速上手指南
🚀 5 分钟快速开始
前置条件
请确保您的计算机已安装:
- ✅ Go 1.21+
- ✅ MySQL 8.0+
- ✅ Node.js 18+
第一步:克隆项目(如果还未获取)
# 如果已经下载好,跳过此步
# 项目位置:E:\Exam_registration
第二步:初始化数据库(2 分钟)
方法一:使用 SQL 脚本(推荐)
- 打开命令行,登录 MySQL:
mysql -u root -p
- 执行 SQL 脚本:
source E:\Exam_registration\database.sql;
- 验证数据库创建成功:
SHOW DATABASES;
USE exam_registration;
SHOW TABLES;
应该看到 5 张表:user, exam, exam_registration, exam_notice, exam_score
方法二:手动创建
如果自动脚本失败,可以手动执行 database.sql 文件中的 SQL 语句。
第三步:配置后端(1 分钟)
-
打开配置文件:
config/config.yaml -
修改数据库密码:
database:
host: localhost
port: 3306
user: root
password: YOUR_PASSWORD # ⚠️ 改为你的 MySQL 密码
dbname: exam_registration
- 保存文件
第四步:启动后端服务(1 分钟)
# 进入项目目录
cd E:\Exam_registration
# 下载依赖(首次需要)
go mod tidy
# 启动服务
go run cmd/main.go
看到以下输出表示成功:
Server started on port 8080
测试后端: 打开浏览器访问 http://localhost:8080,能看到页面说明后端正常。
第五步:启动前端(2 分钟)
打开新的命令行窗口:
# 进入前端目录
cd E:\Exam_registration\frontend
# 安装依赖(首次需要,约 1-2 分钟)
npm install
# 启动开发服务器
npm run dev
看到以下输出表示成功:
VITE v5.0.8 ready in 1234 ms
➜ Local: http://localhost:3000/
➜ Network: use --host to expose
测试前端: 打开浏览器访问 http://localhost:3000
第六步:登录系统
使用默认管理员账号登录:
- 用户名:
admin - 密码:
admin123
登录后可以看到系统首页!
🎯 快速功能演示
1️⃣ 发布考试(管理员)
- 点击导航栏「考试管理」
- 点击「发布考试」按钮
- 填写考试信息:
- 考试名称:2024 年春季英语等级考试
- 考试代码:ENG-2024-001
- 考试时间:选择未来某个时间
- 其他信息按需填写
- 点击确定
✅ 考试发布成功!
2️⃣ 报名考试(普通用户)
- 注册新账号或退出管理员账号
- 浏览考试列表
- 点击感兴趣的考试查看详情
- 点击「立即报名」
- 等待管理员审核
✅ 报名成功!
3️⃣ 审核报名(管理员)
- 使用 admin 账号登录
- 点击「报名管理」→「报名列表」
- 找到待审核的报名记录
- 点击「通过」或「拒绝」
- 填写审核意见
✅ 审核完成!系统自动生成准考证号
4️⃣ 录入成绩(管理员)
- 点击「成绩管理」→「成绩录入」
- 选择对应的考试
- 点击「批量录入」
- 输入 JSON 格式的成绩数据:
[
{"user_id": 2, "score": 85},
{"user_id": 3, "score": 92}
]
- 点击确定
✅ 成绩录入成功!
5️⃣ 查询成绩(用户)
- 用户登录自己的账号
- 点击「成绩查询」
- 查看自己的分数和排名
✅ 成绩查询成功!
🔧 常见问题排查
❌ 问题 1:后端启动失败
错误: 无法连接数据库
解决方案:
- 检查 MySQL 服务是否运行
- 确认
config/config.yaml中的密码正确 - 确认数据库
exam_registration已创建
# 检查 MySQL 服务状态(Windows)
net start | findstr MySQL
# 启动 MySQL 服务
net start MySQL80
❌ 问题 2:前端启动失败
错误: npm: command not found
解决方案:
- 确认已安装 Node.js
- 将 Node.js 添加到系统 PATH
- 重新打开命令行
# 检查 Node.js 版本
node --version
npm --version
❌ 问题 3:跨域错误
错误:Access-Control-Allow-Origin
解决方案:
- 确认后端已启动 CORS 中间件(代码中已包含)
- 确认前端请求的 baseURL 是
/api - 检查
vite.config.js中的代理配置
❌ 问题 4:登录失败
错误: 用户名或密码错误
解决方案:
- 确认用户名是
admin - 确认密码是
admin123 - 如果忘记密码,可以在数据库中重置:
-- 重置 admin 密码为 admin123
UPDATE user
SET password = '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy'
WHERE username = 'admin';
📱 移动端访问
系统支持响应式布局,可在手机上访问:
- 确保手机和电脑在同一局域网
- 启动前端时添加
--host参数:
npm run dev -- --host
- 使用手机浏览器访问:
http://你的电脑 IP:3000
🎓 进阶使用
添加更多管理员
INSERT INTO user (username, password, email, role, status)
VALUES ('newadmin', '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy', 'admin2@example.com', 'admin', 1);
批量导入考生
编写脚本或使用 Excel 转 CSV 后批量插入数据库。
自定义配置
编辑 config/config.yaml:
server:
port: 8080 # 修改端口
jwt:
expire: 86400 # Token 有效期(秒)
database:
max_idle_conns: 20 # 连接池大小
📚 下一步学习
- 阅读
API_DOCUMENTATION.md了解完整接口文档 - 阅读
PROJECT_SUMMARY.md了解所有功能 - 阅读
DEPLOYMENT.md学习生产环境部署 - 查看源代码学习实现细节
💡 小贴士
- 开发模式: 后端支持热重载,修改代码后自动重启
- 调试技巧: 使用浏览器的开发者工具查看网络请求
- 数据清理: 测试数据可随时在数据库中清空重来
- 备份习惯: 定期备份数据库,防止数据丢失
🎉 恭喜!
您已经成功搭建并运行了考试信息管理系统!
现在您可以:
- ✅ 发布和管理考试
- ✅ 处理报名申请
- ✅ 录入和查询成绩
- ✅ 发布考试通知
- ✅ 管理用户信息
开始您的考试管理之旅吧! 🚀
需要帮助?
- 查看项目文档
- 检查日志输出
- 联系技术支持