diff --git a/src/api/mahjong.ts b/src/api/mahjong.ts index 901634f..a4c368b 100644 --- a/src/api/mahjong.ts +++ b/src/api/mahjong.ts @@ -10,6 +10,8 @@ export interface RoomItem { players?: Array<{ index: number player_id: string + player_name?: string + PlayerName?: string ready: boolean }> status: string diff --git a/src/views/ChengduGamePage.vue b/src/views/ChengduGamePage.vue index 4a96f8b..38b1459 100644 --- a/src/views/ChengduGamePage.vue +++ b/src/views/ChengduGamePage.vue @@ -257,10 +257,11 @@ const seatDecor = computed>(() => { const avatarUrl = seat.isSelf ? (localCachedAvatarUrl.value || seat.player.avatarURL || '') : (seat.player.avatarURL || '') + const selfDisplayName = seat.player.displayName || loggedInUserName.value || '你自己' result[seat.key] = { avatarUrl, - name: seat.isSelf ? '你自己' : displayName, + name: seat.isSelf ? selfDisplayName : displayName, dealer: seat.player.seatIndex === dealerIndex, isTurn: seat.isTurn, missingSuitLabel: missingSuitLabel(seat.player.missingSuit), diff --git a/src/views/HallPage.vue b/src/views/HallPage.vue index bb519d3..3883251 100644 --- a/src/views/HallPage.vue +++ b/src/views/HallPage.vue @@ -131,6 +131,10 @@ function mapRoomPlayers(room: RoomItem): RoomPlayerState[] { .map((item, fallbackIndex) => ({ index: Number.isFinite(item.index) ? item.index : fallbackIndex, playerId: item.player_id, + displayName: + (typeof item.player_name === 'string' && item.player_name) || + (typeof item.PlayerName === 'string' && item.PlayerName) || + (item.player_id === currentUserId.value ? displayName.value : undefined), ready: Boolean(item.ready), hand: [], melds: [],