迁移买单前台弹窗事件
This commit is contained in:
@@ -31,6 +31,7 @@ export {
|
|||||||
openAdminBaccaratLossCoverModal,
|
openAdminBaccaratLossCoverModal,
|
||||||
submitBaccaratLossCoverEvent,
|
submitBaccaratLossCoverEvent,
|
||||||
} from "./chat-room/baccarat-loss-cover-admin.js";
|
} from "./chat-room/baccarat-loss-cover-admin.js";
|
||||||
|
export { bindBaccaratLossCoverControls } from "./chat-room/baccarat-loss-cover.js";
|
||||||
export {
|
export {
|
||||||
bankAction,
|
bankAction,
|
||||||
bankLoadInfo,
|
bankLoadInfo,
|
||||||
@@ -102,6 +103,7 @@ import {
|
|||||||
openAdminBaccaratLossCoverModal,
|
openAdminBaccaratLossCoverModal,
|
||||||
submitBaccaratLossCoverEvent,
|
submitBaccaratLossCoverEvent,
|
||||||
} from "./chat-room/baccarat-loss-cover-admin.js";
|
} from "./chat-room/baccarat-loss-cover-admin.js";
|
||||||
|
import { bindBaccaratLossCoverControls } from "./chat-room/baccarat-loss-cover.js";
|
||||||
import {
|
import {
|
||||||
bankAction,
|
bankAction,
|
||||||
bankLoadInfo,
|
bankLoadInfo,
|
||||||
@@ -176,6 +178,7 @@ if (typeof window !== "undefined") {
|
|||||||
bindBaccaratLossCoverAdminControls,
|
bindBaccaratLossCoverAdminControls,
|
||||||
closeAdminBaccaratLossCoverModal,
|
closeAdminBaccaratLossCoverModal,
|
||||||
closeCurrentBaccaratLossCoverEvent,
|
closeCurrentBaccaratLossCoverEvent,
|
||||||
|
bindBaccaratLossCoverControls,
|
||||||
loadAdminCurrentLossCoverEvent,
|
loadAdminCurrentLossCoverEvent,
|
||||||
openAdminBaccaratLossCoverModal,
|
openAdminBaccaratLossCoverModal,
|
||||||
submitBaccaratLossCoverEvent,
|
submitBaccaratLossCoverEvent,
|
||||||
@@ -261,6 +264,7 @@ if (typeof window !== "undefined") {
|
|||||||
bindToolbarControls();
|
bindToolbarControls();
|
||||||
bindAdminMenuControls();
|
bindAdminMenuControls();
|
||||||
bindBaccaratLossCoverAdminControls();
|
bindBaccaratLossCoverAdminControls();
|
||||||
|
bindBaccaratLossCoverControls();
|
||||||
bindBankControls();
|
bindBankControls();
|
||||||
bindFishingControls();
|
bindFishingControls();
|
||||||
bindMarriageStatusControls();
|
bindMarriageStatusControls();
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
// 百乐加强买单活动前台弹窗事件代理,替代 Blade 内联 onclick。
|
||||||
|
|
||||||
|
let baccaratLossCoverEventsBound = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调用买单活动前台存量全局函数。
|
||||||
|
*
|
||||||
|
* @param {string} functionName 全局函数名
|
||||||
|
* @param {...unknown} args 参数
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
function callLossCoverGlobal(functionName, ...args) {
|
||||||
|
// 前台弹窗的数据加载、领取接口和金币同步仍由 Blade 旧脚本维护。
|
||||||
|
if (typeof window[functionName] === "function") {
|
||||||
|
window[functionName](...args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 绑定买单活动前台弹窗关闭、Tab 切换与领取按钮事件。
|
||||||
|
*
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
export function bindBaccaratLossCoverControls() {
|
||||||
|
if (baccaratLossCoverEventsBound || typeof document === "undefined") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
baccaratLossCoverEventsBound = true;
|
||||||
|
document.addEventListener("click", (event) => {
|
||||||
|
if (!(event.target instanceof Element)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.target.closest("[data-blc-close]")) {
|
||||||
|
event.preventDefault();
|
||||||
|
callLossCoverGlobal("closeBaccaratLossCoverModal");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const tabButton = event.target.closest("[data-blc-tab]");
|
||||||
|
if (tabButton) {
|
||||||
|
event.preventDefault();
|
||||||
|
callLossCoverGlobal("switchBaccaratLossCoverTab", tabButton.getAttribute("data-blc-tab") || "overview");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const claimButton = event.target.closest("[data-blc-claim]");
|
||||||
|
if (claimButton) {
|
||||||
|
event.preventDefault();
|
||||||
|
// 动态活动卡片只传活动 ID,领取流程继续复用旧全局函数。
|
||||||
|
callLossCoverGlobal("claimBaccaratLossCover", claimButton.getAttribute("data-blc-claim") || "");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -21,18 +21,18 @@
|
|||||||
background:rgba(0,0,0,.2); padding:2px 8px; border-radius:10px;">
|
background:rgba(0,0,0,.2); padding:2px 8px; border-radius:10px;">
|
||||||
💰 <strong id="blc-modal-jjb" style="color:#ffe082; font-size:13px;">--</strong> 金币
|
💰 <strong id="blc-modal-jjb" style="color:#ffe082; font-size:13px;">--</strong> 金币
|
||||||
</div>
|
</div>
|
||||||
<span onclick="closeBaccaratLossCoverModal()"
|
<span data-blc-close
|
||||||
style="cursor:pointer; font-size:18px; opacity:.85;">×</span>
|
style="cursor:pointer; font-size:18px; opacity:.85;">×</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="display:flex; gap:8px; padding:10px 14px; background:#f0fdf4; border-bottom:1px solid #dcfce7;">
|
<div style="display:flex; gap:8px; padding:10px 14px; background:#f0fdf4; border-bottom:1px solid #dcfce7;">
|
||||||
<button type="button" id="blc-tab-overview"
|
<button type="button" id="blc-tab-overview"
|
||||||
onclick="switchBaccaratLossCoverTab('overview')"
|
data-blc-tab="overview"
|
||||||
style="padding:6px 14px; border:none; border-radius:999px; background:#15803d; color:#fff; font-size:12px; font-weight:bold; cursor:pointer;">
|
style="padding:6px 14px; border:none; border-radius:999px; background:#15803d; color:#fff; font-size:12px; font-weight:bold; cursor:pointer;">
|
||||||
当前活动
|
当前活动
|
||||||
</button>
|
</button>
|
||||||
<button type="button" id="blc-tab-history"
|
<button type="button" id="blc-tab-history"
|
||||||
onclick="switchBaccaratLossCoverTab('history')"
|
data-blc-tab="history"
|
||||||
style="padding:6px 14px; border:none; border-radius:999px; background:#dcfce7; color:#166534; font-size:12px; font-weight:bold; cursor:pointer;">
|
style="padding:6px 14px; border:none; border-radius:999px; background:#dcfce7; color:#166534; font-size:12px; font-weight:bold; cursor:pointer;">
|
||||||
活动历史
|
活动历史
|
||||||
</button>
|
</button>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="padding:10px 16px; background:#fff; border-top:1px solid #dcfce7; text-align:center;">
|
<div style="padding:10px 16px; background:#fff; border-top:1px solid #dcfce7; text-align:center;">
|
||||||
<button type="button" onclick="closeBaccaratLossCoverModal()"
|
<button type="button" data-blc-close
|
||||||
style="padding:8px 28px; border:none; border-radius:8px; background:#dcfce7; color:#166534; font-size:12px; font-weight:bold; cursor:pointer;">
|
style="padding:8px 28px; border:none; border-radius:8px; background:#dcfce7; color:#166534; font-size:12px; font-weight:bold; cursor:pointer;">
|
||||||
关闭
|
关闭
|
||||||
</button>
|
</button>
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
|
|
||||||
const myRecord = event.my_record;
|
const myRecord = event.my_record;
|
||||||
const claimButton = event.status === 'claimable' && myRecord?.claim_status === 'pending'
|
const claimButton = event.status === 'claimable' && myRecord?.claim_status === 'pending'
|
||||||
? `<button type="button" onclick="claimBaccaratLossCover(${event.id})" style="padding:8px 18px;border:none;border-radius:999px;background:#16a34a;color:#fff;font-size:12px;font-weight:bold;cursor:pointer;">领取补偿</button>`
|
? `<button type="button" data-blc-claim="${Number(event.id)}" style="padding:8px 18px;border:none;border-radius:999px;background:#16a34a;color:#fff;font-size:12px;font-weight:bold;cursor:pointer;">领取补偿</button>`
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
container.innerHTML = `
|
container.innerHTML = `
|
||||||
@@ -166,7 +166,7 @@
|
|||||||
container.innerHTML = events.map(event => {
|
container.innerHTML = events.map(event => {
|
||||||
const myRecord = event.my_record;
|
const myRecord = event.my_record;
|
||||||
const claimButton = event.status === 'claimable' && myRecord?.claim_status === 'pending'
|
const claimButton = event.status === 'claimable' && myRecord?.claim_status === 'pending'
|
||||||
? `<button type="button" onclick="claimBaccaratLossCover(${event.id})" style="padding:6px 14px;border:none;border-radius:999px;background:#16a34a;color:#fff;font-size:12px;font-weight:bold;cursor:pointer;">领取补偿</button>`
|
? `<button type="button" data-blc-claim="${Number(event.id)}" style="padding:6px 14px;border:none;border-radius:999px;background:#16a34a;color:#fff;font-size:12px;font-weight:bold;cursor:pointer;">领取补偿</button>`
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
return `
|
return `
|
||||||
|
|||||||
Reference in New Issue
Block a user