# TodoList 待办事项管理应用 一个基于 C# WPF 开发的轻量、高效桌面待办事项管理应用,专注于通过全局快捷键提供极致的快速记录体验。 ## 🚀 功能特点 ### 核心功能 - **全局快捷键快速记录**:支持系统级全局快捷键(如 `Ctrl + Alt + A`),随时唤起记录窗口 - **优先级管理**:支持高、中、低三种优先级设置,通过颜色直观区分 - **任务状态跟踪**:清晰标记任务完成状态,默认隐藏已完成任务 - **本地数据持久化**:使用 SQLite 数据库保存数据,支持完全离线使用 ### 技术特性 - **响应式界面**:基于 WPF 构建的现代化用户界面 - **MVVM 架构**:采用 CommunityToolkit.Mvvm 实现清晰的架构分层 - **自包含发布**:支持单文件发布,无需额外依赖 - **一键打包**:内置自动构建和打包脚本 ## 🛠️ 技术栈 - **开发语言**:C# 10+ - **UI 框架**:WPF (Windows Presentation Foundation) - **目标框架**:.NET 8.0 - **架构模式**:MVVM (Model-View-ViewModel) - **数据存储**:SQLite (sqlite-net-pcl) - **打包工具**:Inno Setup 6 - **依赖管理**:NuGet ## 📦 安装与使用 ### 直接安装 1. 从 `Output` 目录下载最新的安装包:`TodoList_Setup_vX.X.X.exe` 2. 双击运行安装程序,按照提示完成安装 3. 启动应用后,在系统托盘找到应用图标 ### 使用说明 - **快速记录**:按下预设的全局快捷键(默认为 `Ctrl + Alt + A`) - **添加任务**:在快速记录窗口中输入任务内容,设置优先级,按 Enter 保存 - **管理任务**:在主界面中查看、编辑和标记任务完成状态 - **隐藏完成任务**:默认自动隐藏已完成任务,可通过界面开关显示 ## 🔧 开发指南 ### 环境要求 - Visual Studio 2022 或更高版本 - .NET 8.0 SDK - Inno Setup 6(用于打包) ### 快速开始 1. **克隆或下载项目** ```bash git clone <仓库地址> cd TodoList ``` 2. **打开项目** - 使用 Visual Studio 打开 `TodoList.slnx` 解决方案 - 或直接打开 `TodoList/TodoList.csproj` 项目文件 3. **安装依赖** ```bash dotnet restore ``` 4. **运行项目** ```bash dotnet run --project TodoList/TodoList.csproj ``` ### 构建与发布 使用内置的发布脚本进行一键构建和打包: ```bash cd TodoList/TodoList powershell -ExecutionPolicy Bypass -File "BuildSetup.ps1" ``` 脚本功能: - 自动递增版本号 - 更新项目文件和安装脚本版本 - 编译 Release 版本 - 生成单文件可执行文件 - 创建安装程序(输出到 `Output` 目录) ## 📁 项目结构 ``` TodoList/ ├── TodoList/ # 主项目目录 │ ├── Models/ # 数据模型 │ ├── Services/ # 服务层(数据访问、快捷键等) │ ├── ViewModels/ # 视图模型 │ ├── Views/ # 界面视图 │ ├── TodoList.csproj # 项目文件 │ ├── BuildSetup.ps1 # 发布脚本 │ └── setup.iss # Inno Setup 安装脚本 ├── TodoList.slnx # 解决方案文件 ├── PRD.md # 产品需求文档 └── README.md # 项目说明文档 ``` ## 🎯 核心模块说明 ### QuickEntryWindow 快速记录窗口,通过全局快捷键唤起,提供极简的任务输入体验。 ### MainWindow 主界面,展示任务列表,支持任务管理和状态切换。 ### GlobalShortcutService 全局快捷键服务,负责注册和监听系统级快捷键。 ### SqliteDataService SQLite 数据服务,实现本地数据持久化。 ## 🔄 版本更新 ### 版本策略 - 采用语义化版本号:`MAJOR.MINOR.PATCH` - 每次运行发布脚本自动递增 PATCH 版本 ### 更新日志 | 版本 | 日期 | 描述 | |------|------|------| | 1.0.17 | 2024-01-XX | 修复发布脚本和安装路径问题 | | 1.0.16 | 2024-01-XX | 完善任务优先级显示 | | 1.0.0 | 2024-01-XX | 初始版本发布 | ## 🤝 贡献指南 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](LICENSE) 文件了解详情 ## 📞 联系方式 - 项目作者:ShaoHua - 项目地址: --- **TodoList** - 让任务管理更高效!