feat: Implement a new monitoring system with auto-add capabilities and a dedicated management UI.
This commit is contained in:
@@ -64,6 +64,7 @@ export default function Monitor() {
|
||||
const [targetInput, setTargetInput] = useState(50)
|
||||
const [autoAdd, setAutoAdd] = useState(false)
|
||||
const [minInterval, setMinInterval] = useState(300)
|
||||
const [checkInterval, setCheckInterval] = useState(60)
|
||||
const [pollingEnabled, setPollingEnabled] = useState(false)
|
||||
const [pollingInterval, setPollingInterval] = useState(60)
|
||||
|
||||
@@ -125,6 +126,7 @@ export default function Monitor() {
|
||||
target: targetInput,
|
||||
auto_add: autoAdd,
|
||||
min_interval: minInterval,
|
||||
check_interval: checkInterval,
|
||||
polling_enabled: pollingEnabled,
|
||||
polling_interval: pollingInterval,
|
||||
}),
|
||||
@@ -169,6 +171,7 @@ export default function Monitor() {
|
||||
target: targetInput,
|
||||
auto_add: autoAdd,
|
||||
min_interval: minInterval,
|
||||
check_interval: checkInterval,
|
||||
polling_enabled: newPollingEnabled,
|
||||
polling_interval: pollingInterval,
|
||||
}),
|
||||
@@ -195,6 +198,7 @@ export default function Monitor() {
|
||||
target: targetInput,
|
||||
auto_add: autoAdd,
|
||||
min_interval: minInterval,
|
||||
check_interval: checkInterval,
|
||||
polling_enabled: pollingEnabled,
|
||||
polling_interval: pollingInterval,
|
||||
}),
|
||||
@@ -257,19 +261,21 @@ export default function Monitor() {
|
||||
const target = s.target || 50
|
||||
const autoAddVal = s.auto_add || false
|
||||
const minIntervalVal = s.min_interval || 300
|
||||
const checkIntervalVal = s.check_interval || 60
|
||||
const pollingEnabledVal = s.polling_enabled || false
|
||||
const interval = s.polling_interval || 60
|
||||
|
||||
setTargetInput(target)
|
||||
setAutoAdd(autoAddVal)
|
||||
setMinInterval(minIntervalVal)
|
||||
setCheckInterval(checkIntervalVal)
|
||||
setPollingEnabled(pollingEnabledVal)
|
||||
setPollingInterval(interval)
|
||||
savedPollingIntervalRef.current = interval
|
||||
setCountdown(interval)
|
||||
|
||||
// 返回加载的配置用于后续刷新
|
||||
return { target, autoAdd: autoAddVal, minInterval: minIntervalVal, pollingEnabled: pollingEnabledVal, pollingInterval: interval }
|
||||
return { target, autoAdd: autoAddVal, minInterval: minIntervalVal, checkInterval: checkIntervalVal, pollingEnabled: pollingEnabledVal, pollingInterval: interval }
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
@@ -515,6 +521,16 @@ export default function Monitor() {
|
||||
hint="两次自动补号的最小间隔"
|
||||
disabled={!autoAdd}
|
||||
/>
|
||||
<Input
|
||||
label="检查间隔 (秒)"
|
||||
type="number"
|
||||
min={10}
|
||||
max={300}
|
||||
value={checkInterval}
|
||||
onChange={(e) => setCheckInterval(Number(e.target.value))}
|
||||
hint="自动补号检查频率 (10-300秒)"
|
||||
disabled={!autoAdd}
|
||||
/>
|
||||
</div>
|
||||
<div className="mt-4">
|
||||
<Button onClick={handleSetTarget} loading={loading} className="w-full">
|
||||
|
||||
Reference in New Issue
Block a user