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