feat: 增加选区和轮询上号功能

主要修改:
1. 在LinkController中新增选区和轮询上号接口,支持用户选择游戏区域和检查上号状态。
2. 在LinkStatusService中实现选区操作逻辑,包含空闲设备检查和状态更新。
3. 更新ScriptClient,增加获取设备二维码和检查设备状态的功能。
4. 修改SecurityConfig,允许选区和轮询上号接口公开访问。
5. 更新application.yml,添加应用基础URL配置。

技术细节:
- 新增SelectRegionResponse和PollLoginResponse DTO以支持新功能的返回格式。
- 通过脚本端接口实现选区和上号状态的检查与更新。
This commit is contained in:
zyh
2025-08-26 20:29:27 +08:00
parent 3847250c2b
commit 400d6757c8
12 changed files with 1288 additions and 143 deletions

View File

@@ -42,6 +42,8 @@ public class SecurityConfig {
.pathMatchers(HttpMethod.POST, "/api/auth/login").permitAll()
.pathMatchers(HttpMethod.GET, "/api/auth/me").permitAll()
.pathMatchers(HttpMethod.GET, "/api/link/status").permitAll() // 用户端获取链接状态接口,公开访问
.pathMatchers(HttpMethod.POST, "/api/link/select-region").permitAll() // 用户端选区接口,公开访问
.pathMatchers(HttpMethod.GET, "/api/link/poll-login").permitAll() // 用户端轮询登录接口,公开访问
.pathMatchers("/api/link/**").authenticated() // 其他链接接口需要认证
.anyExchange().permitAll() // 其他接口后续再收紧
)
@@ -61,6 +63,8 @@ public class SecurityConfig {
log.info(" * POST /api/auth/login -> 允许所有");
log.info(" * GET /api/auth/me -> 允许所有");
log.info(" * GET /api/link/status -> 允许所有 (用户端公开接口)");
log.info(" * POST /api/link/select-region -> 允许所有 (用户端公开接口)");
log.info(" * GET /api/link/poll-login -> 允许所有 (用户端公开接口)");
log.info(" * /api/link/** -> 需要认证");
log.info(" * 其他路径 -> 允许所有");