| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <script setup lang='ts'>
- import FPage from "~/components/FPage/FPage.vue";
- import FNavBar from "~/components/FNavBar/FNavBar.vue";
- defineProps({
- show: {
- type: Boolean,
- default: false,
- },
- title: {
- type: String,
- },
- backArrow: {
- type: Boolean,
- default: true,
- },
- })
- const curPage = getCurrentPages().at(-1) as any
- // #ifdef H5
- if (window.parent !== window.self) {
- window.parent.postMessage({
- type: 'route',
- data: curPage.route,
- }, '*')
- }
- // #endif
- const titleText = curPage.$page?.meta?.navigationBar?.titleText || '标题'
- function onClickLeft() {
- const pages = getCurrentPages()
- if (pages.length > 1) {
- uni.navigateBack()
- }
- else {
- uni.redirectTo({
- url: '/',
- })
- }
- }
- </script>
- <template>
- <FPage ex-class="font-sans pb-10 inset-0 overflow-auto">
- <FNavBar
- v-if="show" :title="title ?? titleText" :left-arrow="backArrow" fixed placeholder z-index="999"
- @click-left="onClickLeft"
- />
- <slot />
- </FPage>
- </template>
|