优化:商店周卡/道具/戒指/钓鱼卡购买前弹确认窗口,购买成功后 Toast 提示
- 点击购买按钮 → 弹出 chatDialog.confirm 确认窗口 「确认花费 🪙 X 金币购买【XXX】吗?」 - 确认后才调用 buyItem;取消则不执行 - 购买成功后:showShopToast「✅ XXX 购买成功!」 - 商店保持打开(不再 close)让用户看到分组标题徽章更新
This commit is contained in:
@@ -894,10 +894,15 @@
|
||||
btn.innerHTML = `🪙 ${Number(item.price).toLocaleString()}`;
|
||||
btn.onclick = () => openGiftDialog(item);
|
||||
} else {
|
||||
// 周卡、道具、戒指:直接确认购买
|
||||
// 周卡、道具、戒指、自动钓鱼卡:弹确认窗口再购买
|
||||
btn.className = 'shop-btn';
|
||||
btn.innerHTML = `🪙 ${Number(item.price).toLocaleString()}`;
|
||||
btn.onclick = () => buyItem(item.id, item.name, item.price, 'all', '');
|
||||
btn.onclick = async () => {
|
||||
const confirmMsg =
|
||||
`确认花费 🪙 ${Number(item.price).toLocaleString()} 金币购买\n【${item.name}】吗?`;
|
||||
const ok = await window.chatDialog.confirm(confirmMsg, '确认购买');
|
||||
if (ok) buyItem(item.id, item.name, item.price, 'all', '');
|
||||
};
|
||||
}
|
||||
card.appendChild(btn);
|
||||
list.appendChild(card);
|
||||
@@ -962,13 +967,13 @@
|
||||
if (data.jjb !== undefined)
|
||||
document.getElementById('shop-jjb').textContent = Number(data.jjb)
|
||||
.toLocaleString();
|
||||
// 购买成功提示
|
||||
showShopToast(`✅ ${name} 购买成功!`, true);
|
||||
// 播放本地特效(购买者自己必须也能看到)
|
||||
if (data.play_effect && window.EffectManager) {
|
||||
window.EffectManager.play(data.play_effect);
|
||||
}
|
||||
// 关闭商店弹窗,让用户欣赏特效
|
||||
closeShopModal();
|
||||
// 延迟刷新商品数据
|
||||
// 延迟刷新商品数据(保持商店开着让用户看到状态更新)
|
||||
shopLoaded = false;
|
||||
setTimeout(() => {
|
||||
fetchShopData();
|
||||
|
||||
Reference in New Issue
Block a user