From 35d544003dad64f94b6dc32bc0164551d61b14e1 Mon Sep 17 00:00:00 2001 From: kron Date: Thu, 19 Jun 2025 21:03:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 3 +- src/components/AppFooter.vue | 5 ++ src/components/BattleHeader.vue | 2 +- src/components/ScoreResult.vue | 6 +- .../{CoachComment.vue => ScreenHint.vue} | 11 ++- src/pages/battle-room.vue | 4 +- src/pages/first-try.vue | 3 +- src/pages/melee-match.vue | 3 +- src/pages/my-device.vue | 12 ++-- src/pages/practise-one.vue | 3 +- src/pages/practise-two.vue | 3 +- src/pages/team-match.vue | 69 +++++++++++++++---- src/store.js | 4 ++ src/websocket.js | 7 +- 14 files changed, 97 insertions(+), 38 deletions(-) rename src/components/{CoachComment.vue => ScreenHint.vue} (85%) diff --git a/src/App.vue b/src/App.vue index 29f8829..66bbe4d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,13 +5,14 @@ import useStore from "@/store"; import { storeToRefs } from "pinia"; const store = useStore(); const { user } = storeToRefs(store); +const { updateConnect } = store; watch( () => user.value.id, (newVal) => { const token = uni.getStorageSync("token"); if (newVal && token) { - websocket.createWebSocket(token, (content) => { + websocket.createWebSocket(token, updateConnect, (content) => { uni.$emit("socket-inbox", content); }); } diff --git a/src/components/AppFooter.vue b/src/components/AppFooter.vue index 458df70..7bb133b 100644 --- a/src/components/AppFooter.vue +++ b/src/components/AppFooter.vue @@ -29,6 +29,11 @@ function handleTabClick(index) { url: "/pages/my-growth", }); } + if (index === 2) { + uni.navigateTo({ + url: "/pages/device-intro", + }); + } } diff --git a/src/components/BattleHeader.vue b/src/components/BattleHeader.vue index 426e396..7c3d70c 100644 --- a/src/components/BattleHeader.vue +++ b/src/components/BattleHeader.vue @@ -19,7 +19,7 @@ defineProps({ }, winner: { type: Number, - default: 1, + default: 2, }, }); const bgColors = ["#364469", "#692735", "#934B4B", "#A98B69", "#8268A2 "]; diff --git a/src/components/ScoreResult.vue b/src/components/ScoreResult.vue index 25a7a53..afb0522 100644 --- a/src/components/ScoreResult.vue +++ b/src/components/ScoreResult.vue @@ -3,7 +3,7 @@ import { ref } from "vue"; import IconButton from "@/components/IconButton.vue"; import SButton from "@/components/SButton.vue"; import ImageShare from "@/components/ImageShare.vue"; -import CoachComment from "@/components/CoachComment.vue"; +import ScreenHint from "@/components/ScreenHint.vue"; import BowData from "@/components/BowData.vue"; const props = defineProps({ show: { @@ -100,9 +100,9 @@ setTimeout(() => { - + {{ result.adjustmentHint }} - + + view:first-child > image { position: absolute; width: 80vw; - left: -5vw; + left: -7%; bottom: -20vw; z-index: -1; + transform: translateY(-75px); } diff --git a/src/pages/battle-room.vue b/src/pages/battle-room.vue index a3c3983..9f4e135 100644 --- a/src/pages/battle-room.vue +++ b/src/pages/battle-room.vue @@ -91,8 +91,7 @@ const startGame = async () => { step.value = 2; }; -async function onReceiveMessage(content) { - const messages = JSON.parse(content).data.updates || []; +async function onReceiveMessage(messages = []) { messages.forEach((msg) => { if ( msg.roomNumber === roomNumber.value || @@ -223,7 +222,6 @@ const onLeaveRoom = () => { const destroyRoom = async () => { await destroyRoomAPI(roomNumber.value); - uni.navigateBack(); }; const exitRoom = async () => { diff --git a/src/pages/first-try.vue b/src/pages/first-try.vue index abe4c55..a575400 100644 --- a/src/pages/first-try.vue +++ b/src/pages/first-try.vue @@ -46,8 +46,7 @@ const onStart = () => { scores.value = []; }; -async function onReceiveMessage(content) { - const messages = JSON.parse(content).data.updates || []; +async function onReceiveMessage(messages = []) { messages.forEach((msg) => { if (msg.constructor === MESSAGETYPES.ShootSyncMeArrowID) { scores.value.push(msg.target); diff --git a/src/pages/melee-match.vue b/src/pages/melee-match.vue index 4ea46b9..ec5f488 100644 --- a/src/pages/melee-match.vue +++ b/src/pages/melee-match.vue @@ -52,8 +52,7 @@ async function readyToGo() { } } -async function onReceiveMessage(content) { - const messages = JSON.parse(content).data.updates || []; +async function onReceiveMessage(messages = []) { messages.forEach((msg) => { if ( !msg.id || diff --git a/src/pages/my-device.vue b/src/pages/my-device.vue index 062af35..074c99b 100644 --- a/src/pages/my-device.vue +++ b/src/pages/my-device.vue @@ -1,7 +1,7 @@