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
if scanIntervalMinutes <= 0 {
scanIntervalMinutes = 3 // 默认3分钟
if scanIntervalMinutes < 3 {
scanIntervalMinutes = 3 // 默认3分钟且不允许小于3
}
// ✨ 查询交易所实际余额,覆盖用户输入
@@ -527,6 +527,8 @@ func (s *Server) handleUpdateTrader(c *gin.Context) {
scanIntervalMinutes := req.ScanIntervalMinutes
if scanIntervalMinutes <= 0 {
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==",
"dev": true,
"license": "ISC",
"peer": true,
"bin": {
"yaml": "bin.mjs"
},

View File

@@ -442,14 +442,15 @@ export function TraderConfigModal({
<input
type="number"
value={formData.scan_interval_minutes}
onChange={(e) =>
handleInputChange(
'scan_interval_minutes',
Number(e.target.value)
)
}
onChange={(e) => {
const parsedValue = Number(e.target.value)
const safeValue = Number.isFinite(parsedValue)
? 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"
min="1"
min="3"
max="60"
step="1"
/>