feat: C2 Redis 接入 + 接口限流(RedisService + @RateLimit,验证码/登录防刷)

This commit is contained in:
Zhou Weidong authored and trae-solo-agent committed 2026-10-21 06:24:55 +08:00
1 parent d1aaf2e5c0
commit fa4977a71d
6 files changed
+145

No files matched your search

@@ -4,6 +4,7 @@ package com.fruitshorts.app.controller;
import com.fruitshorts.app.vo.GoogleLoginReqVO;
import com.fruitshorts.common.pojo.Result;
import com.fruitshorts.framework.redis.RateLimit;
import com.fruitshorts.framework.security.SecurityUtils;
import com.fruitshorts.framework.web.WebUtils;
import com.fruitshorts.user.service.AppAuthService;
@@ -36,6 +37,7 @@ public class AppAuthController {
/** 发送验证码。频控在服务端,客户端不需要自己限流。 */
@Operation(summary = "发送验证码(频控在服务端)")
@RateLimit(limit = 20, windowSeconds = 60, key = "otp")
@PostMapping("/otp")
public Result<Void> sendOtp(@Valid @RequestBody OtpSendReqVO req, HttpServletRequest request) {
otpService.send(req, WebUtils.getClientIp(request));
@@ -50,6 +52,7 @@ public class AppAuthController {
}
@Operation(summary = "登录(验证码或密码)")
@RateLimit(limit = 10, windowSeconds = 60, key = "login")
@PostMapping("/login")
public Result<TokenRespVO> login(@Valid @RequestBody LoginReqVO req,
HttpServletRequest request) {
@@ -18,6 +18,10 @@ spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: Asia/Shanghai
data:
redis:
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
mybatis-plus:
configuration: