diff --git a/电商AI平台/products.html b/电商AI平台/products.html
index f45b15f..459abfe 100644
--- a/电商AI平台/products.html
+++ b/电商AI平台/products.html
@@ -1677,20 +1677,30 @@ blInput.addEventListener('keydown', e => {
// 创建商品 (真正插入 grid)
saveBtn.addEventListener('click', () => {
+ // 防呆:每一步明确反馈,清晰看出在哪一步出问题
const name = document.getElementById('pf-name').value.trim();
const cat = document.getElementById('pf-cat').value;
if (!name) {
- Shell.toast('请填写商品名称');
+ Shell.toast('请填写商品名称', '必填项');
document.getElementById('pf-name').focus();
return;
}
if (pfFiles.length === 0) {
- Shell.toast('请上传商品主图', '至少 1 张');
+ Shell.toast('请上传商品主图', '至少 1 张 · 必填');
return;
}
- // 计数器收集卖点 bullets
- const bullets = [...document.querySelectorAll('#pf-bullets .bl-item input')]
- .map(i => i.value.trim()).filter(Boolean);
+ // 收集核心卖点:存在 .bl-item .bl-text 里(已确认的)+ .bl-add input(用户打了字但未回车)
+ const confirmedBullets = [...document.querySelectorAll('#pf-bullets .bl-item .bl-text')]
+ .map(el => el.textContent.trim()).filter(Boolean);
+ const pendingInput = document.querySelector('#pf-bullets .bl-add .bl-input');
+ const pendingText = (pendingInput?.value || '').trim();
+ if (pendingText) confirmedBullets.push(pendingText); // 包容用户没按回车的情况
+ if (confirmedBullets.length === 0) {
+ Shell.toast('请填写核心卖点', '至少 1 条 · 回车确认');
+ pendingInput?.focus();
+ return;
+ }
+ const bullets = confirmedBullets;
// 创建 card 并插入 grid 最前
const today = new Date().toISOString().slice(0, 10);
const card = document.createElement('div');
@@ -1767,7 +1777,7 @@ saveBtn.addEventListener('click', () => {
const sidebar = document.querySelector('aside.sidebar a[href="products.html"] .pill-mini');
if (sidebar) sidebar.textContent = remaining;
- Shell.toast('商品已创建', `+ ${name} · 跳转至详情页`);
+ Shell.toast('商品已创建 · 即将跳转详情', `+ ${name} · ${bullets.length} 条卖点`);
closeNewProductDrawer();
// 重置表单(为下次新建准备)
document.getElementById('pf-name').value = '';
@@ -1777,10 +1787,12 @@ saveBtn.addEventListener('click', () => {
if (pfGrid) pfGrid.innerHTML = '';
const blList = document.getElementById('pf-bullets');
if (blList) blList.querySelectorAll('.bl-item').forEach(li => li.remove());
- // 商品库新建商品后跳转到该商品的详情页(其他页保持原行为)
+ const pendingI = document.querySelector('#pf-bullets .bl-add .bl-input');
+ if (pendingI) pendingI.value = '';
+ // 1200ms 后跳转(让 toast 看清),商品库新建商品后跳转到该商品的详情页
setTimeout(() => {
location.href = 'product-detail.html?t=' + Date.now() + '&product=' + encodeURIComponent(name);
- }, 400);
+ }, 1200);
});