Skip to content

ningmeng68/ding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ding - Cloudflare Workers 提醒应用

基于 Cloudflare Workers + D1 数据库的 Web 提醒事项应用,支持邮件发送定时提醒。

功能特性

  • ✅ 密码认证(默认密码:admin)
  • ✅ 修改密码功能
  • ✅ SMTP 配置管理(支持测试发送)
  • ✅ 创建、查看、编辑、删除提醒
  • ✅ 自动发送到期提醒邮件(使用 Cron Triggers)
  • ✅ 支持重复提醒(每天/每周/每月/每年/自定义)
  • ✅ 现代化、响应式 UI 设计

技术栈

  • 后端: TypeScript + Cloudflare Workers
  • 数据库: Cloudflare D1
  • 任务调度: Cloudflare Cron Triggers
  • 邮件服务: Resend API (或其他第三方邮件服务)
  • 前端: HTML5 + Tailwind CSS + JavaScript

项目结构

ding/
├── src/
│   ├── index.ts       # Worker 入口
│   ├── database.ts    # D1 数据库操作
│   ├── email.ts       # 邮件发送
│   └── auth.ts        # 认证模块
├── schema.sql         # 数据库 schema
├── wrangler.toml      # Cloudflare 配置
├── package.json
├── tsconfig.json
└── README.md

部署步骤

1. 安装依赖

cd ding
npm install

2. 登录 Cloudflare

npx wrangler login

3. 创建 D1 数据库

npx wrangler d1 create ding-db

创建成功后,会输出数据库 ID,将其更新到 wrangler.toml 中的 database_id 字段。

4. 初始化数据库表

npx wrangler d1 execute ding-db --file=./schema.sql

5. (可选) 配置 Resend API Key

wrangler.toml 中添加:

[vars]
RESEND_API_KEY = "your_resend_api_key"

或者通过 Cloudflare Dashboard 设置环境变量。

6. 部署

npm run deploy

本地开发

npm run dev

默认配置

  • 默认密码: admin
  • Cron Trigger: 每分钟检查一次到期提醒(Cloudflare Workers 最小支持频率)

API 端点

认证

  • POST /api/auth/login - 登录
  • POST /api/auth/logout - 退出
  • POST /api/auth/change-password - 修改密码

提醒管理

  • GET /api/reminders - 获取所有提醒
  • POST /api/reminders - 创建提醒
  • PUT /api/reminders/:id - 更新提醒
  • DELETE /api/reminders/:id - 删除提醒

SMTP 配置

  • GET /api/smtp/config - 获取 SMTP 配置
  • POST /api/smtp/config - 保存 SMTP 配置
  • POST /api/smtp/test - 测试发送邮件

修改密码

登录后,点击右上角「修改密码」按钮即可修改密码。

注意事项

  1. 由于 Cloudflare Workers 限制,不支持直接使用 SMTP 协议发送邮件,建议使用 Resend、SendGrid 等第三方邮件服务的 HTTP API
  2. Cron Triggers 每分钟执行一次(这是 Cloudflare Workers 支持的最小频率),实际发送可能有轻微延迟
  3. 生产环境请务必修改默认密码

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors