feat(admin): 支持定时测试自动恢复并统一账号恢复入口

- 为定时测试计划增加 auto_recover 配置,补齐前后端类型、接口、仓储与数据库迁移
- 在定时测试成功后自动恢复账号 error、rate-limit 等可恢复运行时状态
- 新增 /admin/accounts/:id/recover-state 接口,合并原有重置状态与清限流操作
- 更新账号管理菜单与定时测试面板,补充自动恢复开关、说明提示和状态展示
- 补充账号恢复、限流清理与仓储同步相关测试
This commit is contained in:
kyx236
2026-03-08 06:59:53 +08:00
parent 03bf348530
commit 0c29468f90
22 changed files with 525 additions and 85 deletions

View File

@@ -1883,9 +1883,9 @@ export default {
remaining: '剩余时间',
matchedKeyword: '匹配关键词',
errorMessage: '错误详情',
reset: '重置状态',
resetSuccess: '临时不可调度已重置',
resetFailed: '重置临时不可调度失败',
reset: '恢复状态',
resetSuccess: '账号状态已恢复',
resetFailed: '恢复账号状态失败',
failedToLoad: '加载临时不可调度状态失败',
notActive: '当前账号未处于临时不可调度状态。',
expired: '已到期',
@@ -1986,6 +1986,10 @@ export default {
bulkDeleteSuccess: '成功删除 {count} 个账号',
bulkDeletePartial: '部分删除成功:成功 {success} 个,失败 {failed} 个',
bulkDeleteFailed: '批量删除失败',
recoverState: '恢复状态',
recoverStateHint: '用于恢复错误、限流和临时不可调度等可恢复状态。',
recoverStateSuccess: '账号状态已恢复',
recoverStateFailed: '恢复账号状态失败',
resetStatus: '重置状态',
statusReset: '账号状态已重置',
failedToResetStatus: '重置账号状态失败',
@@ -2578,7 +2582,21 @@ export default {
failed: '失败',
running: '运行中',
schedule: '定时测试',
cronHelp: '标准 5 字段 cron 表达式(例如 */30 * * * *'
cronHelp: '标准 5 字段 cron 表达式(例如 */30 * * * *',
cronTooltipTitle: 'Cron 表达式示例:',
cronTooltipMeaning: '用于定义自动执行测试的时间规则,格式依次为:分钟 小时 日 月 星期。',
cronTooltipExampleEvery30Min: '*/30 * * * *:每 30 分钟运行一次',
cronTooltipExampleHourly: '0 * * * *:每小时整点运行一次',
cronTooltipExampleDaily: '0 9 * * *:每天 09:00 运行一次',
cronTooltipExampleWeekly: '0 9 * * 1每周一 09:00 运行一次',
cronTooltipRange: '推荐填写范围:使用标准 5 字段 cron如果只是健康检查建议从每 30 分钟、每 1 小时或每天固定时间开始,不建议一开始就设置过高频率。',
maxResultsTooltipTitle: '最大结果数说明:',
maxResultsTooltipMeaning: '用于限制单个计划最多保留多少条历史测试结果,避免结果列表无限增长。',
maxResultsTooltipBody: '系统只会保留最近的测试结果;当保存数量超过这个值时,更早的历史记录会自动清理,避免列表过长和存储持续增长。',
maxResultsTooltipExample: '例如填写 100表示最多保存最近 100 次测试结果;第 101 次结果写入后,最早的一条会被清理。',
maxResultsTooltipRange: '推荐填写范围:一般可填 20 到 200。只关注近期可用性时可填 20-50需要回看较长时间的波动趋势时可填 100-200。',
autoRecover: '自动恢复',
autoRecoverHelp: '测试成功后自动恢复异常状态的账号'
},
// Proxies Management