This repository has been archived on 2026-04-05. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Exam_registration/DEPLOYMENT.md
2026-03-20 21:41:00 +08:00

4.8 KiB
Raw Permalink Blame History

考试信息管理系统 - 部署指南

环境准备

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. 验证安装:
    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 是否正确

功能测试流程

管理员操作流程

  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 缓存
    • 数据库查询优化
    • 前端懒加载

技术支持

如有问题,请查看: