HFUTUnion 后端仓库
HFUTUnion_Backend/
├── app/ # 应用主目录
│ ├── boot/ # 启动引导模块
│ ├── controller/ # 控制器层
│ ├── logic/ # 业务逻辑层
│ ├── middleware/ # 中间件
│ ├── model/ # 数据模型层
│ ├── router/ # 路由层
│ ├── util/ # 工具库
│ ├── vo/ # 视图对象
│ │ ├── req/ # 请求结构体
│ │ └── resp/ # 响应结构体
│ ├── main.go # 程序入口
│ ├── go.mod # Go 模块配置
│ └── go.sum # Go 依赖锁定
├── sql/ # SQL 脚本
│ └── init.sql # 数据库初始化脚本
├── docker-compose.yaml # Docker Compose 配置
├── LICENSE # 开源许可证
└── README.md # 项目说明文档
- 功能: 所有数据库连接和中间件的初始化
- 职责: 应用启动时的各种初始化工作,包括数据库连接、第三方服务初始化等
- 功能: 接口路由
- 职责: 定义 HTTP 路由规则,将请求映射到对应的控制器
- 功能: 中间件调用代码
- 职责: 实现请求的预处理和后处理,如认证、日志、跨域处理等
- 功能: 路由之后的处理层,反序列化结构体
- 职责: 接收 HTTP 请求,调用业务逻辑层,返回响应
- 功能: 业务逻辑
- 职责: 实现核心业务逻辑,处理业务规则和流程
- 功能: 数据库表结构体和数据库查询函数
- 职责: 定义数据库表对应的结构体,封装数据库操作
- 功能: 请求和返回的结构体
- 职责: 定义与前端交互的数据结构
req/: 请求参数结构体resp/: 响应数据结构体
- 功能: 第三方库
- 职责: 封装通用工具函数和第三方库调用
- 功能: MySQL 建表
- 职责: 存放数据库初始化脚本和相关 SQL 文件
本项目采用经典的分层架构设计:
- 路由层 (Router) → 接收并路由 HTTP 请求
- 中间件 (Middleware) → 请求预处理(认证、日志等)
- 控制器层 (Controller) → 请求处理和参数验证
- 业务逻辑层 (Logic) → 核心业务逻辑实现
- 数据模型层 (Model) → 数据库操作和数据持久化
# 运行应用
cd app
go run main.go