🐛 关键修复
单Key渠道冷却Bug修复
修复了单Key渠道在Key冷却后仍被持续请求导致重复触发1308错误的严重问题。
根本原因:
SelectAvailableKey()的单Key分支直接返回Key,完全绕过了IsCoolingDown()冷却检查- 原代码注释"不使用Key级别冷却(YAGNI原则)"是错误的设计假设
修复方案:
- ✅ 在单Key场景增加冷却状态检查 (
internal/app/key_selector.go) - ✅ 新增
TestSelectAvailableKey_SingleKeyCooldown测试覆盖 - ✅ 双重防护机制:
filterCooldownChannels()预过滤 +SelectAvailableKey()二次验证
影响范围:
所有单Key渠道在Key冷却期间现在会自动切换到其他渠道,不再重复触发上游错误。
✨ 功能增强
Web管理界面优化
- 📋 添加批量操作功能(日志/统计/趋势页面)
- 🕒 优化时间范围选择器交互体验
- ➕ 新增记录创建功能
🧪 测试覆盖
- ✅ 新增单Key冷却场景单元测试
- ✅ 所有SelectAvailableKey测试套件通过 (9/9测试用例)
- ✅ 多平台构建验证通过
📝 完整更改日志
- fix(cooldown): 修复单Key渠道冷却后仍被请求导致重复1308错误 (62aa338)
Full Changelog: v1.24.0...v1.24.1