# fgin **Repository Path**: wu-jin-feng/fgin ## Basic Information - **Project Name**: fgin - **Description**: fgin开发框架,使用通用方法封装grpc+gin进行开发 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-30 - **Last Updated**: 2025-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fgin ## 介绍 fgin开发框架,使用通用方法封装grpc+gin进行开发 ## 软件架构 软件架构说明 ## 安装教程 1. 安装Golang环境 2. 安装Gin框架 3. 安装gRPC相关工具 4. 获取本项目: ```bash go get gitee.com/wu-jin-feng/fgin ``` ## 使用说明 ### 基础使用 1. 创建main.go文件 2. 初始化Fgin对象 3. 获取HTTP服务器实例 4. 注册路由 5. 启动服务 示例代码: ```go package main import ( "fmt" "gitee.com/wu-jin-feng/fgin" "github.com/gin-gonic/gin" ) func main() { var f = fgin.Fgin{} router := f.GetHttpServer("config.yaml") // 注册路由 router.GET("/ping", func(c *gin.Context) { fgin.ReturnJson(ctx, 200, "success", nil) }) // 启动服务 f.Run(router) } ``` ### 配置说明 配置文件使用YAML格式,包含以下主要配置项: - NetType: 网络类型(http/grpc/http_grpc) - Ip: 服务IP - Port: 服务端口 - Env: 环境配置(pro/dev) - Log: 日志配置 - Auth: 认证配置 - Mysql: MySQL数据库配置 - Redis: Redis配置 - Consul: 服务发现配置 - Jaeger: 分布式追踪配置 - Prometheus: 监控配置 ## 参与贡献 1. Fork项目 2. 创建feature分支 3. 提交代码 4. 创建Pull Request ## 特技 - 支持gRPC和HTTP混合服务 - 提供多种中间件支持(日志、认证、限流、熔断等) - 集成OpenTelemetry进行分布式追踪 - 支持Prometheus监控指标采集 - 提供Redis、MySQL、RabbitMQ等常用组件封装 - 支持配置热加载 - 提供优雅关闭功能 ## 版本要求 - Go 1.23.0及以上 ## 项目结构说明 - fgin.go: 核心框架文件 - fconfig.go: 配置读取模块 - fmiddlewares.go: 中间件集合 - fplugs.go: 插件系统 - 各组件目录(如fauth.go、fredis.go等): 功能模块 - demos: 示例代码目录 - fgin_plugs: 插件模块 ## 文档 详细文档请查看项目Wiki或联系作者获取