This commit is contained in:
2025-12-30 09:03:29 +00:00
commit 32294ebec1
19 changed files with 3146 additions and 0 deletions

200
README.md Normal file
View File

@@ -0,0 +1,200 @@
# 工作任务管理系统
一个简单而强大的工作任务管理工具,帮助你记录每日工作任务和对应的时间投入。
## 功能特性
-**任务管理**: 添加、编辑、删除工作任务
- ⏱️ **时间追踪**: 点击开始/停止计时,自动记录任务时长
- 📊 **时间统计**: 查看每日、每周的工作时间统计
- 🤖 **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` 即可开始使用!