From e72e2ed1f8fbca2283d71f293afd34c02e5232d2 Mon Sep 17 00:00:00 2001 From: kiki1373639299 Date: Wed, 12 Nov 2025 15:53:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(layout):=20=E6=B7=B7=E5=90=88=E5=B8=83?= =?UTF-8?q?=E5=B1=80=E5=92=8C=E5=8F=8C=E5=88=97=E5=B8=83=E5=B1=80=20?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=89=88=E6=9D=83=E4=BF=A1=E6=81=AF=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=92=8C=E5=BC=B9=E7=AA=97=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: kiki1373639299 # message auto-generated for no-merge-commit merge: !15 merge layout-fix into dev feat(layout): 混合布局和双列布局 补充版权信息组件和弹窗组件 Created-by: kiki1373639299 Commit-by: kiki1373639299 Merged-by: Charles_7c Description: ## PR 类型 - [X] 新 feature - [ ] Bug 修复 - [ ] 功能增强 - [ ] 文档变更 - [ ] 代码样式变更 - [ ] 重构 - [ ] 性能改进 - [ ] 单元测试 - [ ] CI/CD - [ ] 其他 ## PR 目的 ## 解决方案 ## PR 测试 ## Changelog | 模块 | Changelog | Related issues | |-----|-----------| -------------- | | src/layout | layoutMix 和 layoutColumns 增加 GiFooter 和 NoticePopup | | ## 其他信息 ## 提交前确认 - [X] PR 代码经过了完整测试,并且通过了代码规范检查 - [X] 已经完整填写 Changelog,并链接到了相关 issues - [X] PR 代码将要提交到 dev 分支 See merge request: continew/continew-admin-ui!15 --- src/layout/LayoutColumns.vue | 73 ++++++++++++++++--- src/layout/LayoutMix.vue | 27 +++++++ src/layout/hooks/useLevelMenu.ts | 7 +- .../user/message/components/NoticePopup.vue | 2 +- 4 files changed, 95 insertions(+), 14 deletions(-) diff --git a/src/layout/LayoutColumns.vue b/src/layout/LayoutColumns.vue index 8844a94..5435a09 100644 --- a/src/layout/LayoutColumns.vue +++ b/src/layout/LayoutColumns.vue @@ -5,21 +5,27 @@ -
-
{{ appStore.getTitle() }}
+
+ +
+ {{ appStore.getTitle() }} +
-
+
+ + + @@ -32,6 +38,8 @@ import Tabs from './components/Tabs/index.vue' import { useAppStore } from '@/stores' import { useLevelMenu } from '@/layout/hooks/useLevelMenu' import { useDevice } from '@/hooks' +import NoticePopup from '@/views/user/message/components/NoticePopup.vue' +import { getToken } from '@/utils/auth' defineOptions({ name: 'LayoutColumns' }) @@ -40,6 +48,29 @@ const { isDesktop } = useDevice() const { oneLevelMenus, twoLevelMenus, oneLevelMenuActiveRoute, getOneLevelMenus, handleMenuItemClickByItem } = useLevelMenu() getOneLevelMenus() +// 菜单样式 - 根据折叠状态动态调整宽度 +const menuStyle = computed(() => { + return { + width: appStore.menuCollapse ? '48px' : '200px', + } +}) +// 公告弹窗引用 +const noticePopupRef = ref>() + +// 检查并显示未读公告 +const checkAndShowNotices = () => { + const token = getToken() + + // 如果有token,检查未读公告 + if (token) { + setTimeout(() => { + noticePopupRef.value?.open() + }, 1000) // 延迟1秒显示,让页面先加载完成 + } +} +onMounted(() => { + checkAndShowNotices() +})