feat: v1.2.0 开发进度更新
### 新增功能 - **Linux 官方支持**:新增 Hua.Todo.Avalonia 项目,正式适配 Linux 平台,同时支持 Windows 和 macOS - **Avalonia 桌面交互**:增加托盘菜单(显示/退出)、关闭隐藏到托盘、Windows 全局热键唤起主窗口、热键配置本地持久化 - **SQLite DateTime 兼容修复**:新增 LenientUtcDateTimeStringConverter,解决历史遗留的 DateTime 脏数据解析问题 - **用户文档完善**:新增 docs/manual/新手指南.md 和 docs/manual/用户指南.md - **部署文档**:新增 docs/manual/部署文档.md,详细说明多平台发布流程 ### 优化与修复 - **发布脚本整理**:拆分/对齐各平台发布入口,新增 publish.ps1 作为统一入口 - **Windows WebView2 优化**:数据目录调整到 %LocalAppData%\Hua.Todo\WebView2,修复 Runtime 误判问题 - **MAUI 多平台构建**:在 Windows 开发机上默认仅构建 Android + Windows 目标 - **SPA 路由回落**:修复 Release 模式下 /swagger 路径的 404 问题 - **Swagger 输出**:补齐 Dynamic API 端点,避免接口缺失 ### 文档更新 - **版本记录**:更新 v1.2.0 开发进度和功能列表 - **技术设计文档**:添加 Avalonia 项目架构和模块设计 - **项目结构**:更新 README.md 中的项目结构说明 ### 其他变更 - 新增 Directory.Build.props 和更新 Directory.Build.targets - 调整 src/Hua.Todo.Avalonia 项目配置和资源文件 - 更新 src/Hua.Todo.Web 前端资源文件 - 修复 src/Hua.Todo.Maui 相关配置和打包脚本
This commit is contained in:
+57
-8
@@ -8,7 +8,7 @@
|
||||
### 2.1 后端技术栈
|
||||
- **开发语言**: C# 10
|
||||
- **框架**: .NET 10
|
||||
- **UI 框架**: MAUI (Multi-platform App UI)
|
||||
- **UI 框架**: MAUI (Multi-platform App UI) + Avalonia (Linux 支持)
|
||||
- **Web 服务器**: Kestrel (ASP.NET Core 内置)
|
||||
- **API 框架**: ASP.NET Core Web API
|
||||
- **数据访问**: Entity Framework Core
|
||||
@@ -34,7 +34,8 @@ Hua.Todo/
|
||||
│ │ ├── 技术栈与模块.md
|
||||
│ │ ├── 版本记录.md
|
||||
│ │ ├── 技术设计文档.md(本文件)
|
||||
│ │ └── 代码规范文档.md
|
||||
│ │ ├── 代码规范文档.md
|
||||
│ │ └── 部署文档.md
|
||||
│ └── project/ # 项目进度/需求文档
|
||||
│ ├── 产品需求文档.md
|
||||
│ └── ...
|
||||
@@ -73,7 +74,30 @@ Hua.Todo/
|
||||
│ │ ├── MauiProgram.cs # MAUI 程序配置
|
||||
│ │ └── Hua.Todo.Maui.csproj # MAUI 项目文件
|
||||
│ │
|
||||
│ ├── Hua.Todo.Api/ # 后端 API 项目
|
||||
│ ├── Hua.Todo.Avalonia/ # Avalonia 项目(Linux 支持)
|
||||
│ │ ├── Assets/ # 资源文件
|
||||
│ │ │ └── icon.ico # 应用图标
|
||||
│ │ ├── Services/ # 服务层
|
||||
│ │ │ ├── EmbeddedWebServerServiceFactory.cs
|
||||
│ │ │ ├── GlobalHotKeyServiceFactory.cs
|
||||
│ │ │ ├── NoopEmbeddedWebServerService.cs
|
||||
│ │ │ └── Platforms/ # 平台特定服务
|
||||
│ │ │ ├── AndroidGlobalHotKeyService.cs
|
||||
│ │ │ └── LinuxGlobalHotKeyService.cs
|
||||
│ │ ├── Views/ # 视图
|
||||
│ │ │ ├── MainView.axaml
|
||||
│ │ │ ├── MainView.axaml.cs
|
||||
│ │ │ ├── MainWindow.axaml
|
||||
│ │ │ └── MainWindow.axaml.cs
|
||||
│ │ ├── App.axaml # Avalonia 应用入口
|
||||
│ │ ├── App.axaml.cs
|
||||
│ │ ├── Program.cs # Avalonia 程序配置
|
||||
│ │ ├── appsettings.json # 配置文件
|
||||
│ │ ├── setup.iss # 安装脚本
|
||||
│ │ ├── wwwroot/ # 前端静态资源
|
||||
│ │ └── Hua.Todo.Avalonia.csproj # Avalonia 项目文件
|
||||
│ │
|
||||
│ ├── Hua.Todo.Host/ # 后端 API 项目
|
||||
│ │ ├── Controllers/ # API 控制器
|
||||
│ │ │ ├── TasksController.cs
|
||||
│ │ │ ├── SettingsController.cs
|
||||
@@ -89,6 +113,8 @@ Hua.Todo/
|
||||
│ │ │ └── SyncService.cs
|
||||
│ │ ├── Data/ # 数据访问层
|
||||
│ │ │ ├── TodoDbContext.cs
|
||||
│ │ │ ├── Converters/ # 类型转换器
|
||||
│ │ │ │ └── LenientUtcDateTimeStringConverter.cs
|
||||
│ │ │ ├── Repositories/
|
||||
│ │ │ │ ├── ITaskRepository.cs
|
||||
│ │ │ │ └── TaskRepository.cs
|
||||
@@ -99,7 +125,14 @@ Hua.Todo/
|
||||
│ │ │ └── ServiceCollectionExtensions.cs
|
||||
│ │ ├── Program.cs # API 入口
|
||||
│ │ ├── appsettings.json # 配置文件
|
||||
│ │ └── Hua.Todo.Api.csproj # API 项目文件
|
||||
│ │ └── Hua.Todo.Host.csproj # Host 项目文件
|
||||
│ │
|
||||
│ ├── Hua.Todo.Application/ # 应用层
|
||||
│ │ ├── Data/ # 数据访问
|
||||
│ │ │ ├── TodoDbContext.cs
|
||||
│ │ │ └── Converters/ # 类型转换器
|
||||
│ │ │ └── LenientUtcDateTimeStringConverter.cs
|
||||
│ │ └── Hua.Todo.Application.csproj # Application 项目文件
|
||||
│ │
|
||||
│ ├── Hua.Todo.Core/ # 核心业务逻辑层
|
||||
│ │ ├── Entities/ # 实体类
|
||||
@@ -116,7 +149,7 @@ Hua.Todo/
|
||||
│ │
|
||||
│ ├── Hua.Todo.Web/ # 前端 Web 项目 (Vue.js)
|
||||
│ │ ├── public/ # 静态资源
|
||||
│ │ │ └── index.html
|
||||
│ │ │ └── favicon.svg # 网站图标
|
||||
│ │ ├── src/ # 源代码
|
||||
│ │ │ ├── api/ # API 调用
|
||||
│ │ │ │ ├── client.ts # HTTP 客户端配置
|
||||
@@ -182,7 +215,23 @@ Hua.Todo/
|
||||
- `WebViewContainer`: 封装 WebView 控件
|
||||
- 平台特定服务: 快捷键、通知等
|
||||
|
||||
### 4.2 后端 API 项目 (Hua.Todo.Host)
|
||||
### 4.2 Avalonia 项目 (Hua.Todo.Avalonia)
|
||||
**职责**:
|
||||
- Linux 平台支持
|
||||
- 桌面交互功能(托盘菜单、全局热键等)
|
||||
- WebView 容器管理
|
||||
- 本地 HTTP 服务器启动
|
||||
|
||||
**关键组件**:
|
||||
- `Program.cs`: 配置 Avalonia 应用和依赖注入
|
||||
- `App.axaml.cs`: 应用程序主入口
|
||||
- `MainWindow.axaml.cs`: 主窗口管理
|
||||
- `MainView.axaml.cs`: 主视图管理
|
||||
- `GlobalHotKeyServiceFactory`: 全局热键服务工厂
|
||||
- `EmbeddedWebServerServiceFactory`: 内嵌 Web 服务器服务工厂
|
||||
- 平台特定服务: Linux 全局热键等
|
||||
|
||||
### 4.3 后端 API 项目 (Hua.Todo.Host)
|
||||
**职责**:
|
||||
- 提供 RESTful API 接口
|
||||
- 业务逻辑处理
|
||||
@@ -198,7 +247,7 @@ Hua.Todo/
|
||||
- `Data`: 数据访问层和数据库上下文
|
||||
- `Program.cs`: API 服务器配置和启动
|
||||
|
||||
### 4.3 核心业务层 (Hua.Todo.Core)
|
||||
### 4.4 核心业务层 (Hua.Todo.Core)
|
||||
**职责**:
|
||||
- 定义领域模型和业务规则
|
||||
- 提供核心业务接口
|
||||
@@ -210,7 +259,7 @@ Hua.Todo/
|
||||
- `ValueObjects`: 值对象
|
||||
- `Specifications`: 业务规范
|
||||
|
||||
### 4.4 前端 Web 项目 (Hua.Todo.Web)
|
||||
### 4.5 前端 Web 项目 (Hua.Todo.Web)
|
||||
**职责**:
|
||||
- 用户界面展示
|
||||
- 用户交互处理
|
||||
|
||||
Reference in New Issue
Block a user