refactor: 重构待办事项模块结构与命名
This commit is contained in:
+29
-20
@@ -173,22 +173,28 @@ Hua.Todo/
|
||||
- WebView 容器管理
|
||||
- 本地 HTTP 服务器启动
|
||||
|
||||
**调试与接口文档**:
|
||||
- Windows Debug 模式下,内嵌 WebServer 默认提供 Swagger UI(`{HostUrl}/swagger`)与 OpenAPI JSON(`{HostUrl}/swagger/v1/swagger.json`),用于本地接口联调。
|
||||
|
||||
**关键组件**:
|
||||
- `MauiProgram.cs`: 配置 MAUI 应用和依赖注入
|
||||
- `App.xaml.cs`: 应用程序主入口
|
||||
- `WebViewContainer`: 封装 WebView 控件
|
||||
- 平台特定服务: 快捷键、通知等
|
||||
|
||||
### 4.2 后端 API 项目 (Hua.Todo.Api)
|
||||
### 4.2 后端 API 项目 (Hua.Todo.Host)
|
||||
**职责**:
|
||||
- 提供 RESTful API 接口
|
||||
- 业务逻辑处理
|
||||
- 数据访问和持久化
|
||||
- 本地 HTTP 服务器托管
|
||||
|
||||
**接口文档**:
|
||||
- 开发环境(`ASPNETCORE_ENVIRONMENT=Development`)下提供 Swagger UI:`http://localhost:5173/swagger`(或 `https://localhost:7175/swagger`)。
|
||||
|
||||
**关键组件**:
|
||||
- `Controllers`: API 端点实现
|
||||
- `Services`: 业务逻辑服务
|
||||
- `CloudSync`: 云同步 Minimal APIs(`/auth`、`/tasks`、`/sync`、`/security`)
|
||||
- `DynamicApiMiddleware`: 任务管理等业务接口通过 Dynamic API(`/api/{service}/...`)对外暴露
|
||||
- `Data`: 数据访问层和数据库上下文
|
||||
- `Program.cs`: API 服务器配置和启动
|
||||
|
||||
@@ -220,33 +226,36 @@ Hua.Todo/
|
||||
## 5. HTTP API 设计
|
||||
|
||||
### 5.1 API 基础配置
|
||||
- **基础 URL**: `http://localhost:5000/api`
|
||||
- **基础 URL(开发三件套 / Host 模式)**: `http://localhost:5173/api`(或 `https://localhost:7175/api`)
|
||||
- **基础 URL(MAUI 内嵌模式)**: `{HostUrl}/api`(`HostUrl` 来自 `appsettings.json: WebServer.HostUrl`,默认 `http://localhost:5057`)
|
||||
- **数据格式**: JSON
|
||||
- **认证方式**: 暂无(本地应用)
|
||||
- **认证方式**: 以实际端点为准(如云同步相关端点可能需要认证)
|
||||
- **跨域配置**: 允许本地跨域请求
|
||||
|
||||
### 5.2 API 端点设计
|
||||
|
||||
#### 任务管理 API
|
||||
```
|
||||
GET /api/tasks # 获取任务列表
|
||||
GET /api/tasks/{id} # 获取单个任务
|
||||
POST /api/tasks # 创建任务
|
||||
PUT /api/tasks/{id} # 更新任务
|
||||
DELETE /api/tasks/{id} # 删除任务
|
||||
PATCH /api/tasks/{id}/complete # 标记任务完成
|
||||
GET /api/task # 获取任务列表(默认:全部)
|
||||
GET /api/task/active # 获取未完成任务
|
||||
GET /api/task/completed # 获取已完成任务
|
||||
GET /api/task/{id} # 获取单个任务
|
||||
POST /api/task # 创建任务
|
||||
PUT /api/task # 更新任务(通过 Body 内的 id 定位)
|
||||
DELETE /api/task/{id} # 删除任务
|
||||
PATCH /api/task/{id}/toggle # 切换完成状态
|
||||
GET /api/task/{parentTaskId}/subtasks # 获取子任务列表
|
||||
```
|
||||
|
||||
#### 设置管理 API
|
||||
#### 云同步 API(Host 模式)
|
||||
```
|
||||
GET /api/settings # 获取设置
|
||||
PUT /api/settings # 更新设置
|
||||
```
|
||||
|
||||
#### 同步 API
|
||||
```
|
||||
POST /api/sync/pull # 拉取远程数据
|
||||
POST /api/sync/push # 推送本地数据
|
||||
POST /auth/bootstrap # 初始化管理员(仅首次)
|
||||
POST /auth/login # 登录
|
||||
POST /auth/step-up # 二次验证(提升权限)
|
||||
GET /tasks/ # 获取云端任务(只读)
|
||||
POST /sync/ # 推送/拉取合并同步
|
||||
GET /security/policy # 获取安全策略
|
||||
PUT /security/policy # 更新安全策略
|
||||
```
|
||||
|
||||
## 6. 数据库设计
|
||||
|
||||
Reference in New Issue
Block a user