4.8 KiB
4.8 KiB
考试信息管理系统 - 部署指南
环境准备
1. 安装 Go 语言环境
Windows 系统:
- 访问 https://golang.org/dl/
- 下载并安装最新版本的 Go(推荐 1.21+)
- 验证安装:
go version
2. 安装 MySQL 数据库
Windows 系统:
- 访问 https://dev.mysql.com/downloads/mysql/
- 下载并安装 MySQL 8.0+
- 记录 root 用户密码
3. 安装 Node.js
Windows 系统:
- 访问 https://nodejs.org/
- 下载并安装 LTS 版本(Node.js 18+)
- 验证安装:
node --version npm --version
数据库配置
1. 创建数据库
登录 MySQL 后执行以下命令:
-- 方法一:使用提供的 SQL 脚本
source database.sql;
-- 方法二:手动创建
CREATE DATABASE exam_registration CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2. 修改配置文件
编辑 config/config.yaml,修改数据库连接信息:
database:
host: localhost # 数据库地址
port: 3306 # 数据库端口
user: root # 数据库用户名
password: your_password # 数据库密码(修改为你的密码)
dbname: exam_registration
后端部署
1. 初始化 Go 模块
cd e:\Exam_registration
go mod tidy
如果遇到依赖下载问题,可以设置国内镜像:
go env -w GOPROXY=https://goproxy.cn,direct
go mod tidy
2. 编译运行
开发模式运行:
go run cmd/main.go
生产环境编译:
go build -o exam-registration.exe cmd/main.go
./exam-registration.exe
服务启动成功后,访问:http://localhost:8080
3. API 测试
使用 Postman 或 curl 测试 API:
# 测试登录接口
curl -X POST http://localhost:8080/api/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'
前端部署
1. 安装依赖
cd frontend
npm install
如果下载缓慢,可以使用淘宝镜像:
npm config set registry https://registry.npmmirror.com
npm install
2. 启动开发服务器
npm run dev
启动成功后,访问:http://localhost:3000
3. 生产环境构建
npm run build
构建产物在 frontend/dist 目录
默认账号
-
管理员账号:
- 用户名:
admin - 密码:
admin123
- 用户名:
-
普通用户: 通过注册功能创建
常见问题
1. 后端启动失败
问题:无法连接数据库
- 检查 MySQL 服务是否启动
- 确认数据库用户名密码正确
- 确认数据库已创建
问题:端口被占用
- 修改
config/config.yaml中的端口号 - 或者关闭占用 8080 端口的程序
2. 前端启动失败
问题:依赖安装失败
- 清理 npm 缓存:
npm cache clean --force - 删除 node_modules 重新安装
- 使用淘宝镜像
问题:代理配置问题
- 检查
vite.config.js中的代理配置 - 确保后端服务已启动
3. CORS 错误
如果出现跨域错误,检查:
- 后端是否正确配置 CORS 中间件
- 前端请求的 baseURL 是否正确
功能测试流程
管理员操作流程
- 使用 admin 账号登录
- 发布考试(设置考试时间、地点、费用等)
- 发布考试通知
- 审核报名申请
- 录入考试成绩
- 发布成绩
普通用户操作流程
- 注册账号并登录
- 浏览考试列表
- 报名参加考试
- 查看报名状态
- 查看准考证信息
- 查询考试成绩
系统架构说明
┌─────────────┐ ┌──────────────┐
│ 前端 │◄───────►│ 后端 │
│ Vue 3 + │ HTTP │ Go + Gin │
│ Ant Design │ JSON │ │
└─────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ MySQL │
│ Database │
└──────────────┘
下一步开发建议
-
完善准考证功能
- 实现 PDF 生成
- 添加考场座位自动编排算法
-
增强成绩管理
- Excel 批量导入导出
- 成绩统计分析图表
-
通知功能增强
- 邮件通知
- 短信通知
-
权限优化
- 更细粒度的权限控制
- 角色管理界面
-
性能优化
- 添加 Redis 缓存
- 数据库查询优化
- 前端懒加载
技术支持
如有问题,请查看:
- Go 官方文档:https://golang.org/doc/
- Gin 框架文档:https://gin-gonic.com/
- Vue 3 文档:https://vuejs.org/
- Ant Design Vue 文档:https://antdv.com/