本项目是一个自研聚合支付网关系统,采用前后端分离架构,提供统一的收银台体验
后端语言 Go 1.25
Web框架 Gin v1.9.1
ORM GORM + PostgreSQL Driver v1.25.5
数据库 PostgreSQL 15
缓存 Redis 7
支付SDK go-pay/gopay v1.5.102
鉴权 golang-jwt/jwt v5
日志 go.uber.org/zap v1.26.0
定时任务 robfig/cron v3
前端框架 Vue 3.4.0
UI组件库 Element Plus 2.4.4
图表 ECharts 5.4.3
构建工具 Vite 5.0.10
容器化 Docker + Docker Compose
CI/CD GitHub Actions
cmd/server/main.go ← 程序入口
internal/
├── config/ ← 配置加载(Viper + 环境变量)
├── router/ ← 路由注册
├── middleware/ ← 中间件(认证、限流、日志、安全头)
├── handler/ ← HTTP层(请求解析、响应封装)
├── service/ ← 业务逻辑层(核心)
├── repository/ ← 数据访问层(GORM)
├── model/ ← 数据库模型
├── dto/ ← 数据传输对象
└── pkg/ ← 公共工具包
├── auth/ ← JWT黑名单
├── crypto/ ← 配置加密
├── lock/ ← 分布式锁
├── logger/ ← 日志封装
├── metrics/ ← 监控指标
└── utils/ ← 通用工具