问题描述
DivineSense 各主模块页面的 Header 与主体内容间距不统一,导致视觉体验不一致。
当前问题
-
顶部间距不统一
- MemoLayout:
md:pt-6 ✅
- AIChatLayout: 无 pt 间距 ❌
- ScheduleLayout: 无 pt 间距 ❌
- GeneralLayout: 无 pt 间距 ❌
-
侧边栏宽度不统一
- MemoLayout:
md:w-56, lg:w-72
- AIChatLayout:
w-72
- ScheduleLayout:
w-80 (320px) ❌
-
侧边栏内边距不统一
- MemoLayout:
px-3 py-6
- AIChatLayout:
pt-2
- ScheduleLayout:
py-4 px-3
-
移动端 Header 高度/样式不统一
- AIChat/Schedule:
h-14 (固定)
- GeneralLayout:
py-3 h-14 (有 padding)
- MemoLayout: MobileHeader (高度未指定)
-
响应式断点不统一
- MemoLayout:
md, lg
- AIChatLayout:
lg
- ScheduleLayout:
lg
- GeneralLayout:
sm ❌
字符图示
【PC 端顶部间距对比】
MemoLayout: ████ pt-6 (24px) ✅
AIChatLayout: (无间距) ❌
ScheduleLayout: (无间距) ❌
GeneralLayout: (无间距,各页面自行管理) ❌
【侧边栏宽度对比】
MemoLayout: ║288px (lg) ║
AIChatLayout: ║288px ║
ScheduleLayout: ║320px ║ ❌
解决方案
功能范围
包含:
- 统一所有 Layout 组件的间距规范
- 统一 Mobile Header 高度样式
- 创建间距规范常量便于维护
- 更新文档说明间距规范
不包含:
- AIChat 沉浸模式(保持全屏体验)
- ScheduleLayout 侧边栏宽度(保持 320px 以容纳日历)
技术方案
前端 (TypeScript/Tailwind CSS):
- 创建间距规范常量 (
web/src/styles/layout.ts)
export const LAYOUT_SPACING = {
sidebarWidth: "w-72", // 288px
sidebarPadding: "px-3 py-6",
mobileHeaderHeight: "h-14", // 56px
paddingTopMobile: "pt-4", // 16px
paddingTopDesktop: "pt-6", // 24px
paddingBottom: "pb-8", // 32px
paddingXMobile: "px-4", // 16px
paddingXDesktop: "sm:px-6", // 24px
maxWidth: "max-w-[100rem]", // 1600px
} as const;
-
修改文件清单
web/src/layouts/GeneralLayout.tsx - 按规范重构
web/src/layouts/AIChatLayout.tsx - 添加注释说明
web/src/layouts/ScheduleLayout.tsx - 添加注释说明
web/src/pages/Inboxes.tsx - 移除页面内冗余间距
web/src/pages/Attachments.tsx - 移除页面内冗余间距
web/src/pages/Setting.tsx - 移除页面内冗余间距
web/src/pages/Review.tsx - 移除页面内冗余间距
-
统一规范 Token
| 用途 |
移动端 (<768px) |
PC 端 (≥768px) |
| 侧边栏宽度 |
N/A |
w-72 (288px) |
| 顶部间距 |
pt-4 (16px) |
pt-6 (24px) |
| 底部间距 |
pb-8 (32px) |
pb-8 (32px) |
| 水平内边距 |
px-4 (16px) |
px-6 (24px) |
| 最大内容宽度 |
100% |
max-w-[100rem] |
| Mobile Header |
h-14 (56px) |
隐藏 |
风险与缓解
| 风险 |
影响 |
措施 |
| AIChat 沉浸模式破坏 |
中 |
排除在外,添加注释说明 |
| Schedule 日历空间不足 |
低 |
保持 w-80,添加注释说明 |
复杂度
验收标准
调研时间: 2026-02-04 | 版本: v1.0
问题描述
DivineSense 各主模块页面的 Header 与主体内容间距不统一,导致视觉体验不一致。
当前问题
顶部间距不统一
md:pt-6✅侧边栏宽度不统一
md:w-56,lg:w-72w-72w-80(320px) ❌侧边栏内边距不统一
px-3 py-6pt-2py-4 px-3移动端 Header 高度/样式不统一
h-14(固定)py-3 h-14(有 padding)响应式断点不统一
md,lglglgsm❌字符图示
解决方案
功能范围
包含:
不包含:
技术方案
前端 (TypeScript/Tailwind CSS):
web/src/styles/layout.ts)修改文件清单
web/src/layouts/GeneralLayout.tsx- 按规范重构web/src/layouts/AIChatLayout.tsx- 添加注释说明web/src/layouts/ScheduleLayout.tsx- 添加注释说明web/src/pages/Inboxes.tsx- 移除页面内冗余间距web/src/pages/Attachments.tsx- 移除页面内冗余间距web/src/pages/Setting.tsx- 移除页面内冗余间距web/src/pages/Review.tsx- 移除页面内冗余间距统一规范 Token
w-72(288px)pt-4(16px)pt-6(24px)pb-8(32px)pb-8(32px)px-4(16px)px-6(24px)max-w-[100rem]h-14(56px)风险与缓解
复杂度
验收标准
make check-all通过pt-6(除特殊场景)pt-4w-72(Schedule 例外)docs/dev-guides/FRONTEND.md文档调研时间: 2026-02-04 | 版本: v1.0