修复:结婚弹窗及公屏公告显示 undefined 的问题,对齐后端事件字段名 user.username/partner.username

This commit is contained in:
2026-03-01 18:31:57 +08:00
parent 00231e0836
commit 1e5d11929e
@@ -167,8 +167,12 @@
<button x-on:click="doPropose()"
:disabled="sending || !selectedRing || rings.length === 0 || !canAfford"
style="flex:1; padding:10px 0; border-radius:8px; font-size:13px; font-weight:bold; border:none; transition:all .2s;"
:style="(sending || !selectedRing || rings.length === 0 || !canAfford) ? { background: '#f1f5f9',
color: '#94a3b8', cursor: 'not-allowed', boxShadow: 'none' } : {
:style="(sending || !selectedRing || rings.length === 0 || !canAfford) ? {
background: '#f1f5f9',
color: '#94a3b8',
cursor: 'not-allowed',
boxShadow: 'none'
} : {
background: 'linear-gradient(135deg,#be185d,#f43f5e,#ec4899)',
color: '#fff',
cursor: 'pointer',
@@ -661,11 +665,13 @@
open(detail) {
this.marriageId = detail.marriage_id;
this.announcement = `${detail.groom_name} 与 ${detail.bride_name} 喜结连理!`;
const groomName = detail.user?.username ?? detail.groom_name ?? '??';
const brideName = detail.partner?.username ?? detail.bride_name ?? '??';
this.announcement = `${groomName} 与 ${brideName} 喜结连理!`;
this.subText = detail.message || '愿百年好合,白头偕老!';
// 仅当前用户是新婚双方之一时显示举办婚礼按钮
const me = window.chatContext.username;
this.isNewlywed = (detail.groom_name === me || detail.bride_name === me);
this.isNewlywed = (groomName === me || brideName === me);
this.show = true;
// 播放烟花特效
if (window.EffectManager) {
@@ -974,13 +980,11 @@
/** 结婚/离婚全局公告:在聊天消息区追加一条系统消息 */
window.addEventListener('chat:marriage-accepted', (e) => {
const {
groom_name,
bride_name,
message
} = e.detail;
const detail = e.detail;
const groomName = detail.user?.username ?? detail.groom_name ?? '??';
const brideName = detail.partner?.username ?? detail.bride_name ?? '??';
if (typeof appendSystemMessage === 'function') {
appendSystemMessage(`💑 ${groom_name} 与 ${bride_name} 喜结连理!${message || ''}`);
appendSystemMessage(`💑 ${groomName} 与 ${brideName} 喜结连理!`);
}
});
window.addEventListener('chat:marriage-divorced', (e) => {