From a12818479aac56a0c08206ce4dcf4ede092e9376 Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期四, 14 十一月 2024 16:20:52 +0800 Subject: [PATCH] 判断是否是新老用户 --- src/layout/component/main.vue | 64 +++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 10 deletions(-) diff --git a/src/layout/component/main.vue b/src/layout/component/main.vue index b42ba3d..c497846 100644 --- a/src/layout/component/main.vue +++ b/src/layout/component/main.vue @@ -1,30 +1,51 @@ <template> - <el-main class="layout-main" :style="isFixedHeader ? `height: calc(100% - ${setMainHeight})` : `minHeight: calc(100% - ${setMainHeight})`"> + <el-main + class="layout-main" + :style="isFixedHeader ? `height: calc(100% - ${setMainHeight})` : `minHeight: calc(100% - ${setMainHeight})`" + > <el-scrollbar ref="layoutMainScrollbarRef" class="layout-main-scroll layout-backtop-header-fixed" - wrap-class="layout-main-scroll" - view-class="layout-main-scroll h100" + wrap-class="layout-main-scroll flex" + view-class="layout-main-scroll bg-[#1c1e1d] flex h100 w-full" > - <LayoutParentView /> - <!-- <LayoutFooter v-if="isFooter" /> --> + <SideBar v-if="!isSharePage && sidebarIsShow" :isShow="sidebarIsShow" @toggleSidebar="toggleSidebar" /> + <div + class="flex-auto flex-col flex right-container" + :class="{ + // 'm-[6px]': !isSharePage, + // 'rounded-[10px]': !isSharePage, + 'bg-[#1c1e1d]': !isSharePage, + 'bg-[#f7f8fa]': isSharePage, + }" + > + <Header v-if="!isSharePage" class="flex-0" @toggleSidebar="toggleSidebar" :sidebarIsShow="sidebarIsShow" /> + <ShareHeader v-else class="flex-0"></ShareHeader> + <LayoutParentView class="flex-auto" /> + </div> + <Login v-show="isShowLogin" /> </el-scrollbar> <el-backtop :target="setBacktopClass" /> </el-main> </template> <script setup lang="ts" name="layoutMain"> -import { defineAsyncComponent, onMounted, computed, ref } from 'vue'; -import { useRoute } from 'vue-router'; import { storeToRefs } from 'pinia'; +import { computed, defineAsyncComponent, onMounted, ref } from 'vue'; +import { useRoute } from 'vue-router'; +import Header from './header/Header.vue'; +import ShareHeader from './header/ShareHeader.vue'; + +import SideBar from './sidebar/Sidebar.vue'; +import { isSharePage, isShowLogin } from '/@/stores/chatRoom'; import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes'; import { useThemeConfig } from '/@/stores/themeConfig'; import { NextLoading } from '/@/utils/loading'; - +import { Local } from '/@/utils/storage'; +import Login from './login/Login.vue'; // 寮曞叆缁勪欢 const LayoutParentView = defineAsyncComponent(() => import('/@/layout/routerView/parent.vue')); const LayoutFooter = defineAsyncComponent(() => import('/@/layout/footer/index.vue')); - // 瀹氫箟鍙橀噺鍐呭 const layoutMainScrollbarRef = ref(); const route = useRoute(); @@ -32,7 +53,7 @@ const storesThemeConfig = useThemeConfig(); const { themeConfig } = storeToRefs(storesThemeConfig); const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes); - +; // 璁剧疆 footer 鏄剧ず/闅愯棌 const isFooter = computed(() => { return themeConfig.value.isFooter && !route.meta.isIframe; @@ -62,4 +83,27 @@ defineExpose({ layoutMainScrollbarRef, }); + +//#region ====================== 渚ц竟鏍忔樉绀洪殣钘� ====================== +const sidebarIsShow = ref(!!Local.get('sidebarIsShow')); +const toggleSidebar = (val) => { + sidebarIsShow.value = val; + Local.set('sidebarIsShow', val); +}; +//#endregion </script> + +<style scoped lang="scss"> +.right-container { + width: 100vw; + // margin: 0; + padding: 0; + overflow: hidden; + -webkit-box-sizing: border-box; + box-sizing: border-box; + // background-color: #1c1e1d; + font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + // margin: 6px; + // border-radius: 10px; +} +</style> -- Gitblit v1.9.3