diff --git a/domain/audit/api.py b/domain/audit/api.py index 07b0172..ba7bfa8 100644 --- a/domain/audit/api.py +++ b/domain/audit/api.py @@ -62,7 +62,5 @@ async def clear_audit_logs( ): start_dt = _parse_iso(start_time, "start_time") end_dt = _parse_iso(end_time, "end_time") - if start_dt is None and end_dt is None: - raise HTTPException(status_code=400, detail="start_time 或 end_time 至少提供一个") deleted_count = await AuditService.clear_logs(start_time=start_dt, end_time=end_dt) return response.success({"deleted_count": deleted_count}) diff --git a/web/src/i18n/locales/en.json b/web/src/i18n/locales/en.json index 9623c50..5baabb2 100644 --- a/web/src/i18n/locales/en.json +++ b/web/src/i18n/locales/en.json @@ -527,6 +527,7 @@ "Status": "Status", "Confirm clear logs?": "Confirm clear logs?", "This will delete logs in selected range irreversibly.": "This will delete logs in selected range irreversibly.", + "This will delete all logs irreversibly.": "This will delete all logs irreversibly.", "Cleared {count} logs": "Cleared {count} logs", "Time": "Time", "Level": "Level", diff --git a/web/src/i18n/locales/zh.json b/web/src/i18n/locales/zh.json index 4d3ebb4..fb686f1 100644 --- a/web/src/i18n/locales/zh.json +++ b/web/src/i18n/locales/zh.json @@ -509,6 +509,7 @@ "Status": "状态", "Confirm clear logs?": "确认清理日志?", "This will delete logs in selected range irreversibly.": "该操作将删除选定时间范围内的所有日志,且不可恢复。", + "This will delete all logs irreversibly.": "将删除全部日志且不可恢复", "Cleared {count} logs": "成功清理 {count} 条日志", "Time": "时间", "Level": "级别", diff --git a/web/src/pages/AuditLogsPage.tsx b/web/src/pages/AuditLogsPage.tsx index 62a00bf..3714901 100644 --- a/web/src/pages/AuditLogsPage.tsx +++ b/web/src/pages/AuditLogsPage.tsx @@ -95,13 +95,12 @@ const AuditLogsPage = memo(function AuditLogsPage() { }, [fetchList]); const handleClearLogs = () => { - if (!filters.start_time && !filters.end_time) { - message.warning(t('Please select time range')); - return; - } + const hasRange = !!(filters.start_time || filters.end_time); Modal.confirm({ title: t('Confirm clear logs?'), - content: t('This will delete logs in selected range irreversibly.'), + content: hasRange + ? t('This will delete logs in selected range irreversibly.') + : t('This will delete all logs irreversibly.'), onOk: async () => { try { const params: any = {};