# Gin单体框架 **Repository Path**: trident-framework/single-gin-framework ## Basic Information - **Project Name**: Gin单体框架 - **Description**: 三叉戟gin单体框架 可运行golang版本【v1.18、v1.19、v1.20、v1.21、v1.22、1.23】 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-03 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Single Gin Framework 这是一个基于 Gin 框架的项目模板,集成了多种常用中间件和工具,适用于快速构建微服务应用。 ## 特性 - 支持多种数据库和中间件(MySQL、MongoDB、Redis、RabbitMQ、ElasticSearch) - 集成配置中心(Nacos、Consul、Etcd) - 提供 JWT 认证和验证码功能 - 包含日志记录、限流、熔断等功能 - 支持 Docker 部署 ## 目录结构 - `config/` 配置文件目录 - `controllers/` 控制器目录 - `models/` 数据模型目录 - `routers/` 路由目录 - `middlewares/` 中间件目录 - `utils/` 工具函数目录 - `Dockerfile` Docker 配置文件 - `docker-compose.yaml` Docker Compose 配置文件 - `go.mod` Go 模块配置文件 ## 安装 1. 安装依赖 ```bash go mod download ``` 2. 配置环境变量 ```bash export RUNENV=dev export PORT=9501 ``` 3. 构建并运行项目 ```bash go build -o single-gin ./single-gin --env $RUNENV ``` ## 使用 ### 启动服务 ```bash ./single-gin --env dev ``` ### Docker 部署 ```bash docker build -t single-gin . docker run -d -p 9501:9501 -e RUNENV=dev single-gin ``` ## 路由 - `/api/v1/index` 首页 - `/api/v1/user/login` 用户登录 - `/api/v1/user/mobile-login` 手机登录 - `/api/v1/user/login-send-code` 发送登录验证码 - `/api/v1/user/register` 用户注册 - `/api/v1/user/edit` 编辑用户信息 - `/api/v1/user/detail` 获取用户详情 ## 配置 - `config/app.yml` 应用配置 - `config/database.yml` 数据库配置 - `config/redis.yml` Redis 配置 - `config/rabbit.yml` RabbitMQ 配置 - `config/es.yml` ElasticSearch 配置 - `config/nacos.yml` Nacos 配置 ## 中间件 - `CorsMiddleware` 跨域中间件 - `FrontendAuthMiddleware` 前端认证中间件 - `MgrAuthMiddleware` 管理员认证中间件 - `RecoveryMiddleware` 异常恢复中间件 - `ZapLoggerMiddleware` 日志记录中间件 ## 工具 - `utils/helpers.go` 常用工具函数 - `utils/token.go` JWT 认证工具 - `utils/captcha.go` 验证码生成工具 - `utils/zapLogger.go` 日志记录工具 ## 贡献 欢迎提交 Pull Request 和 Issue。请遵循项目的代码规范和提交准则。 ## 许可证 该项目使用 MIT 许可证。详情请查看 [LICENSE](LICENSE) 文件。