Archive
This commit is contained in:
1 parent
206997510c
commit
251bd3e65f
14 files changed
+836
No files matched your search
@@ -0,0 +1,54 @@
|
||||
sequenceDiagram
|
||||
participant User as 用户
|
||||
participant CLI as TodoCLI
|
||||
participant Manager as TodoManager
|
||||
participant Storage as Storage
|
||||
participant File as JSON文件
|
||||
User->>CLI: python main.py add "任务标题" -d "描述" -due 2025-01-01
|
||||
CLI->>CLI: _setup_parser() 解析参数
|
||||
CLI->>CLI: _handle_add(args)
|
||||
CLI->>Manager: add(title, description, due_date)
|
||||
Manager->>Manager: 生成新TodoItem,设置id=next_id
|
||||
Manager->>Manager: 将item加入items列表
|
||||
Manager->>Manager: _save()
|
||||
Manager->>Storage: save([item.to_dict() for item in items])
|
||||
Storage->>File: 写入JSON文件
|
||||
File-->>Storage: 成功
|
||||
Storage-->>Manager: None
|
||||
Manager-->>CLI: 返回新TodoItem
|
||||
CLI-->>User: 打印添加成功信息
|
||||
|
||||
User->>CLI: python main.py list
|
||||
CLI->>CLI: _handle_list(args)
|
||||
CLI->>Manager: list_all()
|
||||
Manager->>Manager: 返回items列表
|
||||
Manager-->>CLI: list[TodoItem]
|
||||
CLI->>CLI: 格式化输出表格
|
||||
CLI-->>User: 显示所有任务
|
||||
|
||||
User->>CLI: python main.py done 1
|
||||
CLI->>CLI: _handle_done(args)
|
||||
CLI->>Manager: mark_done(1)
|
||||
Manager->>Manager: _find_by_id(1) -> item
|
||||
Manager->>Manager: item.completed = True
|
||||
Manager->>Manager: _save()
|
||||
Manager-->>CLI: True
|
||||
CLI-->>User: 打印标记成功
|
||||
|
||||
User->>CLI: python main.py delete 1
|
||||
CLI->>CLI: _handle_delete(args)
|
||||
CLI->>Manager: delete(1)
|
||||
Manager->>Manager: _find_by_id(1) -> item
|
||||
Manager->>Manager: 从items中移除
|
||||
Manager->>Manager: _save()
|
||||
Manager-->>CLI: True
|
||||
CLI-->>User: 打印删除成功
|
||||
|
||||
User->>CLI: python main.py edit 1 --title "新标题" --description "新描述"
|
||||
CLI->>CLI: _handle_edit(args)
|
||||
CLI->>Manager: edit(1, title="新标题", description="新描述")
|
||||
Manager->>Manager: _find_by_id(1) -> item
|
||||
Manager->>Manager: 更新item属性
|
||||
Manager->>Manager: _save()
|
||||
Manager-->>CLI: True
|
||||
CLI-->>User: 打印编辑成功
|
||||
Reference in new issue
Block a user