1.更换软件协议为AGPL
2.切换项目名称为Hua.Todo
This commit is contained in:
@@ -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` 映射为 AndroidAsset(Link 到 `wwwroot/...`):[TodoList.Maui.csproj](file:///d:/Proj/TodoList/src/TodoList.Maui/TodoList.Maui.csproj#L150-L175)
|
||||
- 项目里通过 MSBuild 目标把 `Hua.Todo.Web/dist` 映射为 AndroidAsset(Link 到 `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`
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
|
||||
**职责**:
|
||||
- 用户界面展示
|
||||
- 用户交互处理
|
||||
|
||||
Reference in New Issue
Block a user