UI: 优化全屏公告样式,将发送时间移动至右下角并防止时间文本重复显示

This commit is contained in:
2026-02-27 11:09:36 +08:00
parent 0aed0827de
commit 5b3378389b

View File

@@ -215,6 +215,7 @@
div.className = 'msg-line';
const timeStr = msg.sent_at || '';
let timeStrOverride = false;
// 系统用户名列表(不可被选为聊天对象)
const systemUsers = ['钓鱼播报', '星海小博士', '系统传音', '系统公告', 'AI小班长', '送花播报'];
@@ -241,11 +242,14 @@
// 系统用户消息以醒目公告样式显示
if (systemUsers.includes(msg.from_user)) {
if (msg.from_user === '系统公告' || msg.from_user === '系统传音') {
// 管理员公告/系统传音:大字醒目样式
// 管理员公告/系统传音:大字醒目样式,时间右下角对齐
div.style.cssText =
'background: linear-gradient(135deg, #fef2f2, #fff1f2); border: 2px solid #ef4444; border-radius: 6px; padding: 8px 12px; margin: 4px 0; box-shadow: 0 2px 4px rgba(239,68,68,0.15);';
'background: linear-gradient(135deg, #fef2f2, #fff1f2); border: 2px solid #ef4444; border-radius: 6px; padding: 8px 12px; margin: 4px 0; box-shadow: 0 2px 4px rgba(239,68,68,0.15); display: flex; flex-direction: column; gap: 8px;';
html =
`<div style="font-size: 14px; font-weight: bold; color: #dc2626;">${msg.content}</div>`;
`<div style="font-size: 14px; font-weight: bold; color: #dc2626;">${msg.content}</div>
<div style="font-size: 10px; color: #999; text-align: right; align-self: flex-end;">(${timeStr})</div>`;
// 由于我们把时间放进了特殊的结构里,这里把原有的外层时间置空,防止重复显示
timeStrOverride = true;
} else {
// 其他系统用户钓鱼播报、送花播报、AI小班长等普通样式
let giftHtml = '';
@@ -272,7 +276,9 @@
html += `说:<span class="msg-content" style="color: ${fontColor}">${msg.content}</span>`;
}
html += ` <span class="msg-time">(${timeStr})</span>`;
if (!timeStrOverride) {
html += ` <span class="msg-time">(${timeStr})</span>`;
}
div.innerHTML = html;
// 路由规则(复刻原版):