Files
TodoList/README.md
2025-12-31 04:06:10 +08:00

151 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
- 项目地址:<https://git.we965.cn/Tools/TodoList>
---
**TodoList** - 让任务管理更高效!