diff --git a/src/components/UserHeader.vue b/src/components/UserHeader.vue index f38c85d..a237b0e 100644 --- a/src/components/UserHeader.vue +++ b/src/components/UserHeader.vue @@ -4,7 +4,7 @@ import Avatar from "@/components/Avatar.vue"; import useStore from "@/store"; import { storeToRefs } from "pinia"; const store = useStore(); -const { user, config } = storeToRefs(store); +const { user, config, rankData } = storeToRefs(store); const props = defineProps({ showRank: { type: Boolean, @@ -89,13 +89,18 @@ watch( src="../static/global-rank.png" mode="widthFix" /> - 本赛季 - 暂未上榜 - + + 本赛季全国 + {{ user.ranking }}/{{ rankData.rank.length }} + + + 本赛季 + 暂未上榜 + diff --git a/src/pages/index.vue b/src/pages/index.vue index 52dbb5f..c6ce9b8 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -15,12 +15,11 @@ import { topThreeColors } from "@/constants"; import useStore from "@/store"; import { storeToRefs } from "pinia"; const store = useStore(); -const { updateConfig, updateUser, updateDevice } = store; +const { updateConfig, updateUser, updateDevice, updateRank } = store; // 使用storeToRefs,用于UI里显示,保持响应性 -const { user, device, remoteConnect } = storeToRefs(store); +const { user, device, remoteConnect, rankData } = storeToRefs(store); const showModal = ref(false); const isIos = ref(true); -const rankData = ref({}); const toPage = (path) => { if (!user.value.id) { @@ -53,11 +52,11 @@ onMounted(async () => { const deviceInfo = uni.getDeviceInfo(); isIos.value = deviceInfo.osName === "ios"; const config = await getAppConfig(); + updateConfig(config); console.log("全局配置:", config); const rankList = await getRankListAPI(); - if (rankList) rankData.value = rankList; console.log("排位赛数据:", rankList); - updateConfig(config); + updateRank(rankList); const token = uni.getStorageSync("token"); if (token) { const result = await getHomeData(); @@ -148,7 +147,7 @@ const comingSoon = () => { - 456{{ remoteConnect ? 1 : 0 }} + {{ rankData.rank.length }} diff --git a/src/store.js b/src/store.js index f6a4f93..a41a358 100644 --- a/src/store.js +++ b/src/store.js @@ -19,6 +19,10 @@ export default defineStore("store", { deviceName: "", }, config: {}, + rankData: { + rank: [], + ringRank: [], + }, }), // 计算属性 @@ -30,6 +34,9 @@ export default defineStore("store", { // 方法 actions: { + updateRank(data = {}) { + this.rankData = { rank: data.rank || [], ringRank: data.ringRank || [] }; + }, updateConnect(connect) { this.remoteConnect = connect; },