diff --git a/src/components/ScoreResult.vue b/src/components/ScoreResult.vue index d8b3741..bac37d6 100644 --- a/src/components/ScoreResult.vue +++ b/src/components/ScoreResult.vue @@ -4,6 +4,7 @@ import IconButton from "@/components/IconButton.vue"; import SButton from "@/components/SButton.vue"; import ScreenHint from "@/components/ScreenHint.vue"; import BowData from "@/components/BowData.vue"; +import UserUpgrade from "@/components/UserUpgrade.vue"; import { wxShare } from "@/util"; import { directionAdjusts } from "@/constants"; const props = defineProps({ @@ -31,6 +32,7 @@ const props = defineProps({ const showPanel = ref(true); const showComment = ref(false); const showBowData = ref(false); +const showUpgrade = ref(false); const finished = ref(false); const totalRing = ref(0); const closePanel = () => { @@ -40,6 +42,9 @@ const closePanel = () => { }, 300); }; onMounted(() => { + if (props.result.lvl) { + showUpgrade.value = true; + } if (props.result.arrows) { totalRing.value = props.result.arrows.reduce( (last, next) => last + next.ring, @@ -55,7 +60,7 @@ onMounted(() => { diff --git a/src/components/ShootProgress.vue b/src/components/ShootProgress.vue index 60a4633..7ca1ed9 100644 --- a/src/components/ShootProgress.vue +++ b/src/components/ShootProgress.vue @@ -227,6 +227,9 @@ onUnmounted(() => { font-size: 18px; transform: translateY(-10px); } +.container > view:first-child > button:last-child { + overflow: visible; +} .container > view:first-child > button:last-child > image { width: 40px; transform: translateX(10px) translateY(-10px); diff --git a/src/components/UserUpgrade.vue b/src/components/UserUpgrade.vue new file mode 100644 index 0000000..336d594 --- /dev/null +++ b/src/components/UserUpgrade.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/pages/battle-result.vue b/src/pages/battle-result.vue index 8b5c3a0..88e6b93 100644 --- a/src/pages/battle-result.vue +++ b/src/pages/battle-result.vue @@ -2,6 +2,7 @@ import { ref, onMounted } from "vue"; import { onLoad } from "@dcloudio/uni-app"; import Avatar from "@/components/Avatar.vue"; +import UserUpgrade from "@/components/UserUpgrade.vue"; import { getGameAPI, getHomeData } from "@/apis"; import { topThreeColors, getBattleResultTips } from "@/constants"; import useStore from "@/store"; @@ -14,6 +15,7 @@ const ifWin = ref(false); const data = ref({}); const totalPoints = ref(0); const rank = ref(0); +const showUpgrade = ref(false); // onLoad(async (options) => { // battleId.value = options.battleId; @@ -181,6 +183,11 @@ const checkBowData = () => { 查看靶纸 退出 + diff --git a/src/pages/battle-room.vue b/src/pages/battle-room.vue index ef0fff0..3473d79 100644 --- a/src/pages/battle-room.vue +++ b/src/pages/battle-room.vue @@ -75,7 +75,7 @@ watch( onLoad(async (options) => { if (options.battleId) { const battleInfo = uni.getStorageSync("current-battle"); - console.log("----battleInfo", battleInfo); + // console.log("----battleInfo", battleInfo); if (battleInfo) { battleId.value = battleInfo.id; battleType.value = battleInfo.config.mode; @@ -245,6 +245,7 @@ async function onReceiveMessage(messages = []) { // 这里会掉多次; timerSeq.value += 1; battleId.value = msg.id; + startCount.value = true; step.value = 2; if (battleType.value === 1) { redTeam.value = msg.groupUserStatus.redTeam; @@ -335,7 +336,6 @@ async function onReceiveMessage(messages = []) { } if (msg.constructor === MESSAGETYPES.MeleeAllReady) { start.value = true; - startCount.value = true; step.value = 3; seq.value += 1; timerSeq.value = 0; @@ -424,7 +424,7 @@ async function onReceiveMessage(messages = []) { } } if (msg.constructor === MESSAGETYPES.HalfTimeOver) { - playersScores.value = {}; + uni.$emit("update-ramain", 0); [ ...msg.groupUserStatus.redTeam, ...msg.groupUserStatus.blueTeam, diff --git a/src/pages/melee-match.vue b/src/pages/melee-match.vue index e7ba36d..638c206 100644 --- a/src/pages/melee-match.vue +++ b/src/pages/melee-match.vue @@ -117,6 +117,7 @@ async function onReceiveMessage(messages = []) { // 这里会掉多次; timerSeq.value += 1; battleId.value = msg.id; + startCount.value = true; players.value = [ ...msg.groupUserStatus.redTeam, ...msg.groupUserStatus.blueTeam, @@ -130,7 +131,6 @@ async function onReceiveMessage(messages = []) { if (msg.id !== battleId.value) return; if (msg.constructor === MESSAGETYPES.MeleeAllReady) { start.value = true; - startCount.value = true; seq.value += 1; timerSeq.value = 0; tips.value = "请连续射出6支箭"; @@ -144,7 +144,7 @@ async function onReceiveMessage(messages = []) { playersScores.value[msg.userId].push(msg.target); } if (msg.constructor === MESSAGETYPES.HalfTimeOver) { - playersScores.value = {}; + uni.$emit("update-ramain", 0); [...msg.groupUserStatus.redTeam, ...msg.groupUserStatus.blueTeam].forEach( (player) => { playersScores.value[player.id] = player.arrows; @@ -155,7 +155,7 @@ async function onReceiveMessage(messages = []) { tips.value = "准备下半场"; } if (msg.constructor === MESSAGETYPES.MatchOver) { - uni.setStorageSync("last-battle", msg.endStatus); + uni.setStorageSync("last-battle", { ...msg.endStatus, lvl: msg.lvl }); if (msg.endStatus.noSaved) { uni.showToast({ title: "游戏结束", diff --git a/src/pages/practise-one.vue b/src/pages/practise-one.vue index d43688e..a8e5b7b 100644 --- a/src/pages/practise-one.vue +++ b/src/pages/practise-one.vue @@ -63,6 +63,7 @@ async function onReceiveMessage(messages = []) { practiseResult.value = { ...msg.practice, arrows: JSON.parse(msg.practice.arrows), + lvl: msg.lvl, }; generateCanvasImage( "shareCanvas", diff --git a/src/pages/team-match.vue b/src/pages/team-match.vue index 04eeb59..988981c 100644 --- a/src/pages/team-match.vue +++ b/src/pages/team-match.vue @@ -225,7 +225,7 @@ async function onReceiveMessage(messages = []) { } } if (msg.constructor === MESSAGETYPES.MatchOver) { - uni.setStorageSync("last-battle", msg.endStatus); + uni.setStorageSync("last-battle", { ...msg.endStatus, lvl: msg.lvl }); if (msg.endStatus.noSaved) { uni.showToast({ title: "游戏结束",