yuanxin

package module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 15, 2025 License: MIT Imports: 12 Imported by: 0

README

yuanxin

介绍

这是一个基于 Gin、GORM 和 Gen 的 Web 开发脚手架。它旨在提供快速开发体验,同时减少模板代码的编写。通过约定大于配置的理念,只需配置好 YAML 文件,即可快速启动 Web 服务,让您更专注于业务开发。

package main

import (
	"yqcls/internal/repository"
	"yqcls/internal/router"

	"gitee.com/botaoshow/yuanxin"
	"gitee.com/botaoshow/yuanxin/web/common/database"

	"github.com/gin-gonic/gin"
)

func RunApp() {
	yuanxin.OnStart(func() {
		database.InitMysql()
		repository.SetDefault(database.Db)
	})
	yuanxin.OnClose(func() {
		database.CloseMysql()
	})
	yuanxin.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
go get -u gitee.com/botaoshow/[email protected]
方式二:手动导入项目
  1. 确保将项目下载到本地目录。
  2. 使用 modwork 创建您的项目。
  3. go.work 文件中导入项目:
go 1.24.2

use (
	.
	D:/code/demo/go_demo/yuanxin/web
)
  1. 创建 conf.yaml 文件,示例如下:
# conf.yaml
server:
  port: ":8080"
  mode: "debug"

database:
  driver: "mysql"
  host: "127.0.0.1"
  port: "3306"
  username: "root"
  password: "123456"
  database: "yqcls"
  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"
  1. 创建 main.go 文件。

  2. 运行 go mod tidy 刷新项目。

  3. 运行项目即可。

提示:这里添加了一个默认路由用于测试,并初始化了数据库,请根据实际情况修改。

特技

更多详情,请访问我们的官方博客

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OnClose

func OnClose(f func())

func OnInit

func OnInit(f func())

func OnStart

func OnStart(f func())

func RunApp

func RunApp(setupRouter func(engine *gin.Engine))

Types

This section is empty.

Directories

Path Synopsis
web module
log
y

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL