From 5fcecdaefd9eff4305d4cfbb6ba3fedd13085ee9 Mon Sep 17 00:00:00 2001 From: ypsdf1 Date: Thu, 16 Jul 2026 17:18:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=BB=E5=BA=95=E4=BF=AE=E5=A4=8D=E5=BA=93?= =?UTF-8?q?=E5=AD=980=E5=8F=98-1=EF=BC=9A=E5=BA=93=E5=AD=98=E6=A1=86?= =?UTF-8?q?=E6=94=B9text+=E4=B8=A5=E6=A0=BC=E6=A0=A1=E9=AA=8C(=E7=A9=BA=3D?= =?UTF-8?q?=E6=97=A0=E9=99=90,0=3D=E5=94=AE=E7=BD=84,=E9=9D=9E=E6=B3=95?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E4=B8=8D=E5=86=8D=E9=9D=99=E9=BB=98=E8=BD=AC?= =?UTF-8?q?-1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/admin.php b/admin.php index 3ef7a1a..25343eb 100644 --- a/admin.php +++ b/admin.php @@ -3536,7 +3536,7 @@ async function loadShopConfig(el) {

新增配置

-
+
@@ -3616,9 +3616,17 @@ async function editShopConfig(id) { async function saveShopConfig() { const id = document.getElementById('scfId').value; const name = document.getElementById('scfName').value.trim(); - // ★ 修复:库存=0不能写成-1。空值才默认-1(无限),0是合法售罄值 - const stockRaw = document.getElementById('scfStock').value; - const stock = stockRaw === '' ? -1 : parseInt(stockRaw, 10); + // ★ 库存严格校验:空=-1(无限),0=售罄(合法),≥0=数量;非法输入明确报错,绝不静默转-1 + const stockRaw = document.getElementById('scfStock').value.trim(); + let stock; + if (stockRaw === '') { + stock = -1; + } else if (/^-?\d+$/.test(stockRaw)) { + stock = parseInt(stockRaw, 10); + if (stock < -1) { glassAlert('库存不能小于 -1(-1=无限, 0=售罄)'); return; } + } else { + glassAlert('库存必须是数字:-1=无限, 0=售罄, ≥0=数量'); return; + } const offer = document.getElementById('scfOffer').value.trim(); const expire = document.getElementById('scfExpire').value.trim(); const price = parseFloat(document.getElementById('scfPrice').value) || 0;