Merge pull request #493 from simonjiang99/fix/3-minutes-minimum

fix(api):enforce minimum scan interval of three minutes
This commit is contained in:
tinkle-community
2025-11-05 16:02:04 +08:00
committed by GitHub
3 changed files with 12 additions and 10 deletions

View File

@@ -345,8 +345,8 @@ func (s *Server) handleCreateTrader(c *gin.Context) {
// 设置扫描间隔默认值 // 设置扫描间隔默认值
scanIntervalMinutes := req.ScanIntervalMinutes scanIntervalMinutes := req.ScanIntervalMinutes
if scanIntervalMinutes <= 0 { if scanIntervalMinutes < 3 {
scanIntervalMinutes = 3 // 默认3分钟 scanIntervalMinutes = 3 // 默认3分钟且不允许小于3
} }
// ✨ 查询交易所实际余额,覆盖用户输入 // ✨ 查询交易所实际余额,覆盖用户输入
@@ -527,6 +527,8 @@ func (s *Server) handleUpdateTrader(c *gin.Context) {
scanIntervalMinutes := req.ScanIntervalMinutes scanIntervalMinutes := req.ScanIntervalMinutes
if scanIntervalMinutes <= 0 { if scanIntervalMinutes <= 0 {
scanIntervalMinutes = existingTrader.ScanIntervalMinutes // 保持原值 scanIntervalMinutes = existingTrader.ScanIntervalMinutes // 保持原值
} else if scanIntervalMinutes < 3 {
scanIntervalMinutes = 3
} }
// 更新交易员配置 // 更新交易员配置

1
web/package-lock.json generated
View File

@@ -7177,7 +7177,6 @@
"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"peer": true,
"bin": { "bin": {
"yaml": "bin.mjs" "yaml": "bin.mjs"
}, },

View File

@@ -442,14 +442,15 @@ export function TraderConfigModal({
<input <input
type="number" type="number"
value={formData.scan_interval_minutes} value={formData.scan_interval_minutes}
onChange={(e) => onChange={(e) => {
handleInputChange( const parsedValue = Number(e.target.value)
'scan_interval_minutes', const safeValue = Number.isFinite(parsedValue)
Number(e.target.value) ? Math.max(3, parsedValue)
) : 3
} handleInputChange('scan_interval_minutes', safeValue)
}}
className="w-full px-3 py-2 bg-[#0B0E11] border border-[#2B3139] rounded text-[#EAECEF] focus:border-[#F0B90B] focus:outline-none" className="w-full px-3 py-2 bg-[#0B0E11] border border-[#2B3139] rounded text-[#EAECEF] focus:border-[#F0B90B] focus:outline-none"
min="1" min="3"
max="60" max="60"
step="1" step="1"
/> />