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 }}」移出房间?
+
+
+
+
+
+
+
+