Commit Graph

2 Commits

Author SHA1 Message Date
LoveLosita
d07234e183 Version: 0.2.0.dev.260210
feat: 🗑️ 新增删除单个课程与解除安排日程接口

- 逻辑复杂,初版接口写完后才发现需求需要传切片
- 针对需求修改,通过大 for 循环和事务处理来解决问题 🔄

refactor: 🔧 移除部分冗余的用户 ID 验证逻辑

- sv/schedule.go 中,进来的 ID 已通过 redis 黑名单与 JWT 保护验证
- 去除重复的数据库查验,优化了代码流程 🛠️

refactor: 🔄 重构 API 层业务错误判断逻辑

- 抛弃了原有的手动比对方式,封装进 `respond` 包,简化判断流程
- 未来不再手动遍历数据链路,提升了开发效率 🧹

undo: ⚠️ 修复任务块添加到日程的接口问题(待修复)

- 接口允许直接修改已经安排的任务时间,且重复执行时未被禁止
- 此逻辑存在问题,计划在下个版本修复 🔧

undo: ⚠️ 重测接口的幂等性与其他特性

- 当前接口幂等性等特性尚未专门测试,后续计划重测所有接口
- 测试不充分,待进一步完善 🔄

undo: ⚠️ 修复刷新 token 接口错误处理问题

- 当前接口将 token 本身的错误以 500 错误返回,需修复此问题 🛠️
2026-02-10 19:51:05 +08:00
LoveLosita
5038ec2fc5 Version:0.0.2.dev.260203
feat: implement redis-based logout and jwt middleware 🚀 feat: 实现基于 Redis 的登出机制与 JWT 中间件 🚀

Middleware Construction: Implemented JWTTokenAuth middleware for Gin, featuring structured claims parsing and active session validation. 🛡️
中间件构建:为 Gin 框架实现了 JWTTokenAuth 中间件,支持结构化 Claims 解析与活跃会话验证。🛡️

Redis Integration: Introduced Redis for high-performance state management. Integrated CacheDAO into the Dependency Injection (DI) chain. 
Redis 引入:引入 Redis 进行高性能状态管理。将 CacheDAO 成功集成至依赖注入 (DI) 调用链中。

Secure Logout Module: Developed the logout functional module using a Redis Blacklist mechanism. 🔐
安全登出模块:开发了基于 Redis 黑名单 机制的登出功能模块。🔐

Marked invalidated tokens by storing jti (JWT ID) in Redis with automatic TTL expiration.
通过在 Redis 中存储 jti(JWT 唯一标识)并设置自动 TTL 过期,实现 Token 的主动失效。

Added blacklist checkpoints in both AuthMiddleware and RefreshToken logic to prevent session resurrection.
在认证中间件与 Token 刷新逻辑中同步增设黑名单检查点,杜绝登出后的“死灰复燃”。

Architecture Refinement: Upgraded ValidateRefreshToken and Service-layer handlers to use type-safe struct assertions instead of raw MapClaims. 🏗️
架构精进:升级了 ValidateRefreshToken 与 Service 层处理器,改用类型安全的结构体断言取代原始的 MapClaims,提升了代码健壮性。🏗️
2026-02-03 16:53:16 +08:00