# yx **Repository Path**: botaoshow/yx ## Basic Information - **Project Name**: yx - **Description**: 一个基于 Gin、GORM 和 Gen 的 Web 开发脚手架 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-11-23 - **Last Updated**: 2026-01-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yx ### 介绍 这是一个基于 Gin、GORM 和 Gen 的 Web 开发脚手架。它旨在提供快速开发体验,同时减少模板代码的编写。通过约定大于配置的理念,只需配置好 YAML 文件,即可快速启动 Web 服务,让您更专注于业务开发。 ```go package main import ( "yqcls/internal/repository" "yqcls/internal/router" "gitee.com/botaoshow/yx" "gitee.com/botaoshow/yx/web/common/database" "github.com/gin-gonic/gin" ) func RunApp() { yx.OnStart(func() { database.InitMysql() repository.SetDefault(database.Db) }) yx.OnClose(func() { database.CloseMysql() }) yx.RunApp(func(r *gin.Engine) { router.SetupRouter(r) }) } func main() { RunApp() } ``` ### 软件架构 - **Gin Web 框架**:提供高性能的 HTTP 服务。 - **GORM ORM 库**:简化数据库操作。 - **Gen 代码生成工具**:减少重复的 CRUD 代码编写。 - **YAML 配置文件**:支持配置化管理,便于快速调整服务设置。 - **模块化设计**:便于扩展和维护。 ### 技术特性 - 🚀 基于 Gin 的高性能 Web 框架。 - 🗄️ 支持 GORM 数据库操作。 - ⚡ 使用 Gen 自动生成 CRUD 代码。 - 🔧 采用约定优于配置的设计理念。 - 📦 提供开箱即用的企业级脚手架。 - 🛡️ 内置中间件支持,包括日志、认证、限流等功能。 ### 快速开始 #### 方式一:使用 `go get` ```bash go get -u gitee.com/botaoshow/yx ``` #### 方式二:手动导入项目 1. 确保将项目下载到本地目录。 2. 使用 `mod` 或 `work` 创建您的项目。 3. 在 `go.work` 文件中导入项目: ```work go 1.24.2 use ( . D:/code/demo/go_demo/yx/web ) ``` 4. 创建 `conf.yaml` 文件,示例如下: ```yaml # conf.yaml server: port: ":8080" mode: "debug" database: driver: "mysql" host: "127.0.0.1" port: "3306" username: "root" password: "123456" database: "db" charset: "utf8mb4" maxIdleCount: 10 maxOpenConns: 100 connMaxLifetime: 60 redis: host: "127.0.0.1" port: "6379" password: "" db: 1 poolSize: 20 minIdleConns: 5 maxConnAge: 30 poolTimeout: 30 log: level: "debug" path: "./logs" jwt: secret: "123456" ``` 5. 创建 `main.go` 文件。 6. 运行 `go mod tidy` 刷新项目。 7. 运行项目即可。 > 提示:这里添加了一个默认路由用于测试,并初始化了数据库,请根据实际情况修改。 ### 特技 更多详情,请访问我们的[官方博客](http://8.156.66.53/)。