2025-12-31 04:09:24 +08:00
2025-12-31 04:09:24 +08:00
2025-12-31 04:09:24 +08:00
2025-12-30 10:29:28 +08:00
2025-12-31 04:06:10 +08:00
2025-12-31 04:06:10 +08:00

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. 克隆或下载项目

    git clone <仓库地址>
    cd TodoList
    
  2. 打开项目

    • 使用 Visual Studio 打开 TodoList.slnx 解决方案
    • 或直接打开 TodoList/TodoList.csproj 项目文件
  3. 安装依赖

    dotnet restore
    
  4. 运行项目

    dotnet run --project TodoList/TodoList.csproj
    

构建与发布

使用内置的发布脚本进行一键构建和打包:

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 文件了解详情

📞 联系方式


TodoList - 让任务管理更高效!

Description
No description provided
Readme 96 MiB
Languages
C# 91.5%
Inno Setup 4.3%
PowerShell 4.2%