15 Commits

Author SHA1 Message Date
ddshi
875f902ac3 fix: 修复跨域凭证配置
为 fetch 请求添加 credentials: 'include' 以支持跨域时发送凭证(cookie)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-11 14:45:42 +08:00
ddshi
e44183e3e0 chore: 提交剩余的 server 更改
- .env: 数据库路径配置
- scripts/add-reminder-times.cjs: 批量更新提醒时间脚本

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 11:11:14 +08:00
ddshi
15918f163c fix: 修复 reminder_times 处理和 UTC 时间存储
- server: 处理 reminder_times 更新时支持 null 值
- client: 统一使用 UTC 格式存储日期时间
- client: 修复 calculateNextDueDate 使用 UTC 时间计算
- client: 修复 calculateReminderTimes 使用 UTC 时间计算
- client: 修复 getReminderValueFromTimes 反推提醒选项
- client: 重写 createNextRecurringEventData 根据新日期重新计算 reminder_times
- 解决用户设置"14:00"显示"22:00"等时区问题
- 解决重复提醒自动创建时继承 reminder_times 问题

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 11:07:21 +08:00
ddshi
96da6b6e42 feat: 添加priority字段支持
- Event模型添加priority字段
- routes/events.ts支持priority的创建和更新
- Prisma schema同步更新
- 添加数据库自动迁移

🤖 Generated with Claude Code
2026-02-05 17:52:33 +08:00
ddshi
60fdd4ec2b feat: 支持重复提醒创建和移除设置API
- events路由更新:
  - 创建重复提醒时计算并保存next_reminder_date
  - 支持is_completed与repeat_type等字段合并更新

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 13:51:14 +08:00
ddshi
88fd057155 fix: 修复时间存储时区转换问题
直接存储前端发送的原始日期字符串,不做 toISOString 转换
避免本地时间被错误转换为 UTC 时间

Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
2026-02-03 14:57:52 +08:00
ddshi
e3014a9d4c chore: 清理临时文件 2026-02-03 14:14:20 +08:00
ddshi
a358f64a3c fix: 添加 is_completed 字段到事件 schema
确保前端发送的 is_completed 字段能被正确验证和保存
2026-02-03 13:19:33 +08:00
ddshi
2c258e4a0c fix: 子模块配置调整
- 移除 Prisma 冗余配置
- 优化 tsconfig.json 支持 ESM
- 调整路由和 API 逻辑
2026-02-02 15:27:06 +08:00
ddshi
e745b7339b fix: 添加AI返回数据Zod Schema验证 (P0安全修复) 2026-01-29 16:59:01 +08:00
ddshi
11459b60d6 chore: 版本更新至 v0.2.0-alpha (P0+P1完成) 2026-01-29 16:45:23 +08:00
ddshi
747060af25 fix: 移除生产环境的数据库路径日志输出 (P1安全修复) 2026-01-29 16:43:55 +08:00
ddshi
fbff8cc230 feat: 添加SQLite本地数据库支持
- 移除Prisma中不支持SQLite的类型(Json、枚举)
- 使用String类型替代枚举值
- 更新Prisma schema适配SQLite
- 添加数据库初始化脚本scripts/init-db.js
- 更新数据库路径配置
- 添加sql.js依赖
- 删除旧的prisma.ts使用新的db.ts

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-29 16:33:55 +08:00
ddshi
e35bd77e06 feat: 初始化后端和认证API
- Express.js + TypeScript
- JWT认证系统 (bcryptjs加密)
- Prisma ORM (SQLite/PostgreSQL)
- Zod输入验证
- express-rate-limit限流

Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
2026-01-29 15:09:19 +08:00
ddshi
55627762e1 feat: complete backend API with JWT auth, events, notes, AI routes
- Add Express.js server with TypeScript
- Configure Prisma ORM with PostgreSQL schema
- Implement JWT authentication (register, login, logout, refresh)
- Add rate limiting for auth endpoints (10 attempts/15min)
- Password strength validation (8+ chars, uppercase, lowercase, number)
- Events CRUD API (anniversaries and reminders)
- Notes API (single note per user)
- AI parse endpoint with DeepSeek integration
- Security: Helmet, rate limiting, input validation, error handling
- Fix: JWT_SECRET environment variable validation

Code review: Architect approved
Tests: Build verified
2026-01-29 13:08:48 +08:00