From a844f364dca59073e04ed1d1c1de545fd94c9bb1 Mon Sep 17 00:00:00 2001 From: zikai <1621362626@qq.com> Date: Thu, 23 Jul 2026 04:04:40 +0000 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=BC=95=E5=85=A5=20PageShell=20?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E9=A1=B5=E9=9D=A2=E5=A4=96=E5=A3=B3=EF=BC=8C?= =?UTF-8?q?=E9=AB=98=E5=86=85=E8=81=9A=E4=BD=8E=E8=80=A6=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增可复用 PageShell 组件(titleKey/fluid/padded + actions 插槽), 统一容器宽度(1080px)、垂直节奏与标题,消除各模块重复包裹 - whiteboard/calendar/mobile-game 全部改用 PageShell,去掉各自手写的 .container/.__inner/.__title 重复样式;calendar 用 fluid 全宽变体 - timetable 改用 mainPage 侧包装器 Timetable.vue:import 子模块 App.vue 套 PageShell(对齐其他页宽度),并持有 KeepAlive 匹配名 name:'timetable' - 子模块 timeTableFix 的 App.vue 去掉 defineOptions(保持纯净),name 约定 由 mainPage 包装器持有,消除跨仓库脆弱约定;submodule 升级到 17aeea8 - 注册表清理:去掉无效 try/catch,order 缺省改 999(避免与 hidden 页 99 冲突), 注释文档化全部元数据字段与 KeepAlive 约定 - 新增页签照 timetable 模式复用 PageShell,注册方式一致 --- src/components/ui/PageShell.vue | 75 ++++++++++++ src/modules/calendar/Calendar.vue | 64 ++++------ src/modules/index.js | 28 +++-- src/modules/mobile-game/MobileGame.vue | 65 ++++++----- src/modules/timetable/Timetable.vue | 39 +++++++ src/modules/timetable/index.js | 7 +- src/modules/whiteboard/Whiteboard.vue | 155 ++++++++++--------------- third_party/timeTableFix | 2 +- 8 files changed, 252 insertions(+), 183 deletions(-) create mode 100644 src/components/ui/PageShell.vue create mode 100644 src/modules/timetable/Timetable.vue diff --git a/src/components/ui/PageShell.vue b/src/components/ui/PageShell.vue new file mode 100644 index 0000000..ad43ada --- /dev/null +++ b/src/components/ui/PageShell.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/modules/calendar/Calendar.vue b/src/modules/calendar/Calendar.vue index bda8df9..86d0d60 100644 --- a/src/modules/calendar/Calendar.vue +++ b/src/modules/calendar/Calendar.vue @@ -3,6 +3,7 @@ import { ref, computed } from 'vue' // 组件名与模块 id 一致,供 按 id 精确匹配 defineOptions({ name: 'cqy' }) import { useLocale } from '../../composables/useLocale.js' +import PageShell from '../../components/ui/PageShell.vue' const { t } = useLocale() @@ -18,46 +19,29 @@ const loaded = ref(false)