# ToDo **Repository Path**: super_coding/to-do ## Basic Information - **Project Name**: ToDo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-15 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📝 PyWebview TodoList 一个基于 PyWebview 构建的现代化桌面待办事项管理应用,结合了 Web 技术的灵活性和桌面应用的原生体验。 ![TodoList Logo](app.ico) ## ✨ 特性 ### 🎯 核心功能 - ✅ **任务管理**: 添加、编辑、删除、完成待办事项 - 📅 **日期分组**: 按日期自动分类任务(今日待完成、今日已完成、昨日任务) - 📊 **统计信息**: 实时显示任务统计和完成率 - 💾 **数据持久化**: 本地JSON文件存储,数据不丢失 - 🔄 **实时更新**: 动态UI更新,无需刷新 ### 🎨 界面特性 - 🌟 **现代化设计**: 简洁美观的用户界面 - 📱 **响应式布局**: 自适应不同窗口尺寸 - 🎭 **动态版本信息**: 集成版本和作者信息显示 - 🖼️ **自定义图标**: 专业的应用图标 ### 🔧 技术特性 - 🖥️ **跨平台**: 支持 Windows、macOS、Linux - ⚡ **高性能**: 基于现代Web技术构建 - 📦 **独立运行**: 打包后无需安装Python环境 - 🔒 **数据安全**: 本地存储,保护隐私 ## 🛠️ 技术栈 ### 后端 - **Python 3.9+**: 主要编程语言 - **PyWebview**: 桌面应用框架 - **JSON**: 数据存储格式 ### 前端 - **HTML5**: 页面结构 - **CSS3**: 样式设计(包含Flexbox、响应式设计) - **JavaScript (ES6+)**: 交互逻辑 - **DOM API**: 动态页面更新 ### 打包工具 - **PyInstaller**: 应用打包 - **Pillow**: 图标生成 ## 🚀 快速开始 ### 📋 环境要求 - Python 3.7 或更高版本 - Windows 10/11 (推荐) 或 macOS/Linux ### 🔧 开发环境安装 1. **克隆项目** ```bash git clone cd ToDo_List ``` 2. **创建虚拟环境** ```bash # Windows python -m venv .venv .\.venv\Scripts\activate # macOS/Linux python3 -m venv .venv source ./.venv/bin/activate ``` 3. **安装依赖** ```bash pip install -r requirements.txt ``` 4. **运行应用** ```bash python main.py ``` ### 📦 直接使用打包版本 1. 下载最新的发布版本 2. 解压到任意目录 3. 双击运行 `TodoList.exe` ## 📁 项目结构 ``` ToDo_List/ ├── 📄 main.py # 主程序入口 ├── 📄 todo_backend.py # 后端逻辑和API ├── 📄 config.py # 应用配置 ├── 📄 build_todolist.py # 自动打包脚本 ├── 📄 requirements.txt # Python依赖 ├── 🖼️ app.ico # 应用图标 ├── 📁 static/ # 前端资源 │ ├── 📄 index.html # 主页面 │ ├── 📄 script.js # JavaScript逻辑 │ └── 📄 style.css # 样式文件 ├── 📁 data/ # 数据存储 │ └── 📄 todos.json # 任务数据文件 └── 📁 dist/ # 打包输出目录 └── 📁 TodoList/ # 最终应用 ├── TodoList.exe # 可执行文件 └── 📁 _internal/ # 依赖文件 ``` ## 🔨 构建说明 ### 自动打包 使用提供的自动打包脚本: ```bash python build_todolist.py ``` 该脚本会自动: - ✅ 检查依赖包 - 🎨 创建应用图标 - 🔧 生成修复版主程序 - 📦 执行PyInstaller打包 - 🧹 清理临时文件 ### 手动打包 ```bash pyinstaller --name=TodoList --noconsole --onedir \ "--add-data=static;static" \ "--add-data=config.py;." \ --hidden-import=webview \ --hidden-import=webview.platforms.winforms \ --hidden-import=webview.platforms.edgechromium \ --hidden-import=bottle \ --icon=app.ico \ main.py ``` ## 💡 使用指南 ### 基本操作 1. **添加任务**: 在输入框中输入任务内容,点击"添加任务"或按Enter 2. **完成任务**: 点击任务前的复选框 3. **编辑任务**: 点击任务的"编辑"按钮 4. **删除任务**: 点击任务的"删除"按钮 ### 界面说明 - **今日待完成任务**: 显示今天创建且未完成的任务 - **今日已完成任务**: 显示今天创建且已完成的任务 - **昨日任务**: 显示昨天的所有任务(只读) - **统计面板**: 显示总任务数、完成数、待完成数和完成率 ### 数据存储 - **开发环境**: 数据保存在项目的 `data/todos.json` 文件中 - **打包环境**: 数据保存在可执行文件同级的 `data/todos.json` 文件中 - **数据格式**: JSON格式,包含任务ID、内容、状态、创建时间等信息 ## 🔧 配置选项 在 `config.py` 中可以修改: ```python APP_CONFIG = { 'VERSION': '2.0.0', # 应用版本 'AUTHOR': 'Your Name', # 作者信息 'title': '每日待办清单 - TodoList' # 窗口标题 } ``` ## 🐛 故障排除 ### 常见问题 **Q: 应用无法启动或闪退** - A: 确保所有依赖已正确安装,检查Python版本是否符合要求 **Q: 数据丢失问题** - A: 检查data目录的写入权限,确保应用有创建文件的权限 **Q: 打包后应用无法正常运行** - A: 确保使用了正确的PyInstaller参数,检查所有隐藏导入是否包含 **Q: 界面显示异常** - A: 检查static目录下的文件是否完整,确保HTML/CSS/JS文件未损坏 ### 调试模式 开发时可以在main.py中启用调试模式: ```python webview.start(debug=True) # 启用调试 ``` ## 🤝 贡献指南 欢迎提交Issue和Pull Request! 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) 文件了解详情 ## 🙏 致谢 - [PyWebview](https://pywebview.flowrl.com/) - 优秀的Python桌面应用框架 - [PyInstaller](https://www.pyinstaller.org/) - 强大的Python应用打包工具 - 所有为这个项目提供建议和反馈的朋友们 ## 📞 联系方式 - 项目地址: [GitHub Repository](https://github.com/yourusername/todolist) - 作者: Your Name - 邮箱: your.email@example.com --- ⭐ 如果这个项目对您有帮助,请给它一个星标!