# thunder **Repository Path**: pasionfru/thunder ## Basic Information - **Project Name**: thunder - **Description**: Thunder 是一个基于 Gin 构建的 高性能、轻量级 Go Web 框架,旨在加速 Go Web 应用的开发效率。 它为常见的业务需求提供了开箱即用的解决方案,例如:认证鉴权、云存储、数据库访问、支付集成等。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-19 - **Last Updated**: 2025-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Thunder [![Go Report Card](https://goreportcard.com/badge/gitee.com/pasionfru/thunder)](https://goreportcard.com/report/gitee.com/pasionfru/thunder) [![GoDoc](https://pkg.go.dev/badge/gitee.com/pasionfru/thunder)](https://pkg.go.dev/gitee.com/pasionfru/thunder) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) **Thunder** 是一个基于 **Gin** 构建的 **高性能、轻量级 Go Web 框架**,旨在加速 Go Web 应用的开发效率。 它为常见的业务需求提供了**开箱即用**的解决方案,例如:认证鉴权、云存储、数据库访问、支付集成等。 --- ## ✨ 特性(Features) - 🔥 基于 Gin:构建在高性能 Gin 框架之上 - ☁️ 云存储支持:七牛云、阿里云 OSS - 🗄️ 数据库访问:集成 GORM,支持 PostgreSQL / MySQL - ⚙️ 配置管理:基于 Viper,支持配置热加载 - 📝 日志系统:结构化日志 - 🔐 认证与鉴权:基于 JWT - 💰 支付集成:微信支付(Native / JSAPI / H5) - 🔄 事件系统:模块解耦 - 🛡️ 安全特性:CORS、请求校验 - 📤 文件上传:云存储直传 - 📋 订阅管理:多订阅等级支持 --- ## 📦 安装(Installation) ```bash go get gitee.com/pasionfru/thunder ``` ## 🚀 快速开始(Quick Start) ``` package main import ( "gitee.com/pasionfru/thunder/config" "gitee.com/pasionfru/thunder/server" ) func main() { // 初始化配置 conf := config.Init() _ = conf // 获取配置 cfg := config.GetConfig() // 创建并启动服务 s := server.NewServer(cfg) s.Start() } ``` ------ ## ⚙️ 配置说明(Configuration) 在 `etc/config.yml` 中配置: ``` server: mode: "release" host: "127.0.0.1" port: 8080 log: level: "info" format: "json" jwt: secret: "your-jwt-secret" expire: "24h" db: postgres: host: "localhost" port: 5432 user: "postgres" password: "password" database: "mydb" sslmode: "disable" redis: addr: "localhost:6379" password: "" db: 0 ``` ------ ## ☁️ 云存储(Cloud Storage) ### 七牛云 ``` qiniuManager, err := upload.InitQiniuUpload( "region", "bucket", "accessKey", "secretKey", ) ``` ### 阿里云 OSS ``` ossManager, err := upload.InitAliyunOSSUpload( "accessKeyId", "accessKeySecret", "endpoint", "bucket", ) ``` ------ ## 🔐 认证鉴权(Authentication) ``` token, err := jwt.GenToken("user-id", "username", 24*time.Hour) claims, err := jwt.ParseToken(token) ``` ------ ## 💰 支付集成(WeChat Pay) ``` codeUrl, err := wxPay.Native(ctx, payBody) ``` ------ ## 🔄 事件系统(Event System) ``` event.Register("user.register", handler) event.Trigger("user.register", data) ``` ------ ## 🗄️ 数据库(Database) ``` database.InitPostgres(cfg.DB.Postgres) db := database.GetPostgresDB().GormDB ``` ------ ## 🤝 贡献(Contributing) 1. Fork 本仓库 2. 创建分支:`git checkout -b feature/xxx` 3. 提交代码 4. 发起 Pull Request ------ ## 📄 License MIT License ------ ## 🙏 致谢(Acknowledgements) - Gin - GORM - Viper - Go-Redis - Go-Pay