From f7f9315a5e0c065704aa167cf7584a908062549c Mon Sep 17 00:00:00 2001 From: liuyun Date: Sun, 11 Oct 2026 00:23:33 +0800 Subject: [PATCH] chore(openspec): correct layout header semantics in fe-admin-layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 左右布局顶栏仅不含菜单,固定顶栏对所有布局生效。 Co-Authored-By: Claude Opus 4.8 --- openspec/changes/fe-admin-layout/design.md | 2 +- openspec/changes/fe-admin-layout/proposal.md | 2 +- .../specs/frontend/AD/layout/spec.md | 16 ++++++---------- openspec/changes/fe-admin-layout/tasks.md | 2 +- sources/sysmgr-admin | 2 +- 5 files changed, 10 insertions(+), 14 deletions(-) diff --git a/openspec/changes/fe-admin-layout/design.md b/openspec/changes/fe-admin-layout/design.md index 6e16a12..339ac20 100644 --- a/openspec/changes/fe-admin-layout/design.md +++ b/openspec/changes/fe-admin-layout/design.md @@ -52,7 +52,7 @@ sysmgr-admin 基于 agarwood 模板,已具备:Vue 3 + Vite 8 + TypeScript、 } ``` -5 种呈现由 `layout × mixbar` 派生:`top`、`horizontal`(±mixbar)、`sidebar`(±mixbar);`top` 布局忽略 mixbar。顶栏存在性:`horizontal`/`top` 有顶栏,`sidebar`(左右)无顶栏(与用户确认,vertical 与 left 一致、均无顶栏)。 +5 种呈现由 `layout × mixbar` 派生:`top`、`horizontal`(±mixbar)、`sidebar`(±mixbar);`top` 布局忽略 mixbar。**所有布局均有顶栏**(含折叠/面包屑/全屏/暗黑/设置/用户等工具),区别只在导航菜单位置:`top` 顶栏放全量导航、`horizontal` 顶栏放一级导航 + 侧栏放子菜单、`sidebar` 顶栏不放菜单(菜单全在侧栏)。 ### D5. 主题色运行时覆盖 由所选主色用 JS 计算派生色阶(light-3/5/7/8/9、dark-2),写入 `:root` 的 `--el-color-primary` 及派生变量;默认 `#2E7FA3` 预置。色值计算用 `colord` 或自写 mix(混白/黑)。 diff --git a/openspec/changes/fe-admin-layout/proposal.md b/openspec/changes/fe-admin-layout/proposal.md index c5c487a..9c8d663 100644 --- a/openspec/changes/fe-admin-layout/proposal.md +++ b/openspec/changes/fe-admin-layout/proposal.md @@ -7,7 +7,7 @@ Phase 0 前端只有登录页与路由守卫,登录后没有真正的后台布 - **集成 Element Plus**:走 on-demand(`unplugin-vue-components` 的 `ElementPlusResolver` + 组件样式按需),配置中文 locale。 - **布局壳**:替换 `src/layouts/default.vue`;布局/全局组件统一放 `src/components/`(自动注册目录),命名 `ty-` 前缀 + 中划线(`ty-header.vue` → ``),充分复用 auto-import。 - **组件库友好**:组件 props/emits 显式类型化、props 驱动、与 Pinia store 解耦,为将来抽取独立组件库打基础。 -- **布局与导航模式**:支持 3 种布局(上下/纯上下/左右)× MixBar 开关,共 5 种呈现;MixBar 固定最左;「左右」无顶栏;左侧菜单支持 collapse/expand。 +- **布局与导航模式**:支持 3 种布局(上下/纯上下/左右)× MixBar 开关,共 5 种呈现;MixBar 固定最左;所有布局均有顶栏(左右顶栏仅工具、不含菜单);左侧菜单支持 collapse/expand。 - **主题色**:颜色选择器自定义,默认 `#2E7FA3`,运行时覆盖 Element Plus 主色 CSS 变量。 - **暗黑模式**:明亮/暗黑切换。 - **顶栏固定**:可固定/不固定;纯左右布局(无顶栏)时该选项禁用。 diff --git a/openspec/changes/fe-admin-layout/specs/frontend/AD/layout/spec.md b/openspec/changes/fe-admin-layout/specs/frontend/AD/layout/spec.md index 9438a89..830f98e 100644 --- a/openspec/changes/fe-admin-layout/specs/frontend/AD/layout/spec.md +++ b/openspec/changes/fe-admin-layout/specs/frontend/AD/layout/spec.md @@ -5,19 +5,19 @@ ## ADDED Requirements ### Requirement: 布局与导航模式 -系统 SHALL 支持 3 种布局(上下 / 纯上下 / 左右)与 MixBar 开关的组合,共 5 种呈现;MixBar 始终固定在布局最左侧;「左右」布局不渲染顶栏。 +系统 SHALL 支持 3 种布局(上下 / 纯上下 / 左右)与 MixBar 开关的组合,共 5 种呈现;MixBar 始终固定在布局最左侧;所有布局均渲染顶栏,仅导航菜单位置不同。 #### Scenario: 切换布局即时生效 - **WHEN** 用户在布局设置中切换布局或开启/关闭 MixBar - **THEN** 主框架立即按新布局重新排布顶栏、侧边栏与内容区 -#### Scenario: 左右无顶栏 +#### Scenario: 左右顶栏不含菜单 - **WHEN** 布局为「左右」 -- **THEN** 主框架只渲染左侧菜单与内容区,不渲染顶栏 +- **THEN** 顶栏仍显示折叠/面包屑/全屏/暗黑/设置/用户等工具,但不渲染导航菜单,菜单全部在左侧侧边栏 -#### Scenario: 上下有顶栏 +#### Scenario: 上下/纯上下顶栏含导航 - **WHEN** 布局为「上下」或「纯上下」 -- **THEN** 主框架渲染顶栏,其中「上下」顶部放一级导航、左侧放子菜单,「纯上下」仅顶部导航 +- **THEN** 顶栏含导航:「上下」顶部放一级导航、左侧放子菜单;「纯上下」仅顶部放全量导航 ### Requirement: 侧边菜单折叠 左侧导航菜单 SHALL 支持 collapse(折叠为图标)与 expand(展开显示文字+图标)。 @@ -41,16 +41,12 @@ - **THEN** 全站即时切换为深色配色,刷新后仍保留 ### Requirement: 顶栏固定 -顶栏 SHALL 支持固定(内容滚动时顶栏常驻顶部)与不固定;「左右」布局(无顶栏)时该选项禁用。 +顶栏 SHALL 支持固定(内容滚动时顶栏常驻顶部)与不固定,所有布局均适用。 #### Scenario: 顶栏固定开关 - **WHEN** 用户切换「固定顶栏」 - **THEN** 顶栏在固定/随内容滚动之间切换 -#### Scenario: 左右布局禁用 -- **WHEN** 布局为「左右」 -- **THEN** 「固定顶栏」选项置灰不可选 - ### Requirement: 侧边菜单宽度 左侧菜单宽度 SHALL 可调,范围 200–340(单位 px)。 diff --git a/openspec/changes/fe-admin-layout/tasks.md b/openspec/changes/fe-admin-layout/tasks.md index 6fcbcd1..d855b47 100644 --- a/openspec/changes/fe-admin-layout/tasks.md +++ b/openspec/changes/fe-admin-layout/tasks.md @@ -39,7 +39,7 @@ ## 7. 验证 - [x] 7.1 `pnpm dev` 启动,登录后进入布局壳 -- [x] 7.2 切换 5 种模式即时生效;「左右」无顶栏且「固定顶栏」禁用 +- [x] 7.2 切换 5 种模式即时生效;「左右」顶栏不含菜单、导航全在左侧 - [x] 7.3 主题色、暗黑、侧边宽度、折叠、手风琴、多页签、全屏、面包屑、底部版权均生效 - [x] 7.4 刷新后设置保留(localStorage);改 `defaultLayout` 后未改过的用户按新默认值渲染 - [x] 7.5 `pnpm type-check` 与 `pnpm build:prod` 通过 diff --git a/sources/sysmgr-admin b/sources/sysmgr-admin index 6ef0b11..86af3c1 160000 --- a/sources/sysmgr-admin +++ b/sources/sysmgr-admin @@ -1 +1 @@ -Subproject commit 6ef0b1121c86c01fa75563dbb79c6568a3cf96a4 +Subproject commit 86af3c10e119701e0f625088ec8d07b78f561b83