优化:全站金币图标由 🪙(银灰色)统一替换为 💰(金黄色)

🪙 在多数平台/字体上渲染为银灰色,与「金币」语义不符;
💰 各平台均渲染为金黄色,更直观传达金币概念。

涉及文件(43处):
- app/Jobs:百家乐、赛马结算广播
- app/Http/Controllers:管理员命令、红包、老虎机、神秘箱子
- app/Listeners
- resources/views:聊天室各游戏面板、商店、toolbar、后台页面等
This commit is contained in:
2026-03-04 15:00:02 +08:00
parent 349eb5a338
commit 040dbdef3c
23 changed files with 43 additions and 43 deletions
@@ -25,7 +25,7 @@
{{-- ── 汇总统计卡片 ── --}}
@php
$statCards = [
'reward' => ['label' => '奖励发放', 'icon' => '🪙', 'color' => 'yellow'],
'reward' => ['label' => '奖励发放', 'icon' => '💰', 'color' => 'yellow'],
'kick' => ['label' => '踢出操作', 'icon' => '🚫', 'color' => 'red'],
'mute' => ['label' => '禁言操作', 'icon' => '🔇', 'color' => 'purple'],
'warn' => ['label' => '警告操作', 'icon' => '⚠️', 'color' => 'orange'],
@@ -44,7 +44,7 @@
{{-- 奖励配置 --}}
<div class="mb-6">
<h3 class="text-sm font-bold text-gray-700 mb-3 pb-2 border-b">🪙 奖励配置</h3>
<h3 class="text-sm font-bold text-gray-700 mb-3 pb-2 border-b">💰 奖励配置</h3>
<div class="grid grid-cols-2 gap-4">
<div>
<label class="block text-xs font-bold text-gray-600 mb-1">总金币奖池 <span
@@ -58,7 +58,7 @@
@endif
</td>
<td class="p-3 font-bold text-amber-600">
🪙 {{ number_format($event->total_amount) }}
💰 {{ number_format($event->total_amount) }}
</td>
<td class="p-3">
@if ($event->distribute_type === 'random')
@@ -138,7 +138,7 @@
}">
<div class="flex items-center gap-6 flex-wrap">
<div class="flex-1 min-w-0">
<h3 class="text-sm font-bold text-amber-800 mb-1">🪙 全局奖励接收上限</h3>
<h3 class="text-sm font-bold text-amber-800 mb-1">💰 全局奖励接收上限</h3>
<p class="text-xs text-amber-700 leading-relaxed">
每位用户单日内可从<b>所有职务持有者</b>处累计接收奖励金币的最高次数。
设为 <code class="bg-amber-100 px-1 rounded">0</code> 表示不限制。
@@ -232,7 +232,7 @@
<div style="font-size:32px; margin-bottom:4px;">🎉</div>
<div style="color:#16a34a; font-size:18px; font-weight:900;">恭喜中奖!</div>
<div style="color:#15803d; font-size:24px; font-weight:bold; margin:6px 0;"
x-text="'+' + Number(myPayout).toLocaleString() + ' 🪙'"></div>
x-text="'+' + Number(myPayout).toLocaleString() + ' 💰'"></div>
<div style="color:#86a896; font-size:11px;"
x-text="'押「' + betTypeLabel(myBetType) + '」' + Number(myBetAmount).toLocaleString() + ' 金币 → 赢得 ' + Number(myPayout).toLocaleString() + ' 金币'">
</div>
@@ -46,7 +46,7 @@
<div
style="font-size:12px; color:#d0e8ff; display:flex; align-items:center; gap:3px;
background:rgba(0,0,0,.2); padding:2px 8px; border-radius:10px;">
🪙 <strong id="game-hall-jjb" style="color:#ffe082; font-size:13px;">--</strong> 金币
💰 <strong id="game-hall-jjb" style="color:#ffe082; font-size:13px;">--</strong> 金币
</div>
<span onclick="closeGameHall()"
style="cursor:pointer; font-size:18px; opacity:.8; line-height:1; transition:opacity .15s;"
@@ -33,7 +33,7 @@
{{-- 奖池信息 --}}
<div style="background:rgba(0,0,0,.25); border-radius:14px; padding:12px 16px; margin-bottom:16px;">
<div style="color:rgba(254,243,199,.6); font-size:11px; margin-bottom:4px;">🪙 本次节日总奖池</div>
<div style="color:rgba(254,243,199,.6); font-size:11px; margin-bottom:4px;">💰 本次节日总奖池</div>
<div style="color:#fcd34d; font-size:24px; font-weight:bold;"
x-text="totalAmount.toLocaleString() + ' 金币'"></div>
<div style="color:rgba(254,243,199,.5); font-size:11px; margin-top:4px;">
@@ -214,7 +214,7 @@
'随机金额';
const quotaText = detail.max_claimants > 0 ? `前 ${detail.max_claimants} 名` : '全体';
appendSystemMessage(
`🎊 【${detail.name}】节日福利开始啦!总奖池 🪙${Number(detail.total_amount).toLocaleString()} 金币,${typeLabel}${quotaText}在线用户可领取!`
`🎊 【${detail.name}】节日福利开始啦!总奖池 💰${Number(detail.total_amount).toLocaleString()} 金币,${typeLabel}${quotaText}在线用户可领取!`
);
}
@@ -222,7 +222,7 @@
<div style="font-size:24px; margin-bottom:4px;">🎉</div>
<div style="color:#16a34a; font-size:16px; font-weight:bold;">恭喜中奖!</div>
<div style="color:#15803d; font-size:18px; font-weight:bold; margin:4px 0;"
x-text="'+' + Number(myPayout).toLocaleString() + ' 🪙'"></div>
x-text="'+' + Number(myPayout).toLocaleString() + ' 💰'"></div>
<div style="color:#888; font-size:10px;"
x-text="'押「' + myBetHorseName + '」' + Number(myBetAmount).toLocaleString() + ' 金币 → 赢得 ' + Number(myPayout).toLocaleString() + ' 金币'">
</div>
@@ -128,7 +128,7 @@
<select x-model="selectedTierId" required
style="width:100%; padding:8px 10px; border-radius:8px; border:1px solid #f43f5e; background:#fff; font-size:13px; color:#1f2937; margin-bottom:10px;">
<template x-for="tier in tiers" :key="tier.id">
<option :value="tier.id" x-text="`${tier.icon} ${tier.name} (🪙 ${tier.amount})`">
<option :value="tier.id" x-text="`${tier.icon} ${tier.name} (💰 ${tier.amount})`">
</option>
</template>
</select>
@@ -145,11 +145,11 @@
</div>
<div style="color:#6b7280;">
婚礼预冻结:<strong style="color:#f43f5e;"
x-text="'🪙 ' + (selectedTier ? Number(selectedTier.amount).toLocaleString() : 0)"></strong>
x-text="'💰 ' + (selectedTier ? Number(selectedTier.amount).toLocaleString() : 0)"></strong>
金币
</div>
<div :style="canAfford ? 'color:#15803d' : 'color:#dc2626'">
当前余额:<strong>🪙 {{ number_format($user->jjb) }}</strong> 金币
当前余额:<strong>💰 {{ number_format($user->jjb) }}</strong> 金币
</div>
<div style="color:#9ca3af; font-size:11px; margin-top:4px;">需男方独自承担预冻结金币,对方同意后即刻举行。被拒则全额退回!
</div>
@@ -1346,7 +1346,7 @@
vertical-align:middle; line-height:1.8; box-shadow:0 2px 8px rgba(0,0,0,.3);"
title="点击领取婚礼红包">🧧 点击领取红包</button>`;
appendSystemMessage(
`${tierIcon} ${groomName} 与 ${brideName} 举办了【${tierName}】!总金额 🪙${amount} 金币,快来抢红包!${claimBtn}`
`${tierIcon} ${groomName} 与 ${brideName} 举办了【${tierName}】!总金额 💰${amount} 金币,快来抢红包!${claimBtn}`
);
}
@@ -2701,7 +2701,7 @@
titleColor: '#fde68a',
autoClose: 0,
buttons: [{
label: '🪙 金币礼包',
label: '💰 金币礼包',
color: '#d97706',
onClick(btn, close) {
close();
@@ -2788,7 +2788,7 @@
// 根据类型调整配色和标签
const isExp = (type === 'exp');
const typeIcon = isExp ? '✨' : '🪙';
const typeIcon = isExp ? '✨' : '💰';
const typeName = isExp ? '经验' : '金币';
const headerBg = isExp ?
'linear-gradient(160deg,#6d28d9 0%,#5b21b6 50%,#4c1d95 100%)' :
@@ -247,7 +247,7 @@
{{-- 余额栏 --}}
<div id="shop-balance-bar">
🪙 <span id="shop-jjb">--</span> 金币
💰 <span id="shop-jjb">--</span> 金币
<span id="shop-week-badge"></span>
</div>
@@ -410,7 +410,7 @@
btn.onclick = openRenameModal;
} else {
btn.className = 'shop-btn';
btn.innerHTML = `🪙 ${Number(item.price).toLocaleString()}`;
btn.innerHTML = `💰 ${Number(item.price).toLocaleString()}`;
btn.onclick = () => buyItem(item.id, item.name, item.price);
}
row.appendChild(btn);
@@ -29,7 +29,7 @@
<div style="font-size:14px; font-weight:bold; color:#fff; flex:1;">🎰 老虎机</div>
<div
style="font-size:12px; color:rgba(255,255,255,.8); background:rgba(0,0,0,.15); padding:2px 10px; border-radius:10px; display:flex; align-items:center; gap:4px;">
🪙 <span x-text="Number(balance).toLocaleString()" style="color:#fef08a; font-weight:bold;"></span>
💰 <span x-text="Number(balance).toLocaleString()" style="color:#fef08a; font-weight:bold;"></span>
</div>
<div x-show="dailyLimit > 0"
style="font-size:11px; color:rgba(255,255,255,.7); background:rgba(255,255,255,.15); padding:2px 8px; border-radius:10px;"
@@ -120,10 +120,10 @@
{{-- \u76c8\u4e8f\u663e\u793a --}}
<div x-show="!spinning && resultType" style="text-align:center; margin-bottom:12px;">
<div x-show="netChange > 0" style="color:#16a34a; font-size:22px; font-weight:bold;"
x-text="'+' + Number(netChange).toLocaleString() + ' 🪙'">
x-text="'+' + Number(netChange).toLocaleString() + ' 💰'">
</div>
<div x-show="netChange < 0" style="color:#dc2626; font-size:16px; font-weight:bold;"
x-text="Number(netChange).toLocaleString() + ' 🪙'">
x-text="Number(netChange).toLocaleString() + ' 💰'">
</div>
<div x-show="netChange === 0 && resultType === 'miss'" style="color:#999; font-size:13px;">
损失 <span x-text="costPerSpin"></span> 金币
@@ -11,7 +11,7 @@
- action: { label, onClick } 可选操作按钮
使用示例:
window.chatToast.show({ title: '奖励金币', message: '你收到 100 枚金币!', icon: '🪙', color: '#f59e0b' });
window.chatToast.show({ title: '奖励金币', message: '你收到 100 枚金币!', icon: '💰', color: '#f59e0b' });
多条 Toast 从右下角向上堆叠,各自独立计时。
@@ -721,7 +721,7 @@
{{-- 标题栏 --}}
<div id="shop-modal-header">
<div id="shop-modal-title">🛍 道具商店</div>
<div id="shop-modal-jjb">🪙 <strong id="shop-jjb">--</strong> 金币</div>
<div id="shop-modal-jjb">💰 <strong id="shop-jjb">--</strong> 金币</div>
<span id="shop-week-badge"></span>
<span id="shop-modal-close" onclick="closeShopModal()"></span>
</div>
@@ -937,15 +937,15 @@
} else if (item.type === 'instant') {
// 单次卡:打开送礼弹框
btn.className = 'shop-btn';
btn.innerHTML = `🪙 ${Number(item.price).toLocaleString()}`;
btn.innerHTML = `💰 ${Number(item.price).toLocaleString()}`;
btn.onclick = () => openGiftDialog(item);
} else {
// 周卡、道具、戒指、自动钓鱼卡:弹确认窗口再购买
btn.className = 'shop-btn';
btn.innerHTML = `🪙 ${Number(item.price).toLocaleString()}`;
btn.innerHTML = `💰 ${Number(item.price).toLocaleString()}`;
btn.onclick = async () => {
const confirmMsg =
`确认花费 🪙 ${Number(item.price).toLocaleString()} 金币购买\n【${item.name}】吗?`;
`确认花费 💰 ${Number(item.price).toLocaleString()} 金币购买\n【${item.name}】吗?`;
const ok = await window.chatDialog.confirm(confirmMsg, '确认购买');
if (ok) buyItem(item.id, item.name, item.price, 'all', '');
};
@@ -968,7 +968,7 @@
document.getElementById('gift-message').value = '';
document.getElementById('gift-err').textContent = '';
document.getElementById('gift-item-name').textContent =
`${item.icon} ${item.name}🪙 ${Number(item.price).toLocaleString()}`;
`${item.icon} ${item.name}💰 ${Number(item.price).toLocaleString()}`;
document.getElementById('gift-dialog').style.display = 'flex';
};
@@ -744,7 +744,7 @@
style="flex:1; padding: 7px 10px; border-radius: 5px; font-size: 12px; font-weight: bold; cursor: pointer;
background: linear-gradient(135deg,#f59e0b,#d97706); color:#fff; border:none;"
x-on:click="openRewardModal(userInfo.username)">
🪙 送金币
💰 送金币
</button>
{{-- 求婚按钮:对方未婚 + 双方均已设置性别 + 异性 --}}
@@ -1059,7 +1059,7 @@
style="background:linear-gradient(135deg,#f59e0b,#d97706); padding:14px 20px;
display:flex; align-items:center; justify-content:space-between;">
<div>
<div style="color:#fff; font-weight:bold; font-size:16px;">🪙 发放奖励金币</div>
<div style="color:#fff; font-weight:bold; font-size:16px;">💰 发放奖励金币</div>
<div style="color:rgba(255,255,255,.9); font-size:12px; margin-top:2px;"
x-text="'发给:' + targetUsername"></div>
</div>