diff --git a/pages/make/index.vue b/pages/make/index.vue index afa6930..cd8d546 100644 --- a/pages/make/index.vue +++ b/pages/make/index.vue @@ -621,19 +621,6 @@ onHide(() => { innerAudioContext.stop(); }); -onShow(() => { - // 页面回到前台时,如果之前是播放状态(且不是 Off),尝试恢复播放 - // 但由于 onHide 停止了,isBgmPlaying 变成了 false - // 这里可以根据需求决定是否恢复。 - // 为了简单,我们只在 onLoad 初始化。如果用户想听,需要手动点。 - // 或者我们可以记录一个 shouldPlay 状态。 - // 鉴于用户需求是“点击切换”,我们保持简单。 - // 但要注意:initBgm 在 onLoad 调用,onShow 也会调用 syncUserInfo 等。 - // 我们可以把 initBgm 放在 onLoad。 - syncUserInfo(); - // ... existing onShow logic ... -}); - const titleStyle = computed(() => { return { transform: `translate(${titleState.value.offsetX}rpx, ${titleState.value.offsetY}rpx) scale(${titleState.value.scale})`, @@ -904,13 +891,13 @@ onLoad((options) => { }); }); -const syncUserInfo = () => { +const syncUserInfo = (force = false) => { if (isLoggedIn.value) { if (signatureName.value === "xxx" || !signatureName.value) { signatureName.value = userStore.userInfo.nickName; oldSignatureName.value = userStore.userInfo.nickName; } - if (userAvatar.value === DEFAULT_AVATAR || !userAvatar.value) { + if (force || userAvatar.value === DEFAULT_AVATAR || !userAvatar.value) { userAvatar.value = userStore.userInfo.avatarUrl; } } @@ -920,14 +907,14 @@ watch( () => userStore.userInfo, (newVal) => { if (newVal?.nickName) { - syncUserInfo(); + syncUserInfo(true); } }, { deep: true }, ); onShow(() => { - syncUserInfo(); + syncUserInfo(true); const recommendData = uni.getStorageSync("RECOMMEND_CARD_DATA"); if (recommendData) { uni.removeStorageSync("RECOMMEND_CARD_DATA");