№ · UI 重构 CH.07.08
主页 · ✨ UI 重构 · 《同福客栈挂机游戏》横版 UI 布局重构技术文档

《同福客栈挂机游戏》横版 UI 布局重构技术文档

📅 2026-07-08 · 📦 8.5 KB · ✨ UI 重构 · 📝 MD 文档 🆕 14d 🏷️ 时间🏷️ Buff🏷️ 设计🏷️ 剧情

立项时间:2026-06-26
文档状态:技术设计方案(待评审)
适用范围:Web 横版首页(视口宽度 ≥ 1024px)
核心约束只调尺寸 / 间距 / 对齐 / 密度,不动色板 / 字体 / 材质 / 动效 / 数据 / 业务


1. 重构背景与现状分析

目前 Web 横版界面承载了丰富的游戏经营数据和交互逻辑,但由于信息密度极高、各模块尺寸与对齐不够严整,导致在不同分辨率(如 1280px、1440px、1680px)下容易产生视觉上的“散”和“凌乱”。

1.1 核心组件树与文件清单

  • 根容器:[DesktopWorkspacePanel.tsx](file:///e:/同福客栈挂机游戏/src/components/DesktopWorkspacePanel.tsx) (桌面横版根容器)
  • 顶部状态栏:[AppHeaderBar.tsx](file:///e:/同福客栈挂机游戏/src/components/AppHeaderBar.tsx) (包含 LOGO、掌柜信息、4 状态卡、5 按钮)
  • 剧情追踪条:[StoryTrackingCard.tsx](file:///e:/同福客栈挂机游戏/src/components/StoryTrackingCard.tsx)
  • 左侧导航:[DesktopSidebar.tsx](file:///e:/同福客栈挂机游戏/src/components/DesktopSidebar.tsx) (6 木牌)
  • 中间大堂主面板:[MainHallPanel.tsx](file:///e:/同福客栈挂机游戏/src/components/MainHallPanel.tsx)
    • [SystemStatusPanel.tsx](file:///e:/同福客栈挂机游戏/src/components/SystemStatusPanel.tsx) (4 子卡:账号/周目/Buff/客栈)
    • [InnCourt.tsx](file:///e:/同福客栈挂机游戏/src/components/InnCourt.tsx) (大堂场景)
  • 右侧控制台:[DesktopConsolePanel.tsx](file:///e:/同福客栈挂机游戏/src/components/DesktopConsolePanel.tsx)
    • [ConsoleTabsBar.tsx](file:///e:/同福客栈挂机游戏/src/components/ConsoleTabsBar.tsx) (10 Tab 网格)
    • [LedgerSummaryTab.tsx](file:///e:/同福客栈挂机游戏/src/components/LedgerSummaryTab.tsx) (经营总览台账)
      • [MetricGrid.tsx](file:///e:/同福客栈挂机游戏/src/components/ledger/MetricGrid.tsx) (7 指标卡,含 4 核心卡)

1.2 核心问题梳理

  1. 顶部 4 状态卡宽度不一:padding 不一致,min-width 不统一,flex 比例不一致,导致视觉扫读不顺畅。
  2. 顶部 5 按钮高度不齐:高度在 32px-36px 之间混杂,且未实现 stretch 垂直居中对齐。
  3. 全局 max-w 偏大:目前使用 max-w-[1680px],在 1280px-1440px 视口下两侧挤压严重,建议收紧至 max-w-[1440px]
  4. 左侧 6 木牌尺寸偏小:目前为 56×56,字号 10px 偏小,且中间虚线分隔突兀。
  5. 大堂图比例偏方:目前为 16:9 比例,在横版下显得不够舒展,建议调整为 21:9 扁平挂轴比例。
  6. SystemStatusPanel 4 子卡极度拥挤:padding 仅 1-1.5px,字号偏小,内容堆叠。
  7. 控制台 10 Tab 布局不平衡:采用 3 列布局导致最后一行出现 1 个孤立 Tab,建议重构为 2 列平衡布局。
  8. 经营总览台账 4 核心卡 padding 偏小:目前为 p-3 (12px),数据字号偏小,缺乏高端台账的舒展感。

2. 重构设计原则

2.1 视觉红线(绝对不动)

  • 色板:保留所有现有色值(5 类宣纸色、6 类朱砂色、木棕/灯火/竹青/靛蓝等)。
  • 字体:保留 Noto Serif SC、ZCOOL KuaiLe、Playfair Display 三套字体。
  • 材质与工具类:保留 tongfu-parchment (宣纸主卡)、tongfu-parchment-light (浅宣纸)、tongfu-crest (朱红小印)、tongfu-seal (朱砂实心印章)、tongfu-button-wooden (木质按钮) 等。
  • 业务与数据:不修改任何业务逻辑、数据流、交互状态及 props 接口。

2.2 优化白名单(允许调整)

  • 尺寸与间距:调整 className 上的 width, height, padding, margin, gap。
  • 圆角规范:收编并统一为三档:8px (小卡片/按钮)、10px (系统子卡)、12px (主面板/大卡片)。
  • 网格列数:调整 Grid 列数以实现视觉平衡。
  • 字号阶梯:收编散落的字号,统一为:10px / 11px / 12px / 14px / 16px / 18px / 22px / 26px

3. 详细重构方案

3.1 顶部状态栏与按钮组 (AppHeaderBar.tsx)

  • 4 状态卡统一
    • 统一设置 min-width: 140pxflex: 1(等宽等弹性)。
    • 统一 padding 为 12px 14px
    • 标题行使用 text-[10px] tracking-[0.05em],数值行使用 text-[22px] font-serif font-black,副行使用 text-[10px] text-[#8d6e63]
  • 5 按钮组对齐
    • 前 4 个图标按钮固定 36×36pxalign-self: center
    • "天降财神"主按钮固定高度 36px,padding 0 14px
    • 按钮组外层容器使用 flex items-center gap-1.5 self-stretch,使其与左侧状态卡等高对齐。

3.2 全局容器宽度收紧 (DesktopWorkspacePanel.tsx)

  • DesktopWorkspacePanel.tsx(3 处)及 AppHeaderBar.tsx(1 处)的 max-w-[1680px] 统一收紧为 max-w-[1440px]
  • 预期效果:在 1280px - 1440px 视口下,单行布局更加舒展,两侧留白更合理。

3.3 左侧 6 木牌导航 (DesktopSidebar.tsx)

  • 尺寸调整:按钮尺寸由 h-14 w-14 (56×56px) 放大至 h-16 w-16 (64×64px)。
  • 字号调整:字号由 text-[10px] 提升至 text-[11px]
  • 间距与分隔
    • 按钮间距由 gap-4 缩减至 gap-3 (12px),使序列更紧凑。
    • 废弃突兀的虚线分隔 border-b-2 border-dashed,改用“金线 + 圆点”小木塞样式的 div 装饰。

3.4 中间大堂与系统状态面板 (MainHallPanel.tsx & SystemStatusPanel.tsx)

  • 大堂图比例重构
    • 高度统一为 h-48 (192px),比例调整为约 21:9。
    • 圆角由 16px 统一收缩至 12px,与主系统卡保持一致。
  • SystemStatusPanel 4 子卡降噪
    • 子卡圆角统一为 rounded-[10px],padding 提升至 px-3 py-2
    • 标题字号由 text-[9px]text-[10px]
    • 数值字号由 text-[11px]text-[12px]
    • 副标题字号由 text-[8px]text-[9px]
    • 子卡间距由 gap-1.5gap-2

3.5 右侧控制台 10 Tab 布局 (ConsoleTabsBar.tsx)

  • 布局重构
    • grid-cols-3 调整为 grid-cols-2 lg:grid-cols-2(在 lg 视口下也保持 2 列)。
    • 10 个 Tab 形成 2-2-2-2-2 的 5 行 2 列完美对称布局,彻底消除最后一行单个 Tab 孤立悬空的问题。
    • Tab 按钮最小高度由 min-h-[46px] 提升至 min-h-[52px],提升点击触达体验。

3.6 经营总览台账 4 核心卡 (MetricGrid.tsx)

  • 卡片舒展化
    • 4 核心卡 padding 由 p-3 (12px) 提升至 p-4 (16px)。
    • 网格间距由 gap-3 提升至 gap-4 (16px)。
    • 数值字号由 text-[14px] 提升至 text-[16px] font-black,增强数据可读性与视觉冲击力。

4. 实施步骤与计划

| 阶段 | 涉及文件 | 改动说明 | 风险评估 | | :--- | :--- | :--- | :--- | | Phase 1: P0 核心对齐 | AppHeaderBar.tsx
SystemStatusPanel.tsx | 顶部状态卡宽度统一、按钮高度对齐、系统状态子卡 padding 加大 | 低风险,纯 className 调整 | | Phase 2: P1 栅格与比例 | DesktopWorkspacePanel.tsx
DesktopSidebar.tsx
MainHallPanel.tsx
ConsoleTabsBar.tsx
MetricGrid.tsx | 全局 max-w 收紧、左侧木牌放大、大堂图 21:9 比例、10 Tab 2列化、台账核心卡舒展化 | 中风险,需注意 1280px 下的响应式表现 | | Phase 3: 验收与微调 | 所有相关组件 | 检查圆角、字号阶梯,确保无新色值引入,保留所有古风特色 | 低风险 |


5. 验收标准 (Checklist)

  • [ ] 顶部状态栏:4 个状态卡宽度完全一致,内部文字与数值对齐;5 个按钮高度统一为 36px。
  • [ ] 全局宽度:在 1280px / 1440px 视口下,两侧留白合理,无挤压变形。
  • [ ] 左侧导航:6 个木牌尺寸统一为 64×64px,字号 11px,中间分隔无突兀虚线。
  • [ ] 大堂主面板:大堂图呈现 21:9 扁平挂轴比例,圆角为 12px;系统状态 4 子卡布局舒展,无文字重叠。
  • [ ] 控制台 Tab:10 个 Tab 呈现 5 行 2 列对称布局,无孤立 Tab。
  • [ ] 经营台账:4 核心卡 padding 为 16px,数值字号为 16px,右上角朱红印章角标位置正确。
  • [ ] 视觉红线:未引入任何新色值、新字体、新材质,所有古风工具类(宣纸、朱砂印章等)完好生效。