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) }() } }