diff --git a/src/pages/battle-room.vue b/src/pages/battle-room.vue index 32bd92c..4da5bd9 100644 --- a/src/pages/battle-room.vue +++ b/src/pages/battle-room.vue @@ -6,6 +6,7 @@ import PlayerSeats from "@/components/PlayerSeats.vue"; import GuideTwo from "@/components/GuideTwo.vue"; import SButton from "@/components/SButton.vue"; import Avatar from "@/components/Avatar.vue"; +import ScreenHint from "@/components/ScreenHint.vue"; import { getRoomAPI, destroyRoomAPI, @@ -199,8 +200,32 @@ const exitRoom = async () => { uni.navigateBack(); }; -const removePlayer = async (player) => { - await kickPlayerAPI(roomNumber.value, player.id); +/** 待确认踢出的玩家信息 */ +const playerToKick = ref(null); +/** 控制踢出确认弹窗的显示状态 */ +const showKickConfirm = ref(false); + +/** + * 点击踢出按钮,弹出二次确认弹窗 + * @param {object} player - 被踢的玩家信息 + */ +const removePlayer = (player) => { + playerToKick.value = player; + showKickConfirm.value = true; +}; + +/** 确认踢出:调用 API 并关闭弹窗 */ +const confirmKick = async () => { + if (!playerToKick.value) return; + await kickPlayerAPI(roomNumber.value, playerToKick.value.id); + showKickConfirm.value = false; + playerToKick.value = null; +}; + +/** 取消踢出:关闭弹窗 */ +const cancelKick = () => { + showKickConfirm.value = false; + playerToKick.value = null; }; const canClick = computed(() => { @@ -361,6 +386,20 @@ onBeforeUnmount(() => { + + + + + + 是否把「{{ playerToKick && playerToKick.name }}」移出房间? + + + + + + + +