优化管理操作按钮
This commit is contained in:
@@ -101,14 +101,6 @@ $welcomeMessages = [
|
|||||||
</div>
|
</div>
|
||||||
</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()"
|
<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;">🎣
|
style="font-size: 11px; padding: 1px 6px; background: #2563eb; color: #fff; border: none; border-radius: 2px; cursor: pointer;">🎣
|
||||||
钓鱼</button>
|
钓鱼</button>
|
||||||
@@ -120,54 +112,66 @@ $welcomeMessages = [
|
|||||||
📷 图片
|
📷 图片
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
@if ($user->user_level >= (int) \App\Models\Sysparam::getValue('superlevel', '100'))
|
@if (
|
||||||
<button type="button" onclick="promptAnnounceMessage()"
|
$user->user_level >= (int) \App\Models\Sysparam::getValue('level_announcement', '10') ||
|
||||||
style="font-size: 11px; padding: 1px 6px; background: #7c3aed; color: #fff; border: none; border-radius: 2px; cursor: pointer;">📢
|
$room->master == $user->username ||
|
||||||
公屏</button>
|
$user->user_level >= (int) \App\Models\Sysparam::getValue('superlevel', '100')
|
||||||
<button type="button" onclick="adminClearScreen()"
|
)
|
||||||
style="font-size: 11px; padding: 1px 6px; background: #dc2626; color: #fff; border: none; border-radius: 2px; cursor: pointer;">🧹
|
<div style="position:relative;display:inline-block;" id="admin-btn-wrap">
|
||||||
清屏</button>
|
<button type="button" onclick="toggleAdminMenu(event)"
|
||||||
<button type="button" id="red-packet-btn" onclick="sendRedPacket()"
|
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;">
|
||||||
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;">
|
|
||||||
✨ 特效
|
|
||||||
</button>
|
</button>
|
||||||
<div id="effect-menu"
|
<div id="admin-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);">
|
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);">
|
||||||
<div style="font-size:11px;font-weight:bold;color:#9a3412;padding:0 2px 8px;">选择要播放的特效</div>
|
@if (
|
||||||
<div style="font-size:10px;color:#c2410c;padding:0 2px 6px;">经典特效</div>
|
$user->user_level >= (int) \App\Models\Sysparam::getValue('level_announcement', '10') ||
|
||||||
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
$room->master == $user->username
|
||||||
<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>
|
<div style="font-size:10px;color:#9a3412;padding:0 2px 6px;">房间管理</div>
|
||||||
<button type="button" onclick="selectEffect('rain')"
|
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||||
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="runAdminAction('announcement')"
|
||||||
<button type="button" onclick="selectEffect('lightning')"
|
style="font-size:11px;padding:6px 8px;background:#fff;color:#047857;border:1px solid #86efac;border-radius:6px;cursor:pointer;">🪧 设公告</button>
|
||||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#7c3aed;border:1px solid #c4b5fd;border-radius:6px;cursor:pointer;">⚡ 雷电</button>
|
</div>
|
||||||
<button type="button" onclick="selectEffect('snow')"
|
@endif
|
||||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#0891b2;border:1px solid #bae6fd;border-radius:6px;cursor:pointer;">❄️ 下雪</button>
|
|
||||||
</div>
|
@if ($user->user_level >= (int) \App\Models\Sysparam::getValue('superlevel', '100'))
|
||||||
<div style="font-size:10px;color:#c2410c;padding:10px 2px 6px;">新增氛围特效</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;">
|
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||||
<button type="button" onclick="selectEffect('sakura')"
|
<button type="button" onclick="runAdminAction('announce-message')"
|
||||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#db2777;border:1px solid #f9a8d4;border-radius:6px;cursor:pointer;">🌸 樱花飘落</button>
|
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('meteors')"
|
<button type="button" onclick="runAdminAction('admin-clear')"
|
||||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;cursor:pointer;">🌠 流星</button>
|
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="selectEffect('gold-rain')"
|
<button type="button" onclick="runAdminAction('red-packet')"
|
||||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#ca8a04;border:1px solid #fde68a;border-radius:6px;cursor:pointer;">🪙 金币雨</button>
|
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="selectEffect('hearts')"
|
<button type="button" onclick="runAdminAction('loss-cover')"
|
||||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#e11d48;border:1px solid #fda4af;border-radius:6px;cursor:pointer;">💖 爱心飘落</button>
|
style="font-size:11px;padding:6px 8px;background:#fff;color:#15803d;border:1px solid #86efac;border-radius:6px;cursor:pointer;">🎁 买单活动</button>
|
||||||
<button type="button" onclick="selectEffect('confetti')"
|
</div>
|
||||||
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')"
|
<div style="font-size:10px;color:#9a3412;padding:10px 2px 6px;">全屏特效</div>
|
||||||
style="font-size:11px;padding:6px 8px;background:#fff;color:#15803d;border:1px solid #bbf7d0;border-radius:6px;cursor:pointer;">✨ 萤火虫</button>
|
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;">
|
||||||
</div>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|||||||
@@ -315,22 +315,22 @@
|
|||||||
function toggleWelcomeMenu(event) {
|
function toggleWelcomeMenu(event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
const menu = document.getElementById('welcome-menu');
|
const menu = document.getElementById('welcome-menu');
|
||||||
const effectMenu = document.getElementById('effect-menu');
|
const adminMenu = document.getElementById('admin-menu');
|
||||||
if (!menu) {
|
if (!menu) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (effectMenu) {
|
if (adminMenu) {
|
||||||
effectMenu.style.display = 'none';
|
adminMenu.style.display = 'none';
|
||||||
}
|
}
|
||||||
menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
|
menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 切换顶部特效菜单的显示状态。
|
* 切换顶部管理菜单的显示状态。
|
||||||
*/
|
*/
|
||||||
function toggleEffectMenu(event) {
|
function toggleAdminMenu(event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
const menu = document.getElementById('effect-menu');
|
const menu = document.getElementById('admin-menu');
|
||||||
const welcomeMenu = document.getElementById('welcome-menu');
|
const welcomeMenu = document.getElementById('welcome-menu');
|
||||||
if (!menu) {
|
if (!menu) {
|
||||||
return;
|
return;
|
||||||
@@ -341,13 +341,45 @@
|
|||||||
menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
|
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 特效类型
|
* @param {string} type 特效类型
|
||||||
*/
|
*/
|
||||||
function selectEffect(type) {
|
function selectEffect(type) {
|
||||||
const menu = document.getElementById('effect-menu');
|
const menu = document.getElementById('admin-menu');
|
||||||
if (menu) {
|
if (menu) {
|
||||||
menu.style.display = 'none';
|
menu.style.display = 'none';
|
||||||
}
|
}
|
||||||
@@ -402,9 +434,9 @@
|
|||||||
menu.style.display = 'none';
|
menu.style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
const effectMenu = document.getElementById('effect-menu');
|
const adminMenu = document.getElementById('admin-menu');
|
||||||
if (effectMenu) {
|
if (adminMenu) {
|
||||||
effectMenu.style.display = 'none';
|
adminMenu.style.display = 'none';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1313,7 +1345,8 @@
|
|||||||
if (data.status !== 'success') window.chatDialog.alert(data.message, '操作失败', '#cc4444');
|
if (data.status !== 'success') window.chatDialog.alert(data.message, '操作失败', '#cc4444');
|
||||||
}).catch(err => console.error('特效触发失败:', err));
|
}).catch(err => console.error('特效触发失败:', err));
|
||||||
}
|
}
|
||||||
window.toggleEffectMenu = toggleEffectMenu;
|
window.toggleAdminMenu = toggleAdminMenu;
|
||||||
|
window.runAdminAction = runAdminAction;
|
||||||
window.selectEffect = selectEffect;
|
window.selectEffect = selectEffect;
|
||||||
window.triggerEffect = triggerEffect;
|
window.triggerEffect = triggerEffect;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user