You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
7 months ago | |
|---|---|---|
| .. | ||
| README.md | 1 year ago | |
| storage.go | 1 year ago | |
| task.go | 7 months ago | |
README.md
Task Tool
一个简单的 Task 管理工具,支持 Web 界面和 API 接口。
功能特点
- 支持添加、更新、删除和列表查询
- 支持按标题和内容搜索
- 支持按完成状态筛选
- 支持软删除
- 支持按创建时间排序
- 数据持久化到本地文件
- 美观的 Web 界面
- 实时自动更新
启动服务
go run cmd/web/main.go
服务默认在 8080 端口启动,可以通过环境变量 PORT 修改:
PORT=3000 go run cmd/web/main.go
API 使用示例
添加 Task
curl -X POST http://127.0.0.1:8080/task/api \
-H "Content-Type: application/json" \
-d '{
"action": "add",
"task": {
"title": "完成作业",
"content": "完成数学作业",
"deadline": "2024-01-15T18:00:00Z"
}
}'
更新 Task
curl -X POST http://127.0.0.1:8080/task/api \
-H "Content-Type: application/json" \
-d '{
"action": "update",
"task": {
"id": "task-id",
"completed": true
}
}'
删除 Task
curl -X POST http://127.0.0.1:8080/task/api \
-H "Content-Type: application/json" \
-d '{
"action": "delete",
"task": {
"id": "task-id"
}
}'
列出所有 Task
curl -X POST http://127.0.0.1:8080/task/api \
-H "Content-Type: application/json" \
-d '{
"action": "list",
"list": {}
}'
搜索和筛选 Task
curl -X POST http://127.0.0.1:8080/task/api \
-H "Content-Type: application/json" \
-d '{
"action": "list",
"list": {
"query": "作业",
"is_done": false,
"limit": 10
}
}'
API 响应格式
所有 API 响应都遵循以下格式:
{
"status": "success",
"task_list": [
{
"id": "uuid",
"title": "标题",
"content": "内容",
"completed": false,
"deadline": "2024-01-15T18:00:00Z",
"created_at": "2024-01-10T10:00:00Z"
}
],
"error": ""
}
status: 可能的值为 "success" 或 "error"task_list: Task 项列表,某些操作可能为空error: 错误信息,成功时为空
数据存储
Task 数据以 JSON Lines 格式存储在 .task/tasks.jsonl 文件中。每行一个 Task 项,支持实时读写。