feat: add a service for periodic cleanup of error accounts based on configuration.
This commit is contained in:
@@ -131,8 +131,22 @@ export default function LiveLogViewer({
|
||||
}
|
||||
}
|
||||
|
||||
const handleClear = () => {
|
||||
setLogs([])
|
||||
const handleClear = async () => {
|
||||
if (!confirm('确定要清空所有日志吗?此操作不可撤销。')) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
const res = await fetch('/api/logs/clear', { method: 'POST' })
|
||||
const data = await res.json()
|
||||
if (data.code === 0) {
|
||||
setLogs([])
|
||||
pausedLogsRef.current = []
|
||||
} else {
|
||||
alert('清空日志失败: ' + (data.message || '未知错误'))
|
||||
}
|
||||
} catch (e) {
|
||||
alert('清空日志失败: ' + (e instanceof Error ? e.message : '网络错误'))
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
@@ -161,8 +175,8 @@ export default function LiveLogViewer({
|
||||
</button>
|
||||
<button
|
||||
onClick={handleClear}
|
||||
className="p-1.5 rounded-lg bg-slate-700 text-slate-400 hover:bg-slate-600 transition-colors"
|
||||
title="清空"
|
||||
className="p-1.5 rounded-lg bg-red-500/20 text-red-400 hover:bg-red-500/30 transition-colors"
|
||||
title="清空所有日志"
|
||||
>
|
||||
<Trash2 className="h-3.5 w-3.5" />
|
||||
</button>
|
||||
|
||||
@@ -396,6 +396,31 @@ export default function Cleaner() {
|
||||
<span className="text-sm text-slate-500 dark:text-slate-400">
|
||||
共 {logTotal} 条
|
||||
</span>
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
onClick={async () => {
|
||||
if (!confirm('确定要清空所有清理日志吗?此操作不可撤销。')) return
|
||||
try {
|
||||
const res = await fetch('/api/logs/clear-module?module=cleaner', { method: 'POST' })
|
||||
const data = await res.json()
|
||||
if (data.code === 0) {
|
||||
setLogEntries([])
|
||||
setLogTotal(0)
|
||||
setLogTotalPages(0)
|
||||
setMessage({ type: 'success', text: data.data.message || '日志已清空' })
|
||||
} else {
|
||||
setMessage({ type: 'error', text: data.message || '清空失败' })
|
||||
}
|
||||
} catch {
|
||||
setMessage({ type: 'error', text: '网络错误' })
|
||||
}
|
||||
}}
|
||||
icon={<Trash2 className="h-3 w-3" />}
|
||||
className="text-red-500 hover:text-red-600 border-red-300 hover:border-red-400 dark:border-red-800"
|
||||
>
|
||||
清空日志
|
||||
</Button>
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
|
||||
Reference in New Issue
Block a user