限制讲解播放器显示范围
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
lyf
2026-07-09 19:38:28 +08:00
parent 305f83dfa4
commit 63540dac65
6 changed files with 12 additions and 10 deletions

View File

@@ -33,6 +33,7 @@
<slot></slot>
</view>
<GlobalAudioPlayerHost
v-if="showAudioPlayerHost"
:avoid-bottom-nav="audioPlayerAvoidBottomNav"
:display-mode="audioPlayerMode"
:closable="audioPlayerClosable"
@@ -59,6 +60,7 @@ withDefaults(defineProps<{
audioPlayerAvoidBottomNav?: boolean
audioPlayerMode?: AudioDisplayMode
audioPlayerClosable?: boolean
showAudioPlayerHost?: boolean
}>(), {
activeTab: 'guide',
variant: 'overlay',
@@ -71,7 +73,8 @@ withDefaults(defineProps<{
cancelLabel: '取消',
audioPlayerAvoidBottomNav: true,
audioPlayerMode: 'mini',
audioPlayerClosable: true
audioPlayerClosable: true,
showAudioPlayerHost: false
})
const emit = defineEmits<{

View File

@@ -5,6 +5,7 @@
:show-top-tabs="false"
:audio-player-avoid-bottom-nav="false"
:audio-player-closable="false"
:show-audio-player-host="true"
audio-player-mode="expanded"
@back="handleBack"
>
@@ -145,7 +146,7 @@
<script setup lang="ts">
import { computed, ref, watch } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import { onLoad, onUnload } from '@dcloudio/uni-app'
import GuidePageFrame from '@/components/navigation/GuidePageFrame.vue'
import type { AudioItem } from '@/components/audio/AudioPlayer.vue'
import { useGlobalAudioPlayer } from '@/composables/useGlobalAudioPlayer'
@@ -468,6 +469,10 @@ onLoad(async (options: any = {}) => {
}
})
onUnload(() => {
globalAudioPlayer.close()
})
const detailTextFor = (lang: AudioLanguage) => {
return detailTextByLanguage.value[lang] || fallbackTextForLanguage(lang)
}
@@ -688,6 +693,8 @@ const fallbackToExplainHome = () => {
}
const handleBack = () => {
globalAudioPlayer.close()
if (typeof window !== 'undefined' && window.history.length > 1) {
const currentHref = window.location.href
window.history.back()

View File

@@ -3,7 +3,6 @@
active-tab="guide"
variant="overlay"
:show-top-tabs="false"
audio-player-mode="floating"
show-back
@tab-change="handleTopTabChange"
@back="handlePageBack"

View File

@@ -3,7 +3,6 @@
:active-tab="currentTab"
variant="overlay"
:show-top-tabs="false"
:audio-player-mode="currentTab === 'guide' ? 'floating' : 'mini'"
@tab-change="handleTabChange"
>
<GuideMapShell

View File

@@ -3,7 +3,6 @@
active-tab="guide"
variant="overlay"
:show-top-tabs="false"
audio-player-mode="floating"
show-back
:show-cancel="isManualLocationPanelOpen"
@tab-change="handleTopTabChange"

View File

@@ -17,17 +17,12 @@
autofocus
/>
</view>
<GlobalAudioPlayerHost
display-mode="floating"
:avoid-bottom-nav="false"
/>
</view>
</template>
<script setup lang="ts">
import { onMounted, onUnmounted, ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import GlobalAudioPlayerHost from '@/components/audio/GlobalAudioPlayerHost.vue'
import PoiSearchPanel from '@/components/search/PoiSearchPanel.vue'
const initialKeyword = ref('')