Files
ui/docs/prd/requirements.md
2025-10-15 23:40:13 +08:00

3.1 KiB
Raw Blame History

Requirements

Functional Requirements

FR1: 系统应提供基于苹果颜色系统的语义化颜色定义primary, secondary, success, warning, error, background, surface 等),支持 2 种预设主题(浅色、深色)

FR2: 系统应提供 ThemeManager API允许运行时动态切换主题且主题切换应流畅无闪烁所有控件自动响应主题变化

FR3: 系统架构应支持国际化扩展MVP 阶段默认使用一种语言(中文或英文),预留语言切换扩展点,为后续多语言支持打下基础

FR4: PropertyGrid 应能够从数据模型自动生成属性编辑 UI支持以下基础属性类型string, int, double, bool, enum, DateTime

FR5: PropertyGrid 应支持属性分组功能,允许开发者将相关属性组织在一起,提升配置界面的可读性

FR6: PropertyGrid 应支持只读属性标记,只读属性应显示但禁止编辑

FR7: PropertyGrid 应使用 2xN Layout 布局(左侧标签,右侧编辑器),确保界面整齐对齐

FR8: PropertyGrid 可选支持 IPAddress 和 FilePath 属性类型满足上位机场景的常见配置需求MVP 阶段可根据开发进度决定是否实现)

FR9: UserGuide 应提供步骤式引导流程控件,支持配置引导步骤(目标控件、提示文本、相对位置),支持上一步、下一步、跳过操作

FR10: UserGuide 应提供增强 Tooltip 控件,支持基础富文本显示(粗体、斜体、换行)

FR11: UserGuide 应提供 Overlay 遮罩控件,用于聚焦引导目标,半透明背景突出当前步骤

FR12: 所有控件应基于 ReactiveUI 实现数据绑定和交互逻辑,支持 Command、Reactive、Event 混合使用

Non-Functional Requirements

NFR1: 所有控件必须支持 .NET 8+ 和 Avalonia 11.x 或更高版本,不向后兼容旧版本

NFR2: 系统架构设计应考虑未来 AOT 编译支持MVP 阶段允许使用反射PropertyGrid 可基于反射实现,后续可通过 Source Generator 优化)

NFR3: UI 渲染性能应达到 60fps16ms 每帧),控件交互应流畅无卡顿

NFR4: 主题切换应在 100ms 内完成,用户感知无延迟

NFR5: PropertyGrid 对于包含 50 个属性的模型UI 生成时间应小于 200ms

NFR6: 控件应支持 Windows主要、Linux次要、macOS可选平台优先保证 Windows 体验

NFR7: 代码应遵循 C# 编码规范,使用清晰的命名和注释,便于后续维护

NFR8: 控件应具备良好的可扩展性支持开发者通过模板Template和样式Style自定义外观这是控件库的基本要求

NFR9: MVP 阶段应提供基础文档README 和使用示例核心控件PropertyGrid、UserGuide应有完整的代码示例

NFR10: 项目应使用 Git 进行版本控制,关键里程碑应有清晰的提交记录和标签

NFR11: 应提供 ReactiveUI 在 Avalonia 控件开发中的快速入门文档和代码示例,降低团队学习成本