7a4c516a20
- 后端:新增 CloudSync 认证/权限/端点/服务与 DTO - 数据:新增用户/会话/安全策略实体与 EF Core migrations - 前端:新增云同步设置 UI、客户端与本地存储;Vite 支持 maui 构建输出到 wwwroot - 桌面端:新增 Avalonia 项目、内置 WebServer、托盘与 Windows 全局热键 - 发布/构建:新增 Windows/Linux 发布脚本与统一入口;调整 MAUI 资源与安装包配置 - 文档:同步更新 README/docs 与协作规则
5.3 KiB
5.3 KiB
Hua.Todo 跨平台代办管理应用
一个基于 WebView 容器(MAUI / Avalonia)+ 嵌入式 ASP.NET Core WebServer 架构开发的跨平台代办管理应用,支持 Windows、macOS、Android、iOS 和 Linux(预览)平台。通过 HTTP API 实现前后端通信,提供轻量、高效的任务管理体验。
🚀 功能特点
核心功能
- 跨平台支持:基于 MAUI / Avalonia + WebView 架构,支持 Windows、macOS、Android、iOS 和 Linux(预览)
- 任务管理:支持创建、编辑、删除、完成状态切换
- 优先级管理:支持高、中、低三种优先级设置,通过颜色直观区分
- 任务状态跟踪:清晰标记任务完成状态,支持过滤查看(全部/进行中/已完成)
- 本地数据持久化:使用 SQLite 数据库保存数据,支持完全离线使用
- HTTP API 通信:前后端通过 RESTful API 进行数据交互
- 云同步(基础):支持手动配置服务端地址并登录后拉取云端任务(v1.2.0 为只读展示)
📦 安装与使用
环境要求
- 后端:
- .NET 10 SDK
- Visual Studio 2022 或更高版本
- 前端:
- Node.js 18+
- npm 或 yarn
快速开始
1. 克隆或下载项目
git clone <仓库地址>
cd Hua.Todo
2. 启动后端 API
cd src/Hua.Todo.Host
dotnet restore
dotnet run
API 将在 http://localhost:5173 启动
3. 启动前端 Web
cd src/Hua.Todo.Web
npm install
npm run dev
前端将在 http://localhost:5174 启动,并自动代理 /api 请求到 http://localhost:5173
Windows 交付产物(安装包)
- 运行
publish-windows.ps1生成 Inno Setup 安装包:src/Hua.Todo.Maui/Output/Hua.Todo_Setup_vX.Y.Z.exe(版本号来自Hua.Todo.Maui.csproj的<Version>;根目录Directory.Build.targets会对Hua.Todo.Maui按 TargetFramework 条件配置UseMonoRuntime:仅 Android 启用,其它目标关闭;同时会复制到artifacts/windows/<RID>/installer/) - 运行
publish.ps1默认会同时发布 Windows + Linux(仅发布 Windows:publish.ps1 -Windows) - 安装后主程序为:
Hua.Todo.Maui.exe(快捷方式/安装后启动均指向该文件) - 发布产物默认使用静态资源:
src/Hua.Todo.Maui/appsettings.json中WebServer.IsUsingStatic=true - 前端构建产物会输出到
src/Hua.Todo.Maui/wwwroot,并随 Windows 发布复制到发布目录(嵌入式服务器从AppContext.BaseDirectory/wwwroot提供静态文件)
Linux 交付产物(v1.2.0)
.tar.gz发布脚本:publish-linux.ps1(或使用publish.ps1 -Linux)- Flatpak 基础结构(manifest/desktop entry/AppStream):
pack/linux/
使用说明
- 添加任务:在前端界面中输入任务内容,设置优先级,点击添加按钮
- 管理任务:查看任务列表,支持按状态过滤(全部/进行中/已完成)
- 完成任务:点击任务前的复选框切换完成状态
- 删除任务:点击删除按钮移除任务
🔧 开发指南
项目结构
Hua.Todo/
├── pack/ # 打包与交付产物(Linux/安装包等)
├── docs/ # 文档目录
│ ├── manual/ # 用户/开发者手册
│ └── project/ # 项目进度/需求文档
├── src/ # 源代码目录
│ ├── Hua.Todo.Core/ # 领域实体与基础接口
│ ├── Hua.Todo.Application/ # 业务逻辑与应用层实现
│ ├── Hua.Todo.Host/ # 后端 API 宿主项目 (Kestrel)
│ ├── Hua.Todo.Web/ # 前端 Web 项目 (Vue.js 3 + Vite)
│ ├── Hua.Todo.Maui/ # 跨平台客户端项目 (Windows/Android/iOS/macOS)
│ ├── Hua.Todo.Avalonia/ # 桌面客户端项目 (Windows/macOS/Linux)
│ └── Hua.Todo.slnx # 解决方案文件
├── .gitignore # Git 忽略文件
└── README.md # 项目说明文档
API 端点
GET /api/tasks- 获取任务列表GET /api/tasks/{id}- 获取单个任务POST /api/tasks- 创建任务PUT /api/tasks/{id}- 更新任务PATCH /api/tasks/{id}/complete- 切换完成状态DELETE /api/tasks/{id}- 删除任务
🤝 交流与贡献
📄 开源协议
本项目采用 AGPL-3.0 许可证。详细内容请参阅 LICENSE 文件。
📚 更多文档
用户与开发者手册
项目进度与需求
Hua.Todo - 跨平台任务管理,让效率无处不在!