ShaoHua 40a91e39b6 feat: 优化 Android 支持并实现前端自动化构建集成
- 新增 Android 专用的嵌入式 Web 服务器,通过 TcpListener 提供静态资源服务
- 在 .csproj 中集成 MSBuild 任务,支持自动构建 TodoList.Web 并同步至 wwwroot
- 重构 MainPage 以支持依赖注入,并处理 Android 模拟器 localhost (10.0.2.2) 映射
- 优化 Android 调试配置,包括快速部署、ABI 限制及禁用资源缩放
- 添加 Android 矢量图标资源,并更新默认配置以启用静态文件模式
2026-04-06 21:07:10 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00
2026-04-05 00:53:42 +08:00

TodoList 跨平台待办事项管理应用

一个基于 MAUI + WebView 架构开发的跨平台待办事项管理应用,支持 Windows、macOS、Android、iOS 和 Linux(预览)平台。通过 HTTP API 实现前后端通信,提供轻量、高效的任务管理体验。

🚀 功能特点

核心功能

  • 跨平台支持:基于 MAUI + WebView 架构,支持 Windows、macOS、Android、iOS 和 Linux(预览)
  • 任务管理:支持创建、编辑、删除、完成状态切换
  • 优先级管理:支持高、中、低三种优先级设置,通过颜色直观区分
  • 任务状态跟踪:清晰标记任务完成状态,支持过滤查看(全部/进行中/已完成)
  • 本地数据持久化:使用 SQLite 数据库保存数据,支持完全离线使用
  • HTTP API 通信:前后端通过 RESTful API 进行数据交互

技术特性

  • 现代化架构MAUI + WebView + C# 后端 + Vue.js 前端
  • 分层设计:Core(核心层)+ API(后端)+ Web(前端)
  • 响应式界面:Vue.js 3 实现的现代化用户界面
  • 统一 API 设计RESTful API 风格,支持跨域请求

🛠️ 技术栈

后端技术栈

  • 开发语言C# 10
  • 框架.NET 10
  • UI 框架MAUI (Multi-platform App UI)
  • Web 服务器Kestrel (ASP.NET Core 内置)
  • API 框架ASP.NET Core Web API
  • 数据访问Entity Framework Core
  • 数据库SQLite (本地存储)
  • 依赖注入Microsoft.Extensions.DependencyInjection

前端技术栈

  • 开发语言TypeScript
  • 框架Vue.js 3
  • 构建工具Vite
  • HTTP 客户端Axios
  • 状态管理Pinia
  • UI 组件库Element Plus / Vant (移动端)
  • CSS 预处理器SCSS

📦 安装与使用

环境要求

  • 后端
    • .NET 10 SDK
    • Visual Studio 2022 或更高版本
  • 前端
    • Node.js 18+
    • npm 或 yarn

快速开始

1. 克隆或下载项目

git clone <仓库地址>
cd TodoList

2. 启动后端 API

cd src/TodoList.Api
dotnet restore
dotnet ef database update
dotnet run

API 将在 http://localhost:5173 启动

3. 启动前端 Web

cd src/TodoList.Web
npm install
npm run dev

前端将在 http://localhost:5173 启动

使用说明

  • 添加任务:在前端界面中输入任务内容,设置优先级,点击添加按钮
  • 管理任务:查看任务列表,支持按状态过滤(全部/进行中/已完成)
  • 完成任务:点击任务前的复选框切换完成状态
  • 删除任务:点击删除按钮移除任务

🔧 开发指南

项目结构

TodoList/
├── docs/                          # 文档目录
│   ├── 产品需求文档.md
│   ├── 产品需求文档-1.1.0.md
│   ├── 技术设计文档.md
│   └── 代码规范文档.md
├── src/                           # 源代码目录
│   ├── TodoList.Core/              # 核心业务逻辑层
│   │   ├── Entities/               # 实体类
│   │   │   ├── Task.cs
│   │   │   └── TaskPriority.cs
│   │   └── Interfaces/             # 接口定义
│   │       ├── ITaskRepository.cs
│   │       └── ITaskService.cs
│   ├── TodoList.Api/               # 后端 API 项目
│   │   ├── Controllers/            # API 控制器
│   │   │   └── TasksController.cs
│   │   ├── Services/               # 业务服务
│   │   │   └── TaskService.cs
│   │   ├── Repositories/          # 数据访问层
│   │   │   └── TaskRepository.cs
│   │   ├── Data/                 # 数据库上下文
│   │   │   ├── TodoDbContext.cs
│   │   │   └── Migrations/        # 数据库迁移
│   │   ├── Models/                # 数据模型
│   │   │   └── TaskModels.cs
│   │   ├── Program.cs             # API 入口
│   │   └── TodoList.Api.csproj   # API 项目文件
│   ├── TodoList.Web/               # 前端 Web 项目 (Vue.js)
│   │   ├── public/                # 静态资源
│   │   ├── src/
│   │   │   ├── api/            # API 调用
│   │   │   │   ├── client.ts
│   │   │   │   └── tasks.ts
│   │   │   ├── components/     # Vue 组件
│   │   │   │   ├── TaskList.vue
│   │   │   │   └── TaskItem.vue
│   │   │   ├── types/          # TypeScript 类型定义
│   │   │   │   └── task.ts
│   │   │   ├── App.vue         # 根组件
│   │   │   └── main.ts         # 应用入口
│   │   ├── package.json           # 依赖配置
│   │   ├── vite.config.ts         # Vite 配置
│   │   └── tsconfig.json          # TypeScript 配置
│   └── TodoList.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} - 删除任务

🎯 核心模块说明

TodoList.Core

核心业务逻辑层,定义领域模型和业务规则,提供核心业务接口。

TodoList.Api

后端 API 项目,提供 RESTful API 接口,处理业务逻辑,管理数据访问和持久化。

TodoList.Web

前端 Web 项目,基于 Vue.js 3 + TypeScript,提供用户界面,通过 HTTP API 与后端通信。

🔄 版本更新

版本策略

  • 采用语义化版本号:MAJOR.MINOR.PATCH
  • v1.0.0:初始 WPF 版本
  • v1.1.0MAUI + WebView 跨平台版本

v1.1.0 更新内容

  • 重构为 MAUI + WebView 架构
  • 实现跨平台支持
  • 使用 HTTP API 进行前后端通信
  • 采用 Vue.js 3 作为前端框架
  • 使用 SQLite 作为本地数据库

🤝 贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

📞 联系方式


TodoList - 跨平台任务管理,让效率无处不在!

S
Description
No description provided
Readme 98 MiB
Languages
JavaScript 65.6%
C# 19.3%
Vue 9%
TypeScript 2.9%
PowerShell 1.9%
Other 1.2%