Files
Hua.Todo/docs/产品需求文档-1.2.0.md
T
2026-04-06 22:59:16 +08:00

3.3 KiB
Raw Blame History

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 对后台进程的限制可能导致提醒不准时。