功能特性: - 用户端充值记录页面,从使用日志中分离 - 充值记录中的去开发票功能 - 管理员发票管理页面 - 发票申请、处理、邮件通知功能 - 侧边栏菜单更新 - UI优化和控制台清理 - Docker部署配置 - 生产环境安全配置
41 lines
795 B
Go
41 lines
795 B
Go
package middleware
|
|
|
|
import (
|
|
"sync/atomic"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// HTTPStats 存储HTTP统计信息
|
|
type HTTPStats struct {
|
|
activeConnections int64
|
|
}
|
|
|
|
var globalStats = &HTTPStats{}
|
|
|
|
// StatsMiddleware 统计中间件
|
|
func StatsMiddleware() gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
// 增加活跃连接数
|
|
atomic.AddInt64(&globalStats.activeConnections, 1)
|
|
|
|
// 确保在请求结束时减少连接数
|
|
defer func() {
|
|
atomic.AddInt64(&globalStats.activeConnections, -1)
|
|
}()
|
|
|
|
c.Next()
|
|
}
|
|
}
|
|
|
|
// StatsInfo 统计信息结构
|
|
type StatsInfo struct {
|
|
ActiveConnections int64 `json:"active_connections"`
|
|
}
|
|
|
|
// GetStats 获取统计信息
|
|
func GetStats() StatsInfo {
|
|
return StatsInfo{
|
|
ActiveConnections: atomic.LoadInt64(&globalStats.activeConnections),
|
|
}
|
|
} |