71 lines
2.3 KiB
Markdown
71 lines
2.3 KiB
Markdown
|
|
---
|
||
|
|
title: 图表主题系统规格
|
||
|
|
author: AI Assistant
|
||
|
|
date: 2026-02-16
|
||
|
|
---
|
||
|
|
|
||
|
|
## ADDED Requirements
|
||
|
|
|
||
|
|
### Requirement: 图表类型感知配置
|
||
|
|
`useChartTheme` 组合式函数 SHALL 根据图表类型自动提供合适的默认配置。
|
||
|
|
|
||
|
|
#### Scenario: 饼图/环形图自动隐藏坐标轴
|
||
|
|
- **WHEN** 调用 `getChartOptionsByType('doughnut', customOptions)`
|
||
|
|
- **THEN** 返回的配置中 `scales.x.display` 和 `scales.y.display` 均为 `false`
|
||
|
|
- **AND** 返回的配置 SHALL 与 customOptions 深度合并
|
||
|
|
|
||
|
|
#### Scenario: 折线图/柱状图保留简化坐标轴
|
||
|
|
- **WHEN** 调用 `getChartOptionsByType('line', customOptions)`
|
||
|
|
- **THEN** 返回的配置包含简化的坐标轴样式
|
||
|
|
- **AND** 网格线使用 `--van-border-color` 30% 透明度
|
||
|
|
- **AND** 刻度标签字体大小为 10px
|
||
|
|
|
||
|
|
### Requirement: 现代化配色方案
|
||
|
|
图表主题系统 SHALL 提供符合现代审美的配色方案。
|
||
|
|
|
||
|
|
#### Scenario: 主色板包含 8 个颜色
|
||
|
|
- **WHEN** 访问 `chartPalette`
|
||
|
|
- **THEN** 返回包含 8 个颜色的数组
|
||
|
|
- **AND** 颜色 SHALL 从 Vant 主题色派生并降低 20% 饱和度
|
||
|
|
|
||
|
|
#### Scenario: 支出/收入颜色区分
|
||
|
|
- **WHEN** 配置支出相关图表
|
||
|
|
- **THEN** 默认使用暖色调(橙红系)
|
||
|
|
- **WHEN** 配置收入相关图表
|
||
|
|
- **THEN** 默认使用冷色调(青绿系)
|
||
|
|
|
||
|
|
### Requirement: 暗色模式适配
|
||
|
|
图表 SHALL 自动适配 Vant UI 的暗色模式。
|
||
|
|
|
||
|
|
#### Scenario: 暗色模式颜色切换
|
||
|
|
- **WHEN** Vant 主题切换为暗色模式
|
||
|
|
- **THEN** 图表文本颜色 SHALL 自动变为浅色
|
||
|
|
- **AND** 图表背景色 SHALL 与卡片背景一致
|
||
|
|
- **AND** 网格线颜色 SHALL 变为深色系的边框色
|
||
|
|
|
||
|
|
#### Scenario: 手动颜色获取
|
||
|
|
- **WHEN** 调用 `colors.text`
|
||
|
|
- **THEN** 返回当前主题的文本颜色 CSS 变量值
|
||
|
|
- **AND** SHALL 实时响应主题切换
|
||
|
|
|
||
|
|
### Requirement: 动画配置
|
||
|
|
图表 SHALL 支持可配置的动画效果。
|
||
|
|
|
||
|
|
#### Scenario: 默认动画配置
|
||
|
|
- **WHEN** 获取图表配置
|
||
|
|
- **THEN** 默认动画持续时间为 600ms
|
||
|
|
- **AND** 缓动函数为 `easeOutQuart`
|
||
|
|
|
||
|
|
#### Scenario: 减少动画偏好
|
||
|
|
- **WHEN** 用户系统偏好 `prefers-reduced-motion: reduce`
|
||
|
|
- **THEN** 动画持续时间 SHALL 自动设为 0
|
||
|
|
- **AND** 图表 SHALL 立即渲染完成
|
||
|
|
|
||
|
|
## MODIFIED Requirements
|
||
|
|
|
||
|
|
无修改的现有需求。
|
||
|
|
|
||
|
|
## REMOVED Requirements
|
||
|
|
|
||
|
|
无删除的需求。
|