feat(idiom): 答对提示的用户名可点击打开用户名片

This commit is contained in:
pllx
2026-04-28 23:58:04 +08:00
parent cd1621f497
commit f13cfe4bc1
+12 -1
View File
@@ -48,7 +48,8 @@ function handleIdiomGameAnswered(e) {
const div = document.createElement("div");
div.className = "msg-line";
div.innerHTML = `<span style="color:#16a34a;font-weight:bold;">🎉 恭喜 <b>${winner_username}</b> 率先答对成语「${answer}」,获得 ${reward_gold} 金币、${reward_exp} 经验!</span><span class="msg-time">(${timeStr})</span>`;
div.innerHTML = `<span style="color:#16a34a;font-weight:bold;">🎉 恭喜 <b data-idiom-winner="${winner_username}" style="cursor:pointer;border-bottom:1px dashed #16a34a;" title="点击查看资料">${winner_username}</b> 率先答对成语「${answer}」,获得 ${reward_gold} 金币、${reward_exp} 经验!</span><span class="msg-time">(${timeStr})</span>`;
const isWinner = winner_username === (window.chatContext?.username || "");
if (isWinner) {
@@ -257,6 +258,16 @@ export function bindIdiomQuizControls() {
openIdiomAnswerModal(roundId, hint, rewardGold, rewardExp);
}
});
// 猜成语结果消息中的用户名可点击 → 打开用户名片
document.addEventListener("click", (e) => {
const nameEl = e.target.closest("[data-idiom-winner]");
if (!nameEl) return;
const username = nameEl.getAttribute("data-idiom-winner") || "";
if (username && typeof window.openUserCard === "function") {
window.openUserCard(username);
}
});
}
// ── 挂载到 window ──