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;