d81aa06681
1. 更新 .env 配置文件,替换原有云同步变量为 API 目标配置 2. 调整 publish-linux.ps1 中的文档路径,使用研发工单目录 3. 重构项目文档目录:将原 v1.2.0-tasks 迁移为研发工单-v1.2.0 目录,统一术语为"研发工单"替代"任务" 4. 更新 README.md 与各 PRD 文档的术语对照表,明确业务实体与研发工作项的区分 5. 新增多个研发工单文档,覆盖搜索、云同步、Linux 打包等模块 6. 删除旧的任务拆分文档,统一使用新的研发工单体系
3.8 KiB
3.8 KiB
Hua.Todo v1.2.0 研发工单总览
术语澄清:本目录下"工单 / 子工单 / 研发工单"指编码工作项;文中提到的"任务/任务列表/任务标题/父子任务/拉取任务/同步任务"等指 Hua.Todo 项目业务领域的 Todo 待办项(Task 实体),二者请勿混淆。详见
.trae/rules/全局/05-研发工单规则.md。
本目录用于把 产品需求文档-1.2.0.md 拆解为可落地、可并行推进的子工单。各工单文件之间尽量解耦;存在明确依赖时会在工单内标注。
目标(来自 PRD)
- Linux 平台官方支持:MAUI 入口保持不动,Linux 新增 Avalonia 入口;继续用 WebView 承载同一套 Vue 前端;复用既有"本地 API ↔ 前端"的交互协议
- Todo 待办项检索(Search):主界面顶部新增搜索框,按 Todo 待办项标题模糊匹配
- 云同步(基础可用):用户手动配置服务端地址;RBAC + 二次认证;用户级数据隔离;服务端配置驱动的"可控落盘"
当前实现基线(用于工单定位)
- MAUI 启动与内嵌 WebServer:
src/Hua.Todo.Maui - 前端(Vue)与 API client:
src/Hua.Todo.Web - 后端宿主(ASP.NET,动态 API):
src/Hua.Todo.Host+src/Hua.Todo.Application/DynamicApi - 现有 WebView ↔ 前端注入协议(示例):
window.__API_BASE_URL__、window.mauiInterop(用于 JS 侧拿到 API base 与若干事件桥接)
工单流(并行建议)
- Linux 入口线:
01-*+02-*- 01:新增 Avalonia 入口、选择 Linux 可用的 WebView 控件、复用现有前后端协议
- 02:Linux 打包/交付产物(已落地:
.tar.gz发布脚本 + Flatpak 基础结构;详见publish-linux.ps1与pack/linux/)
- Search 线:
03-*- 主要在前端完成;与云同步/平台入口基本无耦合,可并行
- 03:已完成:主界面搜索框(按 Todo 待办项标题包含匹配;命中即显示含上下文;Esc 清空;英文大小写不敏感)
- 云同步线:
04-*+05-*+06-*- 04:服务端基础能力(登录、Todo 数据同步/读取、配置下发、用户隔离)
- 05:客户端配置与同步工作流(手动指定服务端地址、登录后拉取 Todo 数据)
- 06:安全与落盘策略(RBAC、二次认证、可控落盘与"内存模式")
- 文档与验收线:
07-*- 对齐文档与现实现状/接口;补齐验收步骤与自测清单
待验证表
| 子工单 | 实现状态 | 验证状态 | 备注 |
|---|---|---|---|
| 01 - Linux 入口 | 已完成 | 待验证 | 基于 Avalonia + WebView.Avalonia 实现 |
| 02 - Linux 打包/交付 | 已落地 | 待验证 | .tar.gz 发布脚本 + Flatpak 基础结构 |
| 03 - Search 关键词检索 | 已完成 | 待验证 | 搜索框 + 树状 Todo 待办项标题包含匹配 |
| 04 - 云同步 服务端基础能力 | 已完成 | 已验证 | API 契约与错误码已固化到 04 文档 |
| 05 - 云同步 客户端配置与同步 | 已完成 | 待验证 | 新增"云同步设置"弹窗:地址校验+保存探测、登录/登出、登录后拉取云端 Todo 数据并在主界面只读展示 |
| 06 - 安全与落盘策略 | 未标注 | 待验证 | |
| 07 - 文档与验收 | 未标注 | 待验证 |
交付判定(v1.2.0 Done Definition)
- Linux:在基线发行版(建议 Ubuntu LTS)上可启动、可渲染前端、可调用本地 API;且有可安装/可运行的交付产物
- Search:可在主界面按 Todo 待办项标题实时过滤(含层级 Todo 的展示策略清晰)
- 云同步(基础可用):可配置服务端地址;登录后可拉取该用户的 Todo 数据;服务端可下发"是否允许落盘";客户端在禁止落盘时不产生本地持久化