状态:已决议(2026-07)
受众:前端、全栈、架构评审、AI Agent
产品说明:产品决议 · 固定逻辑尺寸
实现 spec(权威):DataView/spec/development/position-layout-fixed-canvas.md
自由布局(dashboardKind: position)服务 指挥大屏、展厅、拼接屏:
x/y/w/h/z)落在画布上;zoom: fit 等等比缩放 映射到物理屏幕;历史上讨论过三类思路,当前产品只保留前两列中的各一种实现路径:
| 模式 | 画布逻辑尺寸 | 组件定位 | 高度行为 | 典型场景 | DataLuminary |
|---|---|---|---|---|---|
| 全局等比模式 | 固定宽 × 固定高 | 绝对定位 | 逻辑高度不变,整体 scale | 拼接屏、展厅、指挥大厅 | position 自由布局 |
| 流式内容驱动模式 | 宽随容器,高随内容 | 栅格 / 文档流 | 可纵向滚动、分页增长 | 门户报表、经营看板、分析页 | grid 网格布局 |
| 宽固定,高意图 auto | 绝对定位 | 父级无法被撑开,易错位 | — | 不实现 |
说明:
position 插件上。| 路径 | 职责 |
|---|---|
src/plugins/dashboard/position/ |
画布、绝对定位、设计器 |
src/plugins/dashboard/shared/screenPresets.ts |
1080p / 2K / 4K 等预设 |
src/plugins/dashboard/shared/types.ts |
PositionPanelLayout、DashboardLayoutStyle |
src/pages/dashboard/components/category/ScreenSizeSelector.tsx |
尺寸选择 UI |
内置 PC 大屏(16:9)示例:
| 档位 | 逻辑尺寸 |
|---|---|
| 1080p | 1920 × 1080 |
| 2K | 2560 × 1440 |
| 4K | 3840 × 2160 |
新增分辨率:扩展 POSITION_WIDTH_PRESETS / POSITION_HEIGHT_PRESETS 与 i18n,不要 为 position 主推 height: "auto"。
LayoutDimension = number | "auto" 及 viewportHeight 等主要为 列表布局 或历史探索保留;position 的产品语义仍是固定数值宽高。重构时勿扩大 auto 在 position 下的行为。
| 文档 | 位置 |
|---|---|
| 产品决议 | product/position-layout-fixed-canvas.md |
| 前端 spec | DataView/spec/development/position-layout-fixed-canvas.md |
| MetaRepo 索引 | spec/development/dashboard-layout-overview.md |