Files
huangguo_server/web/middleware/limitHandler/limit.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

30 lines
706 B
Go

package limitHandler
import (
"91porn-server/common"
"91porn-server/common/stderr"
"91porn-server/web/webg"
"fmt"
"github.com/gin-gonic/gin"
"time"
)
// FilterRequestByExport 限制用户短时间内的导出请求次数,limit决定限制时间
func FilterRequestByExport() gin.HandlerFunc {
return func(ctx *gin.Context) {
manager, err := common.GetAdminAct(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
ctx.Abort()
return
}
key := fmt.Sprintf("export_excel:%v", manager)
if webg.Redis.IsExist(key) {
common.ServeJSON(ctx, stderr.VisitLimit, err)
ctx.Abort()
return
}
go func() { _ = webg.Redis.Set(key, "-", time.Second*3) }()
}
}