1.更换软件协议为AGPL

2.切换项目名称为Hua.Todo
This commit is contained in:
ShaoHua
2026-04-06 22:06:30 +08:00
parent 40a91e39b6
commit 758f6772c6
147 changed files with 1203 additions and 644 deletions
+10 -10
View File
@@ -1,4 +1,4 @@
# Android 端显示 “Not Found” 排查计划(TodoList.Maui
# Android 端显示 “Not Found” 排查计划(Hua.Todo.Maui
## 目标
@@ -7,16 +7,16 @@
## 背景(当前实现快速定位)
- Android 使用自建 TCP HTTP Server,静态资源从 APK 的 `Assets/wwwroot/*` 读取:[MobileEmbeddedWebServerService](file:///d:/Proj/TodoList/src/TodoList.Maui/Platforms/Android/MobileEmbeddedWebServerService.cs)
- WebView 默认加载内嵌服务器地址(`IsUsingStatic=true` 时):[MainPage.xaml.cs](file:///d:/Proj/TodoList/src/TodoList.Maui/Views/MainPage.xaml.cs)
- Android 端静态文件找不到时返回纯文本 `Not Found`[HandleStaticAsync](file:///d:/Proj/TodoList/src/TodoList.Maui/Platforms/Android/MobileEmbeddedWebServerService.cs#L214-L255)
- Android 使用自建 TCP HTTP Server,静态资源从 APK 的 `Assets/wwwroot/*` 读取:[MobileEmbeddedWebServerService](file:///d:/Proj/Hua.Todo/src/Hua.Todo.Maui/Platforms/Android/MobileEmbeddedWebServerService.cs)
- WebView 默认加载内嵌服务器地址(`IsUsingStatic=true` 时):[MainPage.xaml.cs](file:///d:/Proj/Hua.Todo/src/Hua.Todo.Maui/Views/MainPage.xaml.cs)
- Android 端静态文件找不到时返回纯文本 `Not Found`[HandleStaticAsync](file:///d:/Proj/Hua.Todo/src/Hua.Todo.Maui/Platforms/Android/MobileEmbeddedWebServerService.cs#L214-L255)
## 排查顺序(从“最可能 & 最省时间”到“深入原因”)
### 1) 确认 WebView 实际加载的 URL
- 在 Android Debug 输出里确认 WebView Source(期望是 `http://localhost:5057``http://localhost:5057/`
- 如果不是内嵌地址,检查 `appsettings.json``WebServer.IsUsingStatic``ForEndUrl` 配置:[appsettings.json](file:///d:/Proj/TodoList/src/TodoList.Maui/appsettings.json)
- 如果不是内嵌地址,检查 `appsettings.json``WebServer.IsUsingStatic``ForEndUrl` 配置:[appsettings.json](file:///d:/Proj/Hua.Todo/src/Hua.Todo.Maui/appsettings.json)
判定:
- 若加载的是内嵌地址 → 继续第 2 步
@@ -24,8 +24,8 @@
### 2) 确认前端 dist 是否存在且可用于打包
- 检查 `src/TodoList.Web/dist/index.html` 是否存在
- 如果不存在:在 `src/TodoList.Web` 下执行 `npm ci` + `npm run build`,确保产物生成
- 检查 `src/Hua.Todo.Web/dist/index.html` 是否存在
- 如果不存在:在 `src/Hua.Todo.Web` 下执行 `npm ci` + `npm run build`,确保产物生成
判定:
- dist 不存在/为空 → “Not Found”高概率来自 Android 静态资源根本没被构建或没被打进 APK
@@ -35,7 +35,7 @@
- 重点验证打包结果是否存在:
- `assets/wwwroot/index.html`
- `assets/wwwroot/assets/*`(至少有 js/css
- 项目里通过 MSBuild 目标把 `TodoList.Web/dist` 映射为 AndroidAssetLink 到 `wwwroot/...`):[TodoList.Maui.csproj](file:///d:/Proj/TodoList/src/TodoList.Maui/TodoList.Maui.csproj#L150-L175)
- 项目里通过 MSBuild 目标把 `Hua.Todo.Web/dist` 映射为 AndroidAssetLink 到 `wwwroot/...`):[Hua.Todo.Maui.csproj](file:///d:/Proj/Hua.Todo/src/Hua.Todo.Maui/Hua.Todo.Maui.csproj#L150-L175)
判定:
- APK 内没有 `wwwroot/index.html` → 修复构建/打包流程(第 6 步会给方案)
@@ -57,7 +57,7 @@
- 如果看到的不是纯文本 `Not Found`,而是加载错误/空白:
- 检查 Android 明文 HTTP`http://localhost`)是否被允许
- 检查 `network_security_config.xml` 与 Manifest 配置:[network_security_config.xml](file:///d:/Proj/TodoList/src/TodoList.Maui/Platforms/Android/Resources/xml/network_security_config.xml)、[AndroidManifest.xml](file:///d:/Proj/TodoList/src/TodoList.Maui/Platforms/Android/AndroidManifest.xml)
- 检查 `network_security_config.xml` 与 Manifest 配置:[network_security_config.xml](file:///d:/Proj/Hua.Todo/src/Hua.Todo.Maui/Platforms/Android/Resources/xml/network_security_config.xml)、[AndroidManifest.xml](file:///d:/Proj/Hua.Todo/src/Hua.Todo.Maui/Platforms/Android/AndroidManifest.xml)
### 6) 修复与验证(根据前面判定选择)
@@ -65,7 +65,7 @@
- 让构建流程更“硬性”:
- 若 dist 不存在则强制构建,或在 Debug 也保证 `AndroidAsset` 包含 dist
- 可选:把 dist 复制进 `TodoList.Maui/wwwroot` 再用 `<Content Include="wwwroot\**" />`/`<MauiAsset />` 统一打包(减少条件目标的不确定性)
- 可选:把 dist 复制进 `Hua.Todo.Maui/wwwroot` 再用 `<Content Include="wwwroot\**" />`/`<MauiAsset />` 统一打包(减少条件目标的不确定性)
验证:
- APK 内能看到 `assets/wwwroot/index.html`,启动后不再返回 `Not Found`
+2 -2
View File
@@ -1,7 +1,7 @@
# TodoList 产品需求文档 (PRD) v1.1.0
# Hua.Todo 产品需求文档 (PRD) v1.1.0
## 1. 项目概述
本项目是一个基于 MAUI + WebView 架构开发的跨平台待办事项管理应用 (TodoList)。旨在提供轻量、高效的任务管理体验,特别是通过快捷键快速唤起记录功能,最大化用户的操作效率。v1.1.0 版本将实现跨平台支持,覆盖 Windows、macOS、Android、iOS 和 Linux(预览)平台。
本项目是一个基于 MAUI + WebView 架构开发的跨平台代办管理应用 (Hua.Todo)。旨在提供轻量、高效的任务管理体验,特别是通过快捷键快速唤起记录功能,最大化用户的操作效率。v1.1.0 版本将实现跨平台支持,覆盖 Windows、macOS、Android、iOS 和 Linux(预览)平台。
## 2. 技术架构
+2 -2
View File
@@ -1,7 +1,7 @@
# TodoList 产品需求文档 (PRD)
# Hua.Todo 产品需求文档 (PRD)
## 1. 项目概述
本项目是一个基于 C# WPF (.NET 10) 开发的桌面待办事项管理应用 (TodoList)。旨在提供轻量、高效的任务管理体验,特别是通过快捷键快速唤起记录功能,最大化用户的操作效率。
本项目是一个基于 C# WPF (.NET 10) 开发的桌面代办管理应用 (Hua.Todo)。旨在提供轻量、高效的任务管理体验,特别是通过快捷键快速唤起记录功能,最大化用户的操作效率。
## 2. 技术架构
- **开发语言**: C#
+3 -3
View File
@@ -1,7 +1,7 @@
# TodoList 代码规范文档 v1.1.0
# Hua.Todo 代码规范文档 v1.1.0
## 1. 概述
本文档定义 TodoList 项目的代码规范,包括 C#、JavaScript/TypeScript、Vue.js 和其他相关技术的编码标准。遵循这些规范有助于提高代码质量、可读性和可维护性。
本文档定义 Hua.Todo 项目的代码规范,包括 C#、JavaScript/TypeScript、Vue.js 和其他相关技术的编码标准。遵循这些规范有助于提高代码质量、可读性和可维护性。
## 2. 通用规范
@@ -80,7 +80,7 @@ using System.Collections.Generic;
using System.Threading.Tasks;
// 2. 命名空间
namespace TodoList.Api.Services;
namespace Hua.Todo.Api.Services;
// 3. XML 文档注释
/// <summary>
+5 -5
View File
@@ -1,7 +1,7 @@
# TodoList 实现对比文档
# Hua.Todo 实现对比文档
## 项目概述
本项目是一个基于 MAUI + WebView 架构开发的跨平台待办事项管理应用。
本项目是一个基于 MAUI + WebView 架构开发的跨平台代办管理应用。
## 实现进度
@@ -182,9 +182,9 @@
## 当前运行状态
### 服务状态
-**TodoList.Api**: 运行中 (http://localhost:5173)
-**TodoList.Web**: 运行中 (http://localhost:5173)
-**TodoList.Maui**: 运行中 (Windows 桌面应用)
-**Hua.Todo.Api**: 运行中 (http://localhost:5173)
-**Hua.Todo.Web**: 运行中 (http://localhost:5173)
-**Hua.Todo.Maui**: 运行中 (Windows 桌面应用)
### 修复的 Bug
- ✅ 修复了 QuickEntryPage.xaml.cs 中的插值字符串转义问题
+17 -17
View File
@@ -1,7 +1,7 @@
# TodoList 技术设计文档 v1.1.0
# Hua.Todo 技术设计文档 v1.1.0
## 1. 项目概述
本文档描述 TodoList v1.1.0 的技术设计方案,包括项目文件目录结构、模块划分、技术选型和实现细节。
本文档描述 Hua.Todo v1.1.0 的技术设计方案,包括项目文件目录结构、模块划分、技术选型和实现细节。
## 2. 技术栈
@@ -28,7 +28,7 @@
## 3. 项目目录结构
```
TodoList/
Hua.Todo/
├── docs/ # 文档目录
│ ├── PRD.md # 产品需求文档
│ ├── PRD-1.1.0.md # v1.1.0 产品需求文档
@@ -36,7 +36,7 @@ TodoList/
│ └── CodeStandards.md # 代码规范文档
├── src/ # 源代码目录
│ ├── TodoList.Maui/ # MAUI 主项目(跨平台入口)
│ ├── Hua.Todo.Maui/ # MAUI 主项目(跨平台入口)
│ │ ├── Platforms/ # 平台特定代码
│ │ │ ├── Windows/ # Windows 平台代码
│ │ │ │ ├── App.xaml # Windows 应用入口
@@ -67,9 +67,9 @@ TodoList/
│ │ ├── App.xaml # MAUI 应用入口
│ │ ├── App.xaml.cs
│ │ ├── MauiProgram.cs # MAUI 程序配置
│ │ └── TodoList.Maui.csproj # MAUI 项目文件
│ │ └── Hua.Todo.Maui.csproj # MAUI 项目文件
│ │
│ ├── TodoList.Api/ # 后端 API 项目
│ ├── Hua.Todo.Api/ # 后端 API 项目
│ │ ├── Controllers/ # API 控制器
│ │ │ ├── TasksController.cs
│ │ │ ├── SettingsController.cs
@@ -95,9 +95,9 @@ TodoList/
│ │ │ └── ServiceCollectionExtensions.cs
│ │ ├── Program.cs # API 入口
│ │ ├── appsettings.json # 配置文件
│ │ └── TodoList.Api.csproj # API 项目文件
│ │ └── Hua.Todo.Api.csproj # API 项目文件
│ │
│ ├── TodoList.Core/ # 核心业务逻辑层
│ ├── Hua.Todo.Core/ # 核心业务逻辑层
│ │ ├── Entities/ # 实体类
│ │ │ ├── Task.cs
│ │ │ └── TaskPriority.cs
@@ -108,9 +108,9 @@ TodoList/
│ │ │ └── TaskTitle.cs
│ │ ├── Specifications/ # 规范模式
│ │ │ └── TaskSpecifications.cs
│ │ └── TodoList.Core.csproj # Core 项目文件
│ │ └── Hua.Todo.Core.csproj # Core 项目文件
│ │
│ ├── TodoList.Web/ # 前端 Web 项目 (Vue.js)
│ ├── Hua.Todo.Web/ # 前端 Web 项目 (Vue.js)
│ │ ├── public/ # 静态资源
│ │ │ └── index.html
│ │ ├── src/ # 源代码
@@ -145,7 +145,7 @@ TodoList/
│ │ ├── tsconfig.json # TypeScript 配置
│ │ └── index.html # HTML 模板
│ │
│ └── TodoList.Tests/ # 测试项目
│ └── Hua.Todo.Tests/ # 测试项目
│ ├── Unit/ # 单元测试
│ │ ├── Services/
│ │ │ └── TaskServiceTests.cs
@@ -153,16 +153,16 @@ TodoList/
│ │ └── TasksControllerTests.cs
│ ├── Integration/ # 集成测试
│ │ └── ApiIntegrationTests.cs
│ └── TodoList.Tests.csproj
│ └── Hua.Todo.Tests.csproj
├── .gitignore # Git 忽略文件
├── TodoList.sln # 解决方案文件
├── Hua.Todo.sln # 解决方案文件
└── README.md # 项目说明文档
```
## 4. 模块设计
### 4.1 MAUI 主项目 (TodoList.Maui)
### 4.1 MAUI 主项目 (Hua.Todo.Maui)
**职责**:
- 应用程序入口和生命周期管理
- 平台特定功能封装
@@ -175,7 +175,7 @@ TodoList/
- `WebViewContainer`: 封装 WebView 控件
- 平台特定服务: 快捷键、通知等
### 4.2 后端 API 项目 (TodoList.Api)
### 4.2 后端 API 项目 (Hua.Todo.Api)
**职责**:
- 提供 RESTful API 接口
- 业务逻辑处理
@@ -188,7 +188,7 @@ TodoList/
- `Data`: 数据访问层和数据库上下文
- `Program.cs`: API 服务器配置和启动
### 4.3 核心业务层 (TodoList.Core)
### 4.3 核心业务层 (Hua.Todo.Core)
**职责**:
- 定义领域模型和业务规则
- 提供核心业务接口
@@ -200,7 +200,7 @@ TodoList/
- `ValueObjects`: 值对象
- `Specifications`: 业务规范
### 4.4 前端 Web 项目 (TodoList.Web)
### 4.4 前端 Web 项目 (Hua.Todo.Web)
**职责**:
- 用户界面展示
- 用户交互处理