Files
worklist/README.md
2025-12-30 09:03:29 +00:00

201 lines
5.3 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.

# 工作任务管理系统
一个简单而强大的工作任务管理工具,帮助你记录每日工作任务和对应的时间投入。
## 功能特性
-**任务管理**: 添加、编辑、删除工作任务
- ⏱️ **时间追踪**: 点击开始/停止计时,自动记录任务时长
- 📊 **时间统计**: 查看每日、每周的工作时间统计
- 🤖 **AI润色**: 使用AI优化任务描述让工作记录更专业
- 📱 **响应式设计**: 支持桌面和移动设备
- 💾 **本地存储**: 数据存储在本地SQLite数据库中
## 技术栈
- **前端**: HTML5 + CSS3 + JavaScript (Vanilla JS)
- **后端**: Python Flask
- **数据库**: SQLite
- **AI服务**: OpenAI API (可选)
## 快速开始
### 1. 环境要求
- Python 3.7 或更高版本
- 现代浏览器 (Chrome, Firefox, Safari, Edge)
### 2. 安装和运行
#### 方法一:使用启动脚本(推荐)
```bash
# 克隆或下载项目到本地
cd worklist
# 运行启动脚本
python start.py
```
启动脚本会自动:
- 检查Python版本
- 安装所需依赖
- 创建配置文件
- 启动服务器
- 自动打开浏览器
#### 方法二:手动启动
```bash
# 1. 安装Python依赖
pip install -r backend/requirements.txt
# 2. 启动服务器
cd backend
python app.py
# 3. 在浏览器中访问
# http://localhost:5000
```
### 3. 配置AI润色功能可选
如需使用AI润色功能
1. 获取OpenAI API密钥
2. 编辑 `backend/.env` 文件
3. 设置 `OPENAI_API_KEY=your_api_key_here`
## 使用指南
### 基本操作
1. **添加任务**
- 点击"添加任务"按钮
- 填写任务标题和描述
- 选择任务状态
- 点击"保存"
2. **时间追踪**
- 在任务列表中点击"开始"按钮开始计时
- 点击"停止"按钮结束计时
- 系统自动记录和累计任务时长
3. **查看统计**
- 点击"查看报表"按钮
- 选择日期查看当日工作统计
- 查看各任务的时间投入
4. **AI润色**
- 在编辑任务时,点击"AI润色"按钮
- 系统会优化任务描述
- 可选择使用润色版本或保持原版
### 界面说明
- **任务列表**: 显示所有任务,包括状态、时长等信息
- **统计面板**: 显示今日总工作时长、完成任务数等
- **计时器**: 实时显示当前任务计时或总时长
- **报表**: 详细的每日工作时间统计
## 项目结构
```
worklist/
├── backend/ # 后端代码
│ ├── app.py # Flask主应用
│ ├── models.py # 数据库模型
│ ├── routes.py # API路由
│ ├── ai_service.py # AI服务
│ ├── requirements.txt # Python依赖
│ └── .env # 环境变量配置
├── frontend/ # 前端代码
│ ├── index.html # 主页面
│ ├── css/
│ │ └── style.css # 样式文件
│ └── js/
│ ├── app.js # 主应用逻辑
│ ├── api.js # API调用
│ └── timer.js # 计时器功能
├── start.py # 启动脚本
└── README.md # 说明文档
```
## API接口
### 任务管理
- `GET /api/tasks` - 获取任务列表
- `POST /api/tasks` - 创建任务
- `PUT /api/tasks/:id` - 更新任务
- `DELETE /api/tasks/:id` - 删除任务
- `POST /api/tasks/:id/polish` - AI润色任务描述
### 时间追踪
- `POST /api/timer/start` - 开始计时
- `POST /api/timer/stop` - 停止计时
- `GET /api/timer/status/:id` - 获取计时状态
### 统计报表
- `GET /api/reports/daily` - 获取日报表
- `GET /api/reports/summary` - 获取汇总报表
## 数据模型
### 任务 (Task)
- `id`: 任务ID
- `title`: 任务标题
- `description`: 任务描述
- `polished_description`: AI润色后的描述
- `status`: 任务状态 (pending/in_progress/completed)
- `created_at`: 创建时间
- `updated_at`: 更新时间
### 时间记录 (TimeRecord)
- `id`: 记录ID
- `task_id`: 关联的任务ID
- `start_time`: 开始时间
- `end_time`: 结束时间
- `duration`: 时长(秒)
- `created_at`: 创建时间
## 常见问题
### Q: 如何备份数据?
A: 数据库文件位于 `backend/worklist.db`,直接复制此文件即可备份。
### Q: 可以多人使用吗?
A: 当前版本为单用户设计,如需多用户支持需要进一步开发。
### Q: AI润色功能需要付费吗
A: 需要OpenAI API密钥按使用量计费具体费用请查看OpenAI官网。
### Q: 支持数据导出吗?
A: 当前版本暂不支持但可以通过API获取数据后续版本会添加导出功能。
## 开发说明
### 本地开发
1. 克隆项目
2. 安装依赖: `pip install -r backend/requirements.txt`
3. 启动开发服务器: `cd backend && python app.py`
4. 访问: `http://localhost:5000`
### 添加新功能
1. 后端: 在 `routes.py` 中添加新的API端点
2. 前端: 在相应的JS文件中添加功能逻辑
3. 数据库: 如需新表,在 `models.py` 中定义
## 许可证
MIT License
## 贡献
欢迎提交Issue和Pull Request
---
**开始使用**: 运行 `python start.py` 即可开始使用!