细节优化
This commit is contained in:
@@ -90,6 +90,7 @@ async function onReceiveMessage(content) {
|
|||||||
messages.forEach((msg) => {
|
messages.forEach((msg) => {
|
||||||
if (
|
if (
|
||||||
msg.roomNumber === roomNumber.value ||
|
msg.roomNumber === roomNumber.value ||
|
||||||
|
(battleId.value && msg.id === battleId.value) ||
|
||||||
msg.constructor === MESSAGETYPES.WaitForAllReady
|
msg.constructor === MESSAGETYPES.WaitForAllReady
|
||||||
) {
|
) {
|
||||||
console.log("收到消息:", msg);
|
console.log("收到消息:", msg);
|
||||||
@@ -104,6 +105,7 @@ async function onReceiveMessage(content) {
|
|||||||
battleId.value = msg.id;
|
battleId.value = msg.id;
|
||||||
redTeam.value = msg.groupUserStatus.redTeam;
|
redTeam.value = msg.groupUserStatus.redTeam;
|
||||||
blueTeam.value = msg.groupUserStatus.blueTeam;
|
blueTeam.value = msg.groupUserStatus.blueTeam;
|
||||||
|
step.value = 2;
|
||||||
}
|
}
|
||||||
if (msg.roomNumber === roomNumber.value) {
|
if (msg.roomNumber === roomNumber.value) {
|
||||||
if (msg.constructor === MESSAGETYPES.UserEnterRoom) {
|
if (msg.constructor === MESSAGETYPES.UserEnterRoom) {
|
||||||
@@ -115,7 +117,7 @@ async function onReceiveMessage(content) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!start && msg.constructor === MESSAGETYPES.UserExitRoom) {
|
if (!start.value && msg.constructor === MESSAGETYPES.UserExitRoom) {
|
||||||
if (room.value.battleType === 1 && room.value.count === 2) {
|
if (room.value.battleType === 1 && room.value.count === 2) {
|
||||||
opponent.value = {
|
opponent.value = {
|
||||||
id: "",
|
id: "",
|
||||||
@@ -127,6 +129,7 @@ async function onReceiveMessage(content) {
|
|||||||
title: "房间已解散",
|
title: "房间已解散",
|
||||||
icon: "none",
|
icon: "none",
|
||||||
});
|
});
|
||||||
|
roomNumber.value = "";
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
@@ -185,9 +188,9 @@ onMounted(() => {
|
|||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
uni.$off("socket-inbox", onReceiveMessage);
|
uni.$off("socket-inbox", onReceiveMessage);
|
||||||
if (owner.value) {
|
if (owner.value.id === user.value.id) {
|
||||||
destroyRoomAPI(roomNumber.value);
|
destroyRoomAPI(roomNumber.value);
|
||||||
} else {
|
} else if (roomNumber.value) {
|
||||||
exitRoomAPI(roomNumber.value);
|
exitRoomAPI(roomNumber.value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -232,7 +235,7 @@ onUnmounted(() => {
|
|||||||
v-if="
|
v-if="
|
||||||
user.id === owner.id && room.battleType === 1 && room.count === 2
|
user.id === owner.id && room.battleType === 1 && room.count === 2
|
||||||
"
|
"
|
||||||
:disabled="!opponent"
|
:disabled="!opponent.id"
|
||||||
:onClick="startGame"
|
:onClick="startGame"
|
||||||
>进入对战</SButton
|
>进入对战</SButton
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import Guide from "@/components/Guide.vue";
|
|||||||
import SButton from "@/components/SButton.vue";
|
import SButton from "@/components/SButton.vue";
|
||||||
import SModal from "@/components/SModal.vue";
|
import SModal from "@/components/SModal.vue";
|
||||||
import CreateRoom from "@/components/CreateRoom.vue";
|
import CreateRoom from "@/components/CreateRoom.vue";
|
||||||
import { getRoomAPI } from "@/apis";
|
import { joinRoomAPI } from "@/apis";
|
||||||
|
|
||||||
const showModal = ref(false);
|
const showModal = ref(false);
|
||||||
const warnning = ref("");
|
const warnning = ref("");
|
||||||
@@ -17,7 +17,7 @@ const enterRoom = async () => {
|
|||||||
warnning.value = "请输入房间号";
|
warnning.value = "请输入房间号";
|
||||||
showModal.value = true;
|
showModal.value = true;
|
||||||
} else {
|
} else {
|
||||||
const room = await getRoomAPI(roomNumber.value);
|
const room = await joinRoomAPI(roomNumber.value);
|
||||||
if (room.number) {
|
if (room.number) {
|
||||||
roomNumber.value = "";
|
roomNumber.value = "";
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@@ -48,7 +48,11 @@ const createRoom = () => {
|
|||||||
<view class="founded-room">
|
<view class="founded-room">
|
||||||
<image src="../static/founded-room.png" mode="widthFix" />
|
<image src="../static/founded-room.png" mode="widthFix" />
|
||||||
<view>
|
<view>
|
||||||
<input placeholder="输入房间号" v-model="roomNumber" />
|
<input
|
||||||
|
placeholder="输入房间号"
|
||||||
|
v-model="roomNumber"
|
||||||
|
placeholder-style="color: #ccc"
|
||||||
|
/>
|
||||||
<view @click="enterRoom">进入房间</view>
|
<view @click="enterRoom">进入房间</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
Reference in New Issue
Block a user