Files
Hua.Todo/docs/project/产品需求文档-1.2.0.md
T
2026-04-06 23:25:57 +08:00

78 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hua.Todo 产品需求文档 (PRD) v1.2.0
## 1. 项目概述
在 v1.1.0 版本成功实现 MAUI + WebView 跨平台架构的基础上,v1.2.0 版本将重点提升任务管理的精细化程度,完善平台支持(Linux),并增强用户体验(暗色模式、提醒功能)。
## 2. 核心目标
- **完善平台覆盖**:正式支持 Linux 平台。
- **增强任务组织**:引入搜索、过滤和标签系统。
- **提升交互体验**:支持本地通知提醒及暗色模式。
- **数据安全保障**:实现基础的数据导入导出功能。
## 3. 功能需求
### 3.1 平台支持:Linux 官方支持
- **适配性**:确保 WebView 在 Linux 环境下的正常渲染与交互。
- **打包部署**:提供 Linux 平台的打包脚本(如 .deb 或 .tar.gz)。
### 3.2 任务检索与过滤 (Search & Filter)
- **关键词搜索**:在主界面顶部增加搜索框,支持按任务标题模糊匹配。
- **高级过滤**
- 按优先级过滤(高、中、低)。
- 按标签过滤。
- 按创建/完成时间段过滤。
### 3.3 本地提醒 (Local Reminders)
- **提醒设置**:在任务编辑界面增加“提醒时间”字段。
- **通知触发**:当达到提醒时间时,通过平台原生 API 发送本地通知(Notification)。
- **状态反馈**:已过期的提醒任务在列表中有明显的视觉标识。
### 3.4 标签系统 (Tag System)
- **多标签支持**:一个任务可关联多个标签。
- **标签管理**:支持自定义标签名称和颜色。
- **快速归类**:通过标签快速筛选相关任务。
### 3.5 主题增强:暗色模式 (Dark Mode)
- **自动切换**:根据系统主题自动切换浅色/深色模式。
- **手动控制**:在设置中提供手动切换开关。
- **UI 适配**Vue 前端及 MAUI 原生部分均需完成暗色模式适配。
### 3.6 数据迁移 (Data Migration)
- **导出功能**:支持将所有任务数据导出为 JSON 格式文件。
- **导入功能**:支持从 JSON 文件恢复数据,解决跨设备迁移问题。
## 4. 技术实现要点
### 4.1 Linux 适配
- 使用 WebKitGTK 作为 WebView 容器。
- 适配 Linux 下的全局快捷键实现。
### 4.2 本地通知
- 使用 `Plugin.LocalNotification` 或 MAUI 自带的通知机制(取决于 .NET 10 的最新支持)。
- 确保后台服务在移动端能准时触发提醒。
### 4.3 标签数据结构
-`TaskEntity` 中增加 `Tags` 关联(多对多关系或简单的 JSON 存储)。
### 4.4 主题管理
- 使用 CSS Variables (Custom Properties) 管理前端主题颜色。
- 监听 `(prefers-color-scheme: dark)` 媒体查询。
## 5. 版本规划
### 5.1 v1.2.0 目标
- [ ] Linux 平台完整支持与打包脚本。
- [ ] 搜索框及多维过滤功能。
- [ ] 本地提醒(提醒时间设置与通知触发)。
- [ ] 基础标签功能(创建、关联、过滤)。
- [ ] 全局暗色模式适配。
- [ ] 数据导入导出(JSON)。
### 5.2 后续版本规划
- **v1.3.0**:云同步功能(接入第三方云盘或自建服务)。
- **v1.4.0**:统计图表(任务完成趋势、时间分配分析)。
## 6. 风险评估
- **Linux 碎片化**:不同发行版下 WebView 的依赖库可能不一致。
- **移动端后台限制**:Android/iOS 对后台进程的限制可能导致提醒不准时。