- useDashboard hook 改为接受 refetchInterval 动态参数,移除固定 8 秒常量 - Header operations 区域重构为 RadioGroup(手动/10秒/30秒/1分钟/5分钟)+ 倒计时/刷新按钮 - 新增 formatCountdown 工具函数及单元测试 - 新增 .dashboard-refresh-control 和 .dashboard-countdown CSS 类 - 同步更新 DEVELOPMENT.md、README.md、主 specs
33 lines
1.5 KiB
Markdown
33 lines
1.5 KiB
Markdown
## Purpose
|
||
|
||
定义 Dashboard 页面骨架布局:顶部导航栏(含品牌标识和刷新频率选择器/倒计时控件)、内容区域居中与最大宽度、页面背景色。
|
||
|
||
## Requirements
|
||
|
||
### Requirement: 页面骨架布局
|
||
Dashboard SHALL 使用 TDesign Layout 组件体系构建页面骨架,包含顶部导航栏和内容区域。
|
||
|
||
#### Scenario: Layout 结构
|
||
- **WHEN** Dashboard 页面渲染
|
||
- **THEN** 页面 SHALL 使用 TDesign `Layout` 组件包裹 `Layout.Header` 和 `Layout.Content`
|
||
|
||
#### Scenario: 顶部导航栏
|
||
- **WHEN** Dashboard 页面渲染
|
||
- **THEN** `Layout.Header` SHALL 内嵌 TDesign `HeadMenu` 组件,`logo` prop 渲染品牌名 "DiAL" 和副标题 "统一拨测平台"(水平排列),`operations` prop 渲染刷新频率选择器和倒计时/刷新按钮组合控件
|
||
|
||
#### Scenario: 刷新控制区域
|
||
- **WHEN** Dashboard 页面渲染
|
||
- **THEN** HeadMenu operations 区域 SHALL 包含 RadioGroup 刷新频率选择器和倒计时文本(或手动刷新按钮),两者水平排列并垂直居中
|
||
|
||
#### Scenario: 刷新控制区域位置
|
||
- **WHEN** HeadMenu 渲染
|
||
- **THEN** operations 区域 SHALL 使用右侧 margin 向内收缩,避免紧贴浏览器右边缘
|
||
|
||
#### Scenario: 内容区域居中
|
||
- **WHEN** Dashboard 内容区渲染
|
||
- **THEN** `Layout.Content` 内部 SHALL 使用 CSS 类限制最大宽度(max-width: 1400px)并水平居中
|
||
|
||
#### Scenario: 页面背景色
|
||
- **WHEN** Dashboard 页面渲染
|
||
- **THEN** 页面背景色 SHALL 使用 `var(--td-bg-color-page)`,内容卡片浮于浅灰背景之上
|