升级逻辑完善

This commit is contained in:
kron
2025-07-19 00:03:12 +08:00
parent c8728786e6
commit b9aff0082b
5 changed files with 35 additions and 34 deletions

View File

@@ -3,13 +3,13 @@ import { ref, onMounted } from "vue";
import { onLoad } from "@dcloudio/uni-app"; import { onLoad } from "@dcloudio/uni-app";
import Avatar from "@/components/Avatar.vue"; import Avatar from "@/components/Avatar.vue";
import UserUpgrade from "@/components/UserUpgrade.vue"; import UserUpgrade from "@/components/UserUpgrade.vue";
import { getGameAPI, getHomeData } from "@/apis"; import { getGameAPI } from "@/apis";
import { topThreeColors, getBattleResultTips } from "@/constants"; import { topThreeColors, getBattleResultTips } from "@/constants";
import useStore from "@/store"; import useStore from "@/store";
import { storeToRefs } from "pinia"; import { storeToRefs } from "pinia";
const store = useStore(); const store = useStore();
const { user } = storeToRefs(store); const { user } = storeToRefs(store);
const { updateUser, getLvlName } = store; const { getLvlName } = store;
const ifWin = ref(false); const ifWin = ref(false);
const data = ref({}); const data = ref({});
@@ -44,6 +44,9 @@ function exit() {
onMounted(async () => { onMounted(async () => {
const battleInfo = uni.getStorageSync("last-battle"); const battleInfo = uni.getStorageSync("last-battle");
console.log("----battleInfo", battleInfo); console.log("----battleInfo", battleInfo);
if (battleInfo.lvl > user.value.lvl) {
showUpgrade.value = true;
}
data.value = battleInfo; data.value = battleInfo;
const mine = battleInfo.playerStats.find((p) => p.id === user.value.id); const mine = battleInfo.playerStats.find((p) => p.id === user.value.id);
rank.value = rank.value =
@@ -52,8 +55,6 @@ onMounted(async () => {
totalPoints.value = mine.totalScore; totalPoints.value = mine.totalScore;
ifWin.value = battleInfo.mode === 1 && mine.team === battleInfo.winner; ifWin.value = battleInfo.mode === 1 && mine.team === battleInfo.winner;
} }
const result = await getHomeData();
if (result.user) updateUser(result.user);
}); });
const checkBowData = () => { const checkBowData = () => {

View File

@@ -453,7 +453,7 @@ async function onReceiveMessage(messages = []) {
tips.value = "准备下半场"; tips.value = "准备下半场";
} }
if (msg.constructor === MESSAGETYPES.MatchOver) { if (msg.constructor === MESSAGETYPES.MatchOver) {
uni.setStorageSync("last-battle", msg.endStatus); uni.setStorageSync("last-battle", { ...msg.endStatus, lvl: msg.lvl });
if (msg.endStatus.nosaved) { if (msg.endStatus.nosaved) {
uni.showToast({ uni.showToast({
title: "游戏结束", title: "游戏结束",

View File

@@ -1,5 +1,6 @@
<script setup> <script setup>
import { ref, onMounted } from "vue"; import { ref, onMounted } from "vue";
import { onShow } from "@dcloudio/uni-app";
import Container from "@/components/Container.vue"; import Container from "@/components/Container.vue";
import AppFooter from "@/components/AppFooter.vue"; import AppFooter from "@/components/AppFooter.vue";
import AppBackground from "@/components/AppBackground.vue"; import AppBackground from "@/components/AppBackground.vue";
@@ -52,13 +53,7 @@ const toRankListPage = () => {
}); });
}; };
onMounted(async () => { onShow(async () => {
try {
const deviceInfo = uni.getDeviceInfo();
isIos.value = deviceInfo.osName === "ios";
const config = await getAppConfig();
updateConfig(config);
console.log("全局配置:", config);
const result = await getHomeData(); const result = await getHomeData();
updateRank(result); updateRank(result);
console.log("首页数据:", result); console.log("首页数据:", result);
@@ -78,9 +73,14 @@ onMounted(async () => {
); );
} }
} }
} catch (error) { });
console.error("获取配置失败:", error);
} onMounted(async () => {
const deviceInfo = uni.getDeviceInfo();
isIos.value = deviceInfo.osName === "ios";
const config = await getAppConfig();
updateConfig(config);
console.log("全局配置:", config);
}); });
const comingSoon = () => { const comingSoon = () => {

View File

@@ -10,7 +10,7 @@ import Avatar from "@/components/Avatar.vue";
import BowPower from "@/components/BowPower.vue"; import BowPower from "@/components/BowPower.vue";
import TestDistance from "@/components/TestDistance.vue"; import TestDistance from "@/components/TestDistance.vue";
import BubbleTip from "@/components/BubbleTip.vue"; import BubbleTip from "@/components/BubbleTip.vue";
import { createPractiseAPI, getHomeData } from "@/apis"; import { createPractiseAPI } from "@/apis";
import { generateCanvasImage } from "@/util"; import { generateCanvasImage } from "@/util";
import { MESSAGETYPES, roundsName } from "@/constants"; import { MESSAGETYPES, roundsName } from "@/constants";
import useStore from "@/store"; import useStore from "@/store";

View File

@@ -10,7 +10,7 @@ import Avatar from "@/components/Avatar.vue";
import BowPower from "@/components/BowPower.vue"; import BowPower from "@/components/BowPower.vue";
import TestDistance from "@/components/TestDistance.vue"; import TestDistance from "@/components/TestDistance.vue";
import BubbleTip from "@/components/BubbleTip.vue"; import BubbleTip from "@/components/BubbleTip.vue";
import { createPractiseAPI, getHomeData } from "@/apis"; import { createPractiseAPI } from "@/apis";
import { generateCanvasImage } from "@/util"; import { generateCanvasImage } from "@/util";
import { MESSAGETYPES } from "@/constants"; import { MESSAGETYPES } from "@/constants";
import useStore from "@/store"; import useStore from "@/store";