Files
soul-yongping/开发文档/2、架构/soul-api技术栈.md
2026-03-07 22:58:43 +08:00

2.1 KiB
Raw Permalink Blame History

soul-api Go 技术栈

语言与运行时

  • Go 1.25

Web 框架与 HTTP

  • Gingithub.com/gin-gonic/ginHTTP 路由与请求处理
  • gin-contrib/cors:跨域
  • unrolled/secure安全头HTTPS 重定向、HSTS 等,在 middleware.Secure() 中使用)

数据层

  • GORMgorm.io/gormORM
  • GORM MySQL 驱动gorm.io/driver/mysql):连接 MySQL
  • go-sql-driver/mysql:底层 MySQL 驱动GORM 间接依赖)

微信生态

  • PowerWeChatgithub.com/ArtisanCloud/PowerWeChat/v3):微信开放能力(小程序、支付、商家转账等)
  • PowerLibsgithub.com/ArtisanCloud/PowerLibs/v3PowerWeChat 依赖

配置与环境

  • godotenvgithub.com/joho/godotenv):从 .env 加载环境变量
  • 业务配置集中在 internal/config,通过 config.Load() 读取

鉴权与安全

  • golang-jwt/jwt/v5:管理端 JWT 签发与校验(internal/auth/adminjwt.go
  • 管理端路由使用 middleware.AdminAuth() 做 JWT 校验

工具与间接依赖

  • golang.org/x/time:时间/限流相关(如 rate
  • gin-contrib/sseSSEGin 间接)
  • bytedance/sonicJSON 编解码Gin 默认)
  • go-playground/validator请求体校验Gin 的 ShouldBindJSON 等)
  • redis/go-redis仅在依赖图中出现PowerWeChat 等间接引入),项目代码中未直接使用 Redis

项目结构(技术栈视角)

层级 技术/约定
入口 cmd/server/main.go,标准库 net/http + Gin
路由 internal/routerGin Group/api/admin/miniprogram 等)
中间件 CORS、Secure、限流middleware.RateLimiter)、管理端 JWT
业务逻辑 internal/handlerGORM + internal/model
数据访问 internal/database 提供 DB() *gorm.DB,统一用 GORM
微信相关 internal/wechat(小程序、支付、转账等封装)
开发工具 .air.toml 热重载、Makefile

整体上是一个 Gin + GORM + MySQL + 微信 PowerWeChat + JWT 管理端鉴权 的 Go 后端,面向小程序与管理端 API。