diff --git a/.playwright-mcp/.playwright-mcp/console-errors.txt b/.playwright-mcp/.playwright-mcp/console-errors.txt deleted file mode 100644 index e69de29..0000000 diff --git a/.playwright-mcp/.playwright-mcp/console-log.txt b/.playwright-mcp/.playwright-mcp/console-log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/.playwright-mcp/landing-fix-screenshot.png b/.playwright-mcp/landing-fix-screenshot.png deleted file mode 100644 index 5e31a68..0000000 Binary files a/.playwright-mcp/landing-fix-screenshot.png and /dev/null differ diff --git a/.playwright-mcp/landing-page-redesign.png b/.playwright-mcp/landing-page-redesign.png deleted file mode 100644 index 1ab02b0..0000000 Binary files a/.playwright-mcp/landing-page-redesign.png and /dev/null differ diff --git a/.playwright-mcp/landing-zen-redesign.png b/.playwright-mcp/landing-zen-redesign.png deleted file mode 100644 index 8717653..0000000 Binary files a/.playwright-mcp/landing-zen-redesign.png and /dev/null differ diff --git a/.playwright-mcp/page-screenshot.png b/.playwright-mcp/page-screenshot.png deleted file mode 100644 index e58e5a8..0000000 Binary files a/.playwright-mcp/page-screenshot.png and /dev/null differ diff --git a/docs/prd.md b/docs/prd.md index 6ef1d86..e1688a8 100644 --- a/docs/prd.md +++ b/docs/prd.md @@ -4,9 +4,10 @@ | 项目 | 内容 | |-----|------| -| **版本号** | v1.0.0 | -| **状态** | 待评审 | +| **版本号** | v1.0.1 | +| **状态** | 开发中 | | **创建日期** | 2026-01-28 | +| **最近更新** | 2026-02-03 | | **目标用户** | 需要管理纪念日、提醒任务的普通用户 | | **产品定位** | 轻便、灵活的倒数日和提醒App,专注提醒功能 | @@ -1574,3 +1575,145 @@ Home页面采用三栏布局,总宽度1200px,居中显示。 | 版本 | 日期 | 修改内容 | 修改人 | |------|------|----------|--------| | v1.0.0 | 2026-01-28 | 初稿完成 | 产品经理 | +| v1.0.1 | 2026-02-03 | 完善提醒模块,实现归档页、设置页、优化样式 | 产品经理 | + +--- + +## 10 实施状态追踪 + +### 10.1 功能实现状态 + +| 模块 | 功能点 | 状态 | 备注 | +|------|--------|------|------| +| **认证模块** | 用户注册 | ✅ 已完成 | 邮箱密码认证 | +| | 用户登录 | ✅ 已完成 | JWT登录态 | +| | 登录态保持 | ✅ 已完成 | localStorage 30天 | +| | 登出功能 | ✅ 已完成 | | +| **纪念日模块** | 查看列表 | ✅ 已完成 | 倒计时显示 | +| | 添加纪念日 | ✅ 已完成 | AI+手动添加 | +| | 编辑纪念日 | ✅ 已完成 | 详情弹窗 | +| | 删除纪念日 | ✅ 已完成 | | +| | 内置节假日 | ✅ 已完成 | 农历转换修复 | +| | 倒计时计算 | ✅ 已完成 | | +| **提醒模块** | 查看列表 | ✅ 已完成 | 分组显示 | +| | 添加提醒 | ✅ 已完成 | AI+手动添加 | +| | 编辑提醒 | ✅ 已完成 | 详情弹窗 | +| | 删除提醒 | ✅ 已完成 | | +| | 标记完成 | ✅ 已完成 | checkbox交互 | +| | 过期检测 | ✅ 已完成 | 精确到时间点 | +| | 已过期分组 | ✅ 已完成 | 红色高亮 | +| | 归档功能 | ✅ 已完成 | 独立归档页 | +| **便签模块** | 查看便签 | ✅ 已完成 | | +| | 编辑便签 | ✅ 已完成 | Markdown支持 | +| | 自动保存 | ✅ 已完成 | | +| **AI对话** | 自然语言解析 | ✅ 已完成 | | +| | 解析确认 | ✅ 已完成 | | +| | 创建纪念日/提醒 | ✅ 已完成 | | +| **设置** | 显示设置 | ✅ 已完成 | 节假日显示开关 | +| **其他** | 归档页 | ✅ 已完成 | 恢复/删除功能 | +| | 设置页 | ✅ 已完成 | 基础框架 | + +### 10.2 提醒模块当前实现详情 + +#### 10.2.1 分组逻辑 + +``` +提醒按以下规则分组显示: +- 今天:eventDate < tomorrow (今晚24点前) +- 明天:tomorrow <= eventDate < dayAfterTomorrow +- 更久之后:eventDate >= dayAfterTomorrow +- 已错过:eventDate < now (精确到时间点,不只是日期) +``` + +#### 10.2.2 状态样式 + +| 状态 | 边框 | 背景 | 文字颜色 | 时间颜色 | +|------|------|------|----------|----------| +| 默认 | 浅灰 | 透明 | #1a1a1a | #666 | +| 已过期 | 浅红(左边框3px) | 浅红 | #666 | #c41c1c | +| 已完成 | 浅灰 | 透明 | #999 | #bbb | + +#### 10.2.3 交互效果 + +- **checkbox点击**:切换完成状态,已过期提醒有淡出动画 +- **卡片点击**:打开编辑弹窗 +- **悬停效果**:卡片轻微上浮,更多按钮渐显 +- **勾选动画**:checkbox 脉冲动画 + +### 10.3 技术优化项 + +| 项目 | 状态 | 说明 | +|------|------|------| +| 乐观更新 | ✅ 已完成 | UI即时响应,失败回滚 | +| 状态持久化 | ✅ 已完成 | localStorage + 后端 | +| API数据覆盖 | ✅ 已修复 | 避免undefined覆盖有效值 | +| 后端is_completed | ✅ 已修复 | zod schema添加字段 | + +--- + +## 11 后续开发计划 + +### 11.1 短期计划(v1.0.2)- 核心体验优化 + +**目标**:打磨核心功能,提升用户体验稳定性 + +| 优先级 | 功能 | 描述 | 预估工时 | +|--------|------|------|----------| +| P0 | 提醒弹窗完善 | 添加日期时间选择器、表单验证 | 0.5天 | +| P0 | 纪念日弹窗完善 | 添加农历选择、重复方式下拉 | 0.5天 | +| P1 | 节日显示开关 | 设置页控制是否显示法定节假日 | 0.25天 | +| P1 | 移动端适配 | 响应式布局优化 | 0.5天 | +| P2 | 加载状态优化 | 添加骨架屏、loading动画 | 0.25天 | +| P2 | 错误提示优化 | 统一错误处理和提示样式 | 0.25天 | + +### 11.2 中期计划(v1.1.0)- 功能增强 + +**目标**:增强核心功能,添加辅助功能 + +| 优先级 | 功能 | 描述 | 预估工时 | +|--------|------|------|----------| +| P1 | 浏览器通知 | 纪念日/提醒通知权限和发送 | 1天 | +| P1 | AI对话优化 | 解析结果编辑、多轮对话 | 1天 | +| P2 | 数据导出 | 导出纪念日/提醒为JSON/CSV | 0.5天 | +| P2 | 批量操作 | 批量删除、批量完成 | 0.5天 | +| P3 | 搜索功能 | 搜索纪念日和提醒 | 0.5天 | + +### 11.3 长期计划(v1.2.0+)- 生态扩展 + +**目标**:扩展使用场景,提升产品价值 + +| 功能 | 描述 | 预估工时 | +|------|------|----------| +| 微信小程序 | 跨平台覆盖,方便移动端使用 | 3天 | +| 数据统计 | 纪念日统计、提醒完成率 | 1天 | +| 主题切换 | 浅色/深色/主题色 | 0.5天 | +| 分享功能 | 分享纪念日卡片 | 0.5天 | +| 重复规则增强 | 自定义重复周期、结束日期 | 1天 | + +### 11.4 技术债 + +| 项目 | 描述 | 优先级 | +|------|------|--------| +| 代码规范 | ESLint/Prettier配置完善 | P2 | +| 单元测试 | 核心函数测试覆盖 | P3 | +| 性能优化 | 大数据量场景优化 | P3 | +| 文档完善 | API文档、开发者文档 | P2 | + +### 11.5 里程碑更新 + +| 版本 | 内容 | 状态 | 预计完成 | +|------|------|------|----------| +| v1.0.0 | MVP基础功能 | ✅ 已完成 | 2026-01-28 | +| v1.0.1 | 提醒模块完善、归档页 | ✅ 已完成 | 2026-02-03 | +| v1.0.2 | 核心体验优化 | 进行中 | 待定 | +| v1.1.0 | 功能增强 | 计划中 | 待定 | +| v1.2.0 | 生态扩展 | 计划中 | 待定 | + +--- + +### C. 修改记录 + +| 版本 | 日期 | 修改内容 | 修改人 | +|------|------|----------|--------| +| v1.0.0 | 2026-01-28 | 初稿完成 | 产品经理 | +| v1.0.1 | 2026-02-03 | 完善提醒模块,实现归档页、设置页、优化样式 | 产品经理 | diff --git a/restart.bat b/restart.bat new file mode 100644 index 0000000..c29b215 --- /dev/null +++ b/restart.bat @@ -0,0 +1,50 @@ +@echo off + chcp 65001 >nul + echo ======================================== + echo 掐日子 - 服务重启脚本 + echo ======================================== + + echo. + echo [1/4] 检查并终止占用端口的进程... + + :: 查找占用 3000 端口的进程 + for /f "tokens=5" %%a in ('netstat -ano ^| findstr :3000 ^| findstr LISTEN') do ( + echo 终止占用 3000 端口的进程 (PID: %%a) + taskkill /PID %%a /F >nul 2>&1 + ) + + :: 查找占用 5173 端口的进程 + for /f "tokens=5" %%a in ('netstat -ano ^| findstr :5173 ^| findstr LISTEN') do ( + echo 终止占用 5173 端口的进程 (PID: %%a) + taskkill /PID %%a /F >nul 2>&1 + ) + + echo. + echo [2/4] 清理临时文件... + cd /d "%~dp0" + if exist client\nul rmdir /s /q client\tmpclaude-* 2>nul + if exist server\nul rmdir /s /q server\tmpclaude-* 2>nul + echo 清理完成 + + echo. + echo [3/4] 启动后端服务... + cd server + start "Qia Server" cmd /c "npm run dev" + cd .. + + echo 等待后端启动... + timeout /t 3 /nobreak >nul + + echo. + echo [4/4] 启动前端服务... + cd client + start "Qia Client" cmd /c "npm run dev" + cd .. + + echo. + echo ======================================== + echo 服务已启动! + echo 后端: http://localhost:3000 + echo 前端: http://localhost:5173 + echo ======================================== + pause \ No newline at end of file