From c8c2f28f9008989f8035da5e78c262b326707065 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 22 五月 2025 17:04:39 +0800
Subject: [PATCH] Merge branch 'dev-ui' of http://120.26.58.240:8888/r/LifePaymentFront into dev-ui
---
apps/h5/src/components/Layout/PageLayout.vue | 135 ++++++++++----------------------------------
1 files changed, 31 insertions(+), 104 deletions(-)
diff --git a/apps/h5/src/components/Layout/PageLayout.vue b/apps/h5/src/components/Layout/PageLayout.vue
index 474d352..263cd68 100644
--- a/apps/h5/src/components/Layout/PageLayout.vue
+++ b/apps/h5/src/components/Layout/PageLayout.vue
@@ -1,141 +1,68 @@
<template>
- <Portal.Host>
- <div class="page-layout-wrapper" v-bind="$attrs">
- <slot v-if="showNavigationBar" name="navigationBar">
- <CommonNavigationBar v-bind="_commonNavigationBarProps" />
- </slot>
-
- <slot name="bg">
- <div
- v-if="hasLinearBg"
- class="page-layout-linear-bg"
- :style="{
- height: Taro.pxTransform(props.linearBgHeight),
- }"
- ></div>
- </slot>
-
- <div class="page-layout-scroll-view-wrapper" :style="{ height: scrollViewHeight }">
- <slot :scrollViewHeight="scrollViewHeight" v-if="isAuth"></slot>
- <!-- <template v-if="isAuth">
- <slot v-if="useView" :scrollViewHeight="scrollViewHeight"></slot>
- <scroll-view
- v-else
- class="page-scrollview"
- :scroll-y="true"
- :style="{ height: scrollViewHeight }"
- >
- <slot :scrollViewHeight="scrollViewHeight"></slot>
- </scroll-view>
- </template> -->
- </div>
- <div v-if="!pageHeightWithTabBar" class="safe-area-bottom"></div>
+ <div class="page-layout-wrapper">
+ <slot v-if="showNavigationBar" name="navigationBar">
+ <CommonNavigationBar v-bind="props" />
+ </slot>
+ <div class="page-layout-scroll-view-wrapper">
+ <slot></slot>
</div>
- </Portal.Host>
+ <div class="safe-area-bottom"></div>
+ </div>
</template>
<script setup lang="ts">
-// import LoadingLayout from './LoadingLayout.vue';
-// import { loadingLayoutProps } from './layout';
import CommonNavigationBar from '../NavigationBar/CommonNavigationBar.vue';
import { commonNavigationBarProps } from '../NavigationBar/commonNavigationBar';
-import { useSystemStore } from '@/stores/modules/system';
-import Taro from '@tarojs/taro';
-import { TabBarPageRouter } from '@/constants';
-import { useAuth } from '@/hooks';
-import { Portal } from 'senin-mini/components';
-import { usePickProps } from 'senin-mini/hooks';
defineOptions({
name: 'PageLayout',
- inheritAttrs: false,
});
const props = defineProps({
...commonNavigationBarProps,
- needAuth: {
- type: Boolean,
- default: true,
- },
- useView: {
- type: Boolean,
- default: false,
- },
hasLinearBg: {
type: Boolean,
default: false,
},
linearBgHeight: {
type: Number,
- default: 388,
- },
-});
-
-const _commonNavigationBarProps = usePickProps(props, commonNavigationBarProps);
-
-const { isAuth } = useAuth({
- needAuth: props.needAuth,
-});
-
-const systemStore = useSystemStore();
-const router = Taro.useRouter();
-
-const pageHeightWithTabBar = computed(() =>
- Object.values(TabBarPageRouter).some((x) => x.toLowerCase() === router.path.toLowerCase())
-);
-
-const navigationBarHeight = computed(
- () => systemStore.info.statusBarHeight + systemStore.navigationBarHeight
-);
-
-const scrollViewHeight = computed(() => {
- let pageHeight = pageHeightWithTabBar.value
- ? systemStore.pageHeightWithTab
- : systemStore.pageHeight;
- pageHeight = pageHeight + (props.showNavigationBar ? 0 : navigationBarHeight.value);
- return pageHeight + 'px';
-});
-
-Taro.getSetting({
- success: function (res) {
- if (!res.authSetting['scope.userLocation']) {
- Taro.authorize({
- scope: 'scope.userLocation',
- });
- }
+ default: 199,
},
});
</script>
-<style lang="scss">
-@import '@/styles/common.scss';
+<style lang="scss" scoped>
+@use '@/style/common.scss' as *;
.page-layout-wrapper {
- // background-color: $body-background-color;
+ display: flex;
+ height: 100%;
+ flex-direction: column;
+
+ .navigation-bar {
+ height: 88px;
+ }
.page-layout-scroll-view-wrapper {
display: flex;
+ min-height: 0;
+ flex: 1;
flex-direction: column;
- .page-scrollview {
- box-sizing: border-box;
+ :deep() {
+ .loading-layout-wrapper {
+ display: flex;
+ min-height: 0;
+ flex: 1;
+ flex-direction: column;
+ }
}
}
- .page-layout-linear-bg {
- position: fixed;
- z-index: -1;
- top: 0;
- left: 0;
- width: 100%;
- background: linear-gradient(
- 180deg,
- boleGetCssVar('color', 'primary') 0%,
- #5a86f6 56%,
- #f9f9fb 100%
- );
- filter: blur(0px);
- border-radius: 0px 0px 20px 20px;
+ .safe-area-bottom {
+ padding-bottom: 20px; /* 榛樿鍊� */
+ padding-bottom: constant(safe-area-inset-bottom);
+ padding-bottom: env(safe-area-inset-bottom);
}
}
</style>
--
Gitblit v1.9.1