优化管理操作按钮
This commit is contained in:
@@ -101,14 +101,6 @@ $welcomeMessages = [
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (
|
||||
$user->user_level >= (int) \App\Models\Sysparam::getValue('level_announcement', '10') ||
|
||||
$room->master == $user->username
|
||||
)
|
||||
<button type="button" onclick="promptAnnouncement()"
|
||||
style="font-size: 11px; padding: 1px 6px; background: #4a9; color: #fff; border: none; border-radius: 2px; cursor: pointer;">设公告</button>
|
||||
@endif
|
||||
|
||||
<button type="button" id="fishing-btn" onclick="startFishing()"
|
||||
style="font-size: 11px; padding: 1px 6px; background: #2563eb; color: #fff; border: none; border-radius: 2px; cursor: pointer;">🎣
|
||||
钓鱼</button>
|
||||
@@ -120,54 +112,66 @@ $welcomeMessages = [
|
||||
📷 图片
|
||||
</button>
|
||||
|
||||
@if ($user->user_level >= (int) \App\Models\Sysparam::getValue('superlevel', '100'))
|
||||
<button type="button" onclick="promptAnnounceMessage()"
|
||||
style="font-size: 11px; padding: 1px 6px; background: #7c3aed; color: #fff; border: none; border-radius: 2px; cursor: pointer;">📢
|
||||
公屏</button>
|
||||
<button type="button" onclick="adminClearScreen()"
|
||||
style="font-size: 11px; padding: 1px 6px; background: #dc2626; color: #fff; border: none; border-radius: 2px; cursor: pointer;">🧹
|
||||
清屏</button>
|
||||
<button type="button" id="red-packet-btn" onclick="sendRedPacket()"
|
||||
style="font-size: 11px; padding: 1px 6px; background: linear-gradient(135deg, #dc2626, #d97706); color: #fff; border: none; border-radius: 2px; cursor: pointer; font-weight: bold;">🧧
|
||||
礼包</button>
|
||||
<button type="button" onclick="openAdminBaccaratLossCoverModal()"
|
||||
style="font-size: 11px; padding: 1px 6px; background: linear-gradient(135deg, #15803d, #22c55e); color: #fff; border: none; border-radius: 2px; cursor: pointer; font-weight: bold;">🎁
|
||||
买单活动</button>
|
||||
{{-- 全屏特效整合按钮(仅管理员可见) --}}
|
||||
<div style="position:relative;display:inline-block;" id="effect-btn-wrap">
|
||||
<button type="button" onclick="toggleEffectMenu(event)"
|
||||
style="font-size:11px;padding:1px 6px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;border:none;border-radius:2px;cursor:pointer;font-weight:bold;">
|
||||
✨ 特效
|
||||
@if (
|
||||
$user->user_level >= (int) \App\Models\Sysparam::getValue('level_announcement', '10') ||
|
||||
$room->master == $user->username ||
|
||||
$user->user_level >= (int) \App\Models\Sysparam::getValue('superlevel', '100')
|
||||
)
|
||||
<div style="position:relative;display:inline-block;" id="admin-btn-wrap">
|
||||
<button type="button" onclick="toggleAdminMenu(event)"
|
||||
style="font-size:11px;padding:1px 6px;background:linear-gradient(135deg,#b45309,#d97706);color:#fff;border:none;border-radius:2px;cursor:pointer;font-weight:bold;">
|
||||
🛠 管理
|
||||
</button>
|
||||
<div id="effect-menu"
|
||||
style="display:none;position:absolute;bottom:calc(100% + 6px);left:0;z-index:10020;min-width:228px;max-width:min(76vw,260px);max-height:min(58vh,420px);overflow-y:auto;padding:10px;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;box-shadow:0 10px 24px rgba(15,23,42,.18);">
|
||||
<div style="font-size:11px;font-weight:bold;color:#9a3412;padding:0 2px 8px;">选择要播放的特效</div>
|
||||
<div style="font-size:10px;color:#c2410c;padding:0 2px 6px;">经典特效</div>
|
||||
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||
<button type="button" onclick="selectEffect('fireworks')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#ea580c;border:1px solid #fdba74;border-radius:6px;cursor:pointer;">🎆 烟花</button>
|
||||
<button type="button" onclick="selectEffect('rain')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#2563eb;border:1px solid #93c5fd;border-radius:6px;cursor:pointer;">🌧️ 下雨</button>
|
||||
<button type="button" onclick="selectEffect('lightning')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#7c3aed;border:1px solid #c4b5fd;border-radius:6px;cursor:pointer;">⚡ 雷电</button>
|
||||
<button type="button" onclick="selectEffect('snow')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#0891b2;border:1px solid #bae6fd;border-radius:6px;cursor:pointer;">❄️ 下雪</button>
|
||||
</div>
|
||||
<div style="font-size:10px;color:#c2410c;padding:10px 2px 6px;">新增氛围特效</div>
|
||||
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||
<button type="button" onclick="selectEffect('sakura')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#db2777;border:1px solid #f9a8d4;border-radius:6px;cursor:pointer;">🌸 樱花飘落</button>
|
||||
<button type="button" onclick="selectEffect('meteors')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;cursor:pointer;">🌠 流星</button>
|
||||
<button type="button" onclick="selectEffect('gold-rain')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#ca8a04;border:1px solid #fde68a;border-radius:6px;cursor:pointer;">🪙 金币雨</button>
|
||||
<button type="button" onclick="selectEffect('hearts')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#e11d48;border:1px solid #fda4af;border-radius:6px;cursor:pointer;">💖 爱心飘落</button>
|
||||
<button type="button" onclick="selectEffect('confetti')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#7c3aed;border:1px solid #ddd6fe;border-radius:6px;cursor:pointer;">🎊 彩带庆典</button>
|
||||
<button type="button" onclick="selectEffect('fireflies')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#15803d;border:1px solid #bbf7d0;border-radius:6px;cursor:pointer;">✨ 萤火虫</button>
|
||||
</div>
|
||||
<div id="admin-menu"
|
||||
style="display:none;position:absolute;bottom:calc(100% + 6px);left:0;z-index:10020;min-width:244px;max-width:min(80vw,288px);max-height:min(62vh,460px);overflow-y:auto;padding:10px;background:#fffaf0;border:1px solid #fdba74;border-radius:10px;box-shadow:0 10px 24px rgba(15,23,42,.18);">
|
||||
@if (
|
||||
$user->user_level >= (int) \App\Models\Sysparam::getValue('level_announcement', '10') ||
|
||||
$room->master == $user->username
|
||||
)
|
||||
<div style="font-size:10px;color:#9a3412;padding:0 2px 6px;">房间管理</div>
|
||||
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||
<button type="button" onclick="runAdminAction('announcement')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#047857;border:1px solid #86efac;border-radius:6px;cursor:pointer;">🪧 设公告</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($user->user_level >= (int) \App\Models\Sysparam::getValue('superlevel', '100'))
|
||||
<div style="font-size:10px;color:#9a3412;padding:10px 2px 6px;">站长操作</div>
|
||||
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||
<button type="button" onclick="runAdminAction('announce-message')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#7c3aed;border:1px solid #c4b5fd;border-radius:6px;cursor:pointer;">📢 公屏</button>
|
||||
<button type="button" onclick="runAdminAction('admin-clear')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;cursor:pointer;">🧹 清屏</button>
|
||||
<button type="button" onclick="runAdminAction('red-packet')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#b91c1c;border:1px solid #fdba74;border-radius:6px;cursor:pointer;">🧧 礼包</button>
|
||||
<button type="button" onclick="runAdminAction('loss-cover')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#15803d;border:1px solid #86efac;border-radius:6px;cursor:pointer;">🎁 买单活动</button>
|
||||
</div>
|
||||
|
||||
<div style="font-size:10px;color:#9a3412;padding:10px 2px 6px;">全屏特效</div>
|
||||
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||
<button type="button" onclick="selectEffect('fireworks')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#ea580c;border:1px solid #fdba74;border-radius:6px;cursor:pointer;">🎆 烟花</button>
|
||||
<button type="button" onclick="selectEffect('rain')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#2563eb;border:1px solid #93c5fd;border-radius:6px;cursor:pointer;">🌧️ 下雨</button>
|
||||
<button type="button" onclick="selectEffect('lightning')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#7c3aed;border:1px solid #c4b5fd;border-radius:6px;cursor:pointer;">⚡ 雷电</button>
|
||||
<button type="button" onclick="selectEffect('snow')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#0891b2;border:1px solid #bae6fd;border-radius:6px;cursor:pointer;">❄️ 下雪</button>
|
||||
<button type="button" onclick="selectEffect('sakura')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#db2777;border:1px solid #f9a8d4;border-radius:6px;cursor:pointer;">🌸 樱花飘落</button>
|
||||
<button type="button" onclick="selectEffect('meteors')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;cursor:pointer;">🌠 流星</button>
|
||||
<button type="button" onclick="selectEffect('gold-rain')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#ca8a04;border:1px solid #fde68a;border-radius:6px;cursor:pointer;">🪙 金币雨</button>
|
||||
<button type="button" onclick="selectEffect('hearts')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#e11d48;border:1px solid #fda4af;border-radius:6px;cursor:pointer;">💖 爱心飘落</button>
|
||||
<button type="button" onclick="selectEffect('confetti')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#7c3aed;border:1px solid #ddd6fe;border-radius:6px;cursor:pointer;">🎊 彩带庆典</button>
|
||||
<button type="button" onclick="selectEffect('fireflies')"
|
||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#15803d;border:1px solid #bbf7d0;border-radius:6px;cursor:pointer;">✨ 萤火虫</button>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -315,22 +315,22 @@
|
||||
function toggleWelcomeMenu(event) {
|
||||
event.stopPropagation();
|
||||
const menu = document.getElementById('welcome-menu');
|
||||
const effectMenu = document.getElementById('effect-menu');
|
||||
const adminMenu = document.getElementById('admin-menu');
|
||||
if (!menu) {
|
||||
return;
|
||||
}
|
||||
if (effectMenu) {
|
||||
effectMenu.style.display = 'none';
|
||||
if (adminMenu) {
|
||||
adminMenu.style.display = 'none';
|
||||
}
|
||||
menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换顶部特效菜单的显示状态。
|
||||
* 切换顶部管理菜单的显示状态。
|
||||
*/
|
||||
function toggleEffectMenu(event) {
|
||||
function toggleAdminMenu(event) {
|
||||
event.stopPropagation();
|
||||
const menu = document.getElementById('effect-menu');
|
||||
const menu = document.getElementById('admin-menu');
|
||||
const welcomeMenu = document.getElementById('welcome-menu');
|
||||
if (!menu) {
|
||||
return;
|
||||
@@ -341,13 +341,45 @@
|
||||
menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行管理菜单中的快捷操作,并在执行前关闭菜单。
|
||||
*
|
||||
* @param {string} action 管理动作类型
|
||||
*/
|
||||
function runAdminAction(action) {
|
||||
const menu = document.getElementById('admin-menu');
|
||||
if (menu) {
|
||||
menu.style.display = 'none';
|
||||
}
|
||||
|
||||
switch (action) {
|
||||
case 'announcement':
|
||||
promptAnnouncement();
|
||||
break;
|
||||
case 'announce-message':
|
||||
promptAnnounceMessage();
|
||||
break;
|
||||
case 'admin-clear':
|
||||
adminClearScreen();
|
||||
break;
|
||||
case 'red-packet':
|
||||
sendRedPacket();
|
||||
break;
|
||||
case 'loss-cover':
|
||||
openAdminBaccaratLossCoverModal();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择特效后关闭菜单,并沿用原有管理员特效触发逻辑。
|
||||
*
|
||||
* @param {string} type 特效类型
|
||||
*/
|
||||
function selectEffect(type) {
|
||||
const menu = document.getElementById('effect-menu');
|
||||
const menu = document.getElementById('admin-menu');
|
||||
if (menu) {
|
||||
menu.style.display = 'none';
|
||||
}
|
||||
@@ -402,9 +434,9 @@
|
||||
menu.style.display = 'none';
|
||||
}
|
||||
|
||||
const effectMenu = document.getElementById('effect-menu');
|
||||
if (effectMenu) {
|
||||
effectMenu.style.display = 'none';
|
||||
const adminMenu = document.getElementById('admin-menu');
|
||||
if (adminMenu) {
|
||||
adminMenu.style.display = 'none';
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1313,7 +1345,8 @@
|
||||
if (data.status !== 'success') window.chatDialog.alert(data.message, '操作失败', '#cc4444');
|
||||
}).catch(err => console.error('特效触发失败:', err));
|
||||
}
|
||||
window.toggleEffectMenu = toggleEffectMenu;
|
||||
window.toggleAdminMenu = toggleAdminMenu;
|
||||
window.runAdminAction = runAdminAction;
|
||||
window.selectEffect = selectEffect;
|
||||
window.triggerEffect = triggerEffect;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user