LoveLosita
0bc06963ee
Version: 0.2.2.dev.260210
...
feat: 🗑️ 新增删除任务块接口
- 实现 schedules、schedule_events 与 task_items 三表的联动删除
- 保证数据一致性,避免遗留脏数据 ✅
2026-02-10 22:05:59 +08:00
LoveLosita
d5f0b8da63
Version: 0.2.1.dev.260210
...
feat: 🚦 新增基于 Redis 令牌桶的限流中间件
- 使用 Redis 实现令牌桶算法进行限流 🪣
- 覆盖除登录、注册、刷新 token 以外的所有接口 🔒
fix: 🐛 修复任务块添加到日程接口可修改已安排任务时间的问题
- 禁止通过该接口直接修改已安排任务块的时间
- 修正不合理的业务逻辑,保证数据一致性 ✅
2026-02-10 20:52:06 +08:00
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
6d857d16c2
Version: 0.1.4.dev.260208
...
feat: 📆 新增查看用户整周日程接口
2026-02-08 20:22:49 +08:00
LoveLosita
79b6be5f40
Version: 0.1.3.dev.260208
...
refactor: ♻️ 重命名部分接口接收器以避免与 dao 层包名冲突
- 调整部分接口接收器命名,避免与 dao 层包名重名 🧩
feat: 📅 新增获取用户今日日程接口并完成实现
fix: 🐛 修复现实日期与相对日期转换逻辑中的初始化时序问题
- 修复 conv/time.go 中日期转换函数的一个 bug ⏱️
- 解决 viper 在包级变量初始化时机过早的问题
- 避免因过早初始化导致无法读取配置中的学期开学/结束时间 📆
2026-02-08 19:09:40 +08:00
LoveLosita
75a44f2edd
Version: 0.1.2.dev.260207
...
feat: ⚠️ 批量导入课程接口支持冲突预检测与冲突提示
- 批量导入课程接口支持预先检测冲突
- 返回并展示具体发生冲突的课程信息 📚 💥
- 补全此前规划的冲突提示功能(把大饼补上了 🍞 )
refactor: 🧱 使用工作单元模式管理 dao 层事务
- 引入工作单元模式(Unit of Work)统一管理 dao 层
- 新建全局事务,使跨 repo 的 gorm 事务管理更加方便 🔁
fix: 🐛 修复将任务块添加进日程接口的多个问题
- 修复核心逻辑 bug(费了老大劲 😵💫 )
- 补充并覆盖该接口的多种异常与错误场景测试 🧪
2026-02-07 22:08:13 +08:00
LoveLosita
f4bea0576c
feat: 🗓️ 新增任务块排期能力并完善课程与日程模型
...
Version: 0.1.1.dev.260207
- 新增并测试通过将任务块排进日程接口 ✅
- 批量导入课程接口增加单双周功能,支持只在单双周上课的课程 📚
- 任务块时间定位逻辑调整为「第几周-周几」模式 🧭
refactor: 🔨 重构时间与日程数据结构
- 完成绝对日期与相对时间的转换逻辑 🔄
- 后续可根据需求灵活决定时间的传入与输出类型
- 再次重构 schedule 表单结构
- 拆分为 schedule_event(单)与 schedule(多)
- 建立前者对后者的一对多关系 🧩
fix: 🐛 大幅调整表结构与业务逻辑,修复大量历史遗留 bug 🔥
2026-02-07 16:33:30 +08:00
LoveLosita
132b7095ac
Version:0.1.0.dev.260205
...
feat: 🆕 完善course模块功能并优化批量导入接口
- 调整 task-class 模型代码并增加注释,使其更简洁易读 ✍️
- 结构调整:将课程相关接口从 schedule 分类移至独立的 course 分类 🚀
- 修改接口 URL 从 /schedule 更改为 /course 🔄
fix: 🐛 修复批量导入课程接口重复导入相同课程的 bug
- 通过在数据库添加唯一约束解决此问题 🔐
- 这只是初步修复,后续会在 sv 层增加重复/时间冲突检测逻辑 ⚠️
- 引导用户修改课表与任务块时间冲突的机制待实现 ⏳
refactor: 🔨 重构 schedule 表单结构
- 将节次管理策略从字符串存储改为原子化存储(如 1-2 节更改为单独两条记录)
- 为后续冲突检查与智能排课做准备 🧠
perf: 🚀 优化批量导入课程接口性能
- 通过数据暂存内存中减少数据插入 MySQL 的次数 ⚡
2026-02-05 16:51:15 +08:00
LoveLosita
1bcbd41bec
Version:0.0.7.dev.260204
...
feat: ✅ 新增获取完整任务类与修改任务类接口并完成测试
- 新增获取完整任务类接口 📋
- 实现创建任务类的逆向数据转换函数 🔄
- 工程量较大,涉及完整数据结构还原 🏗️
- 新增修改任务类接口 ✏️
- 调整 service 层 AddOrUpdateTaskClass 函数逻辑
- 复用创建任务类的大部分实现,并通过 method 区分创建/更新操作 ♻️
- 更新 dao 层操作逻辑 🗄️
- 增加防止越权修改其它用户任务类的机制 🔒
- 两个接口代码量巨大,但均已测试通过 🧪 💪
2026-02-04 22:08:58 +08:00
LoveLosita
eb521a4c35
Version:0.0.6.dev.260204
...
feat: 🏗️ 在 sv/dao 层引入 ctx 支持链路追踪与超时控制(预留扩展)
- 架构改造:在 sv 与 dao 层统一引入 ctx 🧩
- 为后续链路追踪、超时控制等能力提供支持 ⏱️ (未来开发)
perf: 🚀 为获取任务类列表接口引入 Redis 缓存并保证一致性
- 获取任务类列表接口新增 Redis 缓存提升访问速度 ⚡
- 通过新增任务类时主动删除缓存,确保主从一致性 ✅
- 防止缓存与数据库列表不一致问题 🛡️
2026-02-04 20:17:52 +08:00
LoveLosita
af8e8bd804
Version:0.0.5.dev.260204
...
feat: 🏗️ 完成任务分类创建与列表查询接口并通过测试
- 历经复杂嵌套逻辑处理 🌀
- 实现创建任务分类接口 ✅
- 实现获取任务分类列表接口 📋
- 接口测试全部通过 🧪
perf: 🚀 下个版本将为任务分类列表接口加入 Redis 缓存以提升查询速度 ⚡
2026-02-04 19:26:22 +08:00
LoveLosita
f554d9bd06
Version:0.0.4.dev.260203
...
feat: 📚 完成课程导入与校验接口(赶在 token 过期前…)
- 实现课程导入接口 ✅
- 实现课程信息校验接口 🔍
- 测试通过 🧪
fix: 🐛 修了一堆 bug,15 分钟 accessToken 默默见证了时间的流逝 ⏳ 😭
2026-02-03 22:05:11 +08:00
LoveLosita
a59bcfbc5e
Version:0.0.3.dev.260203
...
feat: ✨ 新增任务队列任务获取与创建接口
- 编写获取任务队列中任务的接口
- 编写新增任务接口
- 完成相关测试并验证通过 ✅
2026-02-03 20:27:36 +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
LoveLosita
15825cbbff
Version:0.0.1.dev.260202.hotfix2
...
Docs:
Updated README.md with corrections for mistakes in image quoting and formats. 📝
文档:
更新 README.md,修改了一些图片引用和格式上小错误。📝
2026-02-02 21:41:29 +08:00
LoveLosita
20dea595cd
Version:0.0.1.dev.260202.hotfix
...
DevOps & Docs:
Added docker-compose.yml for seamless MySQL 8.0 & environment setup. 🐳
Updated README.md with corrections for mistakes in image quoting and formats. 📝
运维与文档:
新增 docker-compose.yml,实现 MySQL 8.0 环境的一键启动。🐳
更新 README.md,修改了一些图片引用和格式上小错误。📝
2026-02-02 21:40:15 +08:00
LoveLosita
78aa38a6f3
Version:0.0.1.dev.260202
...
feat: build core architecture & implement user auth modules 🚀
feat: 搭建核心架构并实现用户认证模块 🚀
Framework Migration: Switched from Hertz to Gin, providing a more idiomatic and lightweight web foundation. ⚡
框架迁移:从 Hertz 切换至 Gin,构建了更符合 Go 惯例且轻量级的 Web 基础。⚡
Architectural Overhaul: Refactored the 3-layer architecture from global-variable-based calls to Explicit Dependency Injection (DI) via New... factory functions. This significantly improves testability and decoupling. 🏗️
架构重构:将三层架构从基于“全局变量”的调用重构为通过 New... 工厂函数实现的显式依赖注入 (DI)。这大幅提升了代码的可测试性与解耦程度。🏗️
User Auth: Completed and tested Register, Login, and Token Refresh APIs with robust error handling and Bcrypt password hashing. 🔐
用户认证:完成了注册、登录与 Token 刷新接口并通过测试,包含健壮的错误处理与 Bcrypt 密码哈希加密。🔐
Config Management: Integrated Viper for centralized, environment-aware configuration management. ⚙️
配置管理:集成了 Viper,实现了中心化且具备环境感知能力的配置管理。⚙️
DevOps & Docs:
Added docker-compose.yml for seamless MySQL 8.0 & environment setup. 🐳
Updated README.md with corrections for mistakes in image quoting and formats. 📝
运维与文档:
新增 docker-compose.yml,实现 MySQL 8.0 环境的一键启动。🐳
更新 README.md,修改了一些图片引用和格式上小错误。📝
2026-02-02 21:32:21 +08:00
LoveLosita
8b45e0e332
inital commit
2026-02-01 22:09:59 +08:00