Organize project by 5 core modules based on requirement docs. Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
2.7 KiB
2.7 KiB
2025-08-08 菜单同步 + 用户画像数据与接口完善
-
完成内容:
- 同步左侧导航与底部菜单,统一为【首页 / 数据中台 / 画像 / AI智能助手】,去除“搜索”入口,避免与首页内置搜索重复。
- 新增 /api/users 接口(GET/POST),支持 q、tags、status、rfmMin、rfmMax、page、pageSize 与 id 详情查询。
- 新增 lib/mock-users.ts:批量生成中文姓名、邮箱、手机号、标签、动态时间(基于当前时间)与 RFM 分数的模拟用户数据。
- 新增 Skeleton 组件与 moments-sync 编辑页 loading.tsx 作为 Suspense Fallback,避免 useSearchParams 构建报错。
- 补齐 Toast / Toaster 组件的导出与实现,修复构建失败。
- 将“搜索入口”迁移并固定在首页;修复 /api/users 导出/导入冲突,稳定构建。
- 首页搜索功能:在 app/page.tsx 中集成 UserSearch 组件,提供状态筛选、RFM区间筛选与实时搜索
- 用户列表组件:components/home/user-list.tsx 完整实现,包含加载态、错误态、空态处理
- 筛选组件:components/home/user-search.tsx 提供状态多选、RFM滑块筛选
- API接口:app/api/users/route.ts 简化实现,仅依赖 lib/mock-users.ts
- 数据层:lib/mock-users.ts 生成120条真实感用户数据,支持多条件查询与分页
- UI组件:补齐 Slider 组件,修复 useDebounce 导出问题
-
变更文件:
- app/page.tsx(新增首页搜索与指标卡片)
- components/home/user-search.tsx(新增:状态/RFM过滤 + 绑定首页搜索框)
- components/home/user-list.tsx(新增:表格列表)
- app/api/users/route.ts(精简重写:仅依赖 lib/mock-users 导出)
- lib/mock-users.ts(统一导出 queryUsers/addUser/getUserById,时间全部相对“当前时间”生成)
-
接口与数据:
- GET /api/users?id= 返回单体详情;GET /api/users 返回列表与分页;POST /api/users 新增一个用户(服务内内存态)。
-
完成度:
- 本轮任务完成度:100%
- 用户画像模块整体完成度:90%(已具备真实感数据与筛选能力,待接入真实库)
- 全项目:70%
-
下一步计划:
- 接入真实数据库(Neon/Supabase/MySQL),并加上索引与分页游标;
- 画像页联动更多筛选项与批量导出;
- 详情页增加 AI 洞察与行动建议(AI SDK),联动 RFM;
- 对齐路由处的 loading 骨架风格,完善可用性与无障碍。
- 数据库对接(Neon/Supabase/MySQL)保留接口契约不变;
- 画像页接入上述接口的分页与高级筛选,补齐批量导出;
- 详情页接入 AI SDK 生成洞察与跟进建议(RFM联动)。