rust_test1:基于 Rust 的 CLI 番茄钟任务管理项目

用户可通过该项目进行任务管理与番茄钟计时,提升学习工作效率。它支持任务增删查改、标签分类、番茄计时、统计分析及 CSV 导出,采用线程实现后台计时,数据持久化存储。【此简介由AI生成】

分支1Tags0
文件最后提交记录最后更新时间
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前
9 个月前

Rust番茄学习时钟

这是一个演示用的轻量 CLI 应用,用 Rust 实现的番茄钟任务管理器。功能包括:

  • 任务管理(add/list/done/rm/search)
  • 标签(#tag 语法)
  • 持久化为 todos.json
  • 番茄钟计时(start <id|last> [duration],支持 m/min 和 s 单位,默认 25 分钟)
  • 统计(stats <id|last>)
  • 导出 CSV(export csv )
  • 清理脏数据(clean)

快速试用

  1. 构建并运行:
cd /d D:\Users\Yu\Desktop\Rust\hello_rust
cargo build
# 在 cmd 中以 UTF-8 运行交互以正确显示中文:
cmd /c "chcp 65001 >nul && .\\target\\debug\\hello_rust.exe"
  1. 快速命令:
  • add 学习 Rust #学习
  • list
  • start last 3s(启动最后添加任务的 3 秒计时用于测试)
  • stats last
  • export csv out.csv
  • clean
  • save / load
  • exit

文件

  • src/main.rs:程序主逻辑
  • todos.json:存储的任务数据(自动读写)
  • demo_export.txt:演示脚本(可重定向到程序 stdin)

说明

  • 目前后台计时使用标准线程 std::thread::spawn,适合演示线程与持久化概念;如需支持取消或更复杂的调度,可改用 tokio runtime 并实现取消 token。

快捷命令示例(学习相关)

下面列出一组更贴近学习/制作视频场景的示例命令,包含注释说明和更多用法,便于直接在演示或录屏时使用:

  • 添加任务(支持多个标签,标签以 # 开头):

    • add 学习 Rust 所有权和借用 #学习 #rust
    • add 复习异步 Rust 教程 #学习 #async
    • add 看视频脚本草稿 #工作 #脚本 #视频
  • 列表(过滤):

    • list —— 列出所有任务(默认)
    • list todo —— 只列出未完成的任务
    • list done —— 只列出已完成的任务
    • list tag 学习 —— 只列出带 #学习 标签的任务
  • 标记完成 / 删除 / 标记:

    • done <id> —— 将指定 id 的任务标记为完成(可使用 last 代替最近的一条)
    • done last —— 标记最近添加的任务为完成
    • rm <id> —— 删除指定 id 的任务
  • 搜索与保存/加载:

    • search 所有权 —— 在标题与标签中搜索关键字
    • save —— 手动把当前内存写入 todos.json
    • load —— 从 todos.json 重新加载(覆盖当前内存)
  • 番茄计时与统计(演示用短时镜头):

    • start last 3s —— 启动最近任务的 3 秒计时(用于演示)
    • start <id> 25m —— 启动指定任务的 25 分钟计时
    • stats last —— 显示最近任务的番茄统计和会话时间
  • 导出与清理:

    • export csv out.csv —— 把当前任务导出为 CSV(包含 sessions)
    • clean —— 清理包含脏字符或特定模式的任务(例如问号垃圾)并保存
  • 可选 HTTP API(在后台启动):

    • serve 8080 —— 在 8080 端口启动可选的 REST API(如果已启用 serve 功能)
      • 演示建议:先在一个终端 serve 8080,另一个终端用 curl 或浏览器请求接口,展示 API 与 CLI 的协同。
  • 组合示例(按录屏流程):

    1. 添加几个学习任务:
      • add 学习 Rust 所有权 #学习 #rust
      • add 阅读 async book 第 3 章 #学习 #async
    2. 启动短计时用于演示:
      • start last 5s
    3. 查看统计并导出:
      • stats last
      • export csv demo_out.csv
    4. 标记完成并保存:
      • done last
      • save

演示(将 demo 脚本重定向到 stdin):

# 在 cmd 中以 UTF-8 运行并把 demo_pomo.txt 作为输入:
cmd /c "chcp 65001 >nul && .\\target\\debug\\hello_rust.exe < demo_pomo.txt"

项目介绍

用户可通过该项目进行任务管理与番茄钟计时,提升学习工作效率。它支持任务增删查改、标签分类、番茄计时、统计分析及 CSV 导出,采用线程实现后台计时,数据持久化存储。【此简介由AI生成】

定制我的领域