Files
worklist/README.md
2025-12-30 09:39:40 +00:00

6.7 KiB
Raw Blame History

工作任务管理系统

一个简单而强大的工作任务管理工具,帮助你记录每日工作任务和对应的时间投入。

功能特性

  • 🔐 用户认证: 密码登录保护,确保数据安全
  • 任务管理: 添加、编辑、删除工作任务
  • ⏱️ 时间追踪: 点击开始/停止计时,自动记录任务时长
  • 📊 时间统计: 查看每日、每周的工作时间统计
  • 🤖 AI润色: 使用AI优化任务描述让工作记录更专业
  • 📱 响应式设计: 支持桌面和移动设备
  • 💾 本地存储: 数据存储在本地SQLite数据库中
  • 🐳 Docker支持: 一键部署,开箱即用

技术栈

  • 前端: HTML5 + CSS3 + JavaScript (Vanilla JS)
  • 后端: Python Flask
  • 数据库: SQLite
  • AI服务: OpenAI API (可选)

快速开始

方法一: 使用Docker (推荐)

# 1. 克隆项目
git clone <repository-url>
cd worklist

# 2. (可选) 配置环境变量
cp .env.example .env
# 编辑 .env 文件,设置自定义用户名和密码

# 3. 启动Docker容器
docker-compose up -d

# 4. 访问应用
# 打开浏览器访问 http://localhost:5000
# 默认用户名: admin
# 默认密码: admin123

首次启动说明:

  • Docker会自动创建数据库和默认用户
  • 默认用户名: admin, 默认密码: admin123
  • 可通过环境变量 DEFAULT_USERNAMEDEFAULT_PASSWORD 自定义
  • 登录后请立即修改密码

方法二: 本地运行

1. 环境要求

  • Python 3.7 或更高版本
  • 现代浏览器 (Chrome, Firefox, Safari, Edge)

2. 安装和运行

方法一:使用启动脚本(推荐)

# 克隆或下载项目到本地
cd worklist

# 运行启动脚本
python start.py

启动脚本会自动:

  • 检查Python版本
  • 安装所需依赖
  • 创建配置文件
  • 启动服务器
  • 自动打开浏览器

首次使用需创建用户:

# 运行用户创建脚本
python create_user.py

方法二:手动启动

# 1. 安装Python依赖
pip install -r backend/requirements.txt

# 2. 创建初始用户
python create_user.py

# 3. 启动服务器
cd backend
python app.py

# 4. 在浏览器中访问
# http://localhost:5000

3. 配置说明

环境变量配置

环境变量配置

创建 .env 文件 (可复制 .env.example):

# Flask配置
SECRET_KEY=your-secret-key-here-please-change-this

# OpenAI API配置(可选,用于AI润色功能)
OPENAI_API_KEY=your_openai_api_key

# Docker首次启动时的默认用户(仅Docker部署时有效)
DEFAULT_USERNAME=admin
DEFAULT_PASSWORD=admin123

安全建议:

  • 生产环境务必修改 SECRET_KEY
  • 修改默认用户名和密码
  • 登录后立即在系统中修改密码

AI润色功能可选

使用指南

登录系统

  1. 首次访问会显示登录页面
  2. 输入用户名和密码
  3. 登录成功后进入主界面

基本操作

  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 即可开始使用!