This commit is contained in:
2026-03-20 21:41:00 +08:00
Unverified
commit 3d1d4cf506
53 changed files with 7105 additions and 0 deletions
+236
View File
@@ -0,0 +1,236 @@
# 考试信息管理系统 - 部署指南
## 环境准备
### 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/