跳转到内容

待办事项提醒系统

Cloudflare Workers - 待办事项提醒系统

Section titled “Cloudflare Workers - 待办事项提醒系统”

这是一个基于 Cloudflare Workers 的 Todo 管理系统,支持添加、编辑、删除和通知待办事项,并通过 Telegram Bot 发送提醒消息。

  • 登录验证(支持密码 + 可选 reCAPTCHA 验证)
  • 添加/编辑/删除待办事项
  • 列表分页、排序展示
  • 测试通知按钮
  • 每天北京时间 14:00 定时任务推送提醒
  • 支持 Telegram Bot 通知提醒(含 MarkdownV2 转义)
  1. 在 Cloudflare Dashboard 创建一个 Worker
    创建 Worker 第一步
    创建 Worker 第二步

  2. 设置环境变量(通过 Vars 设置):

    • PASS:登录密码(必填)
    • TGID:Telegram chat_id(必填)
    • TGTOKEN:Telegram Bot Token(必填)
    • RECAPTCHA_SITE_KEY:Google reCAPTCHA site key(可选)
    • RECAPTCHA_SECRET:Google reCAPTCHA secret(可选)

    设置 Vars

  3. 创建并绑定 KV 命名空间 TODO_KV,用于存储 todos 列表

    绑定 KV

  4. 上传 worker.js 并保存部署

    上传部署

Github

访问首页 /,输入密码登录。登录后通过 Cookie 管理状态(loggedIn=true)。

如启用了 reCAPTCHA,还需通过验证码验证。

所有接口路径均以 /api/todos 开头,必须登录状态才能调用:

  • GET /api/todos:获取全部待办事项
  • GET /api/todos/:id:获取单条待办
  • POST /api/todos:新增
  • PUT /api/todos/:id:更新
  • DELETE /api/todos/:id:删除
  • POST /api/todos/:id/test-notification:测试发送 Telegram 通知

设置 Worker 的 Cron 触发时间为每天 0 6 * * *(UTC)即北京时间 14:00。系统会自动遍历所有待办事项,根据 advanceDayscontinuousDays 发送通知。

示例:

🔔 尊敬的老板,小宝奉命提醒您:
待办事项:提交季度报表
待办日期:2025/05/20
您还有 3 天的时间来处理。
  • 使用 wrangler dev 测试页面渲染
  • 使用 KV 模拟器 (wrangler kv:namespace) 存储数据
  • 或将业务逻辑拆分到函数中便于测试

本项目适用于:

  • 你是一个经常有重要事项需要提醒的个体或小团队;
  • 你希望使用 Telegram Bot 作为通知通道,而不是依赖短信或邮件;
  • 你不希望部署数据库,倾向使用 Cloudflare Workers + KV 储存结构,免维护;
  • 你需要定时任务自动提醒,而不愿使用传统服务或钉钉/企业微信等重型平台;
  • 你需要一个跨设备、无客户端、在线使用的待办事项系统;
  • 你有 Telegram 并希望接收每日提醒(比如「业务到期」「学习计划」等);
  • 你在服务器资源有限或希望使用免费 Cloudflare Workers 额度构建轻量系统。

MIT License

AgADbxkAAgf-GFU.webp AgADbhkAAgf-GFU.webp AgADcRkAAgf-GFU.webp AgADcBkAAgf-GFU.webp