Optimize user detail page for asset assessment and tag info. #VERCEL_SKIP Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
4.9 KiB
4.9 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 导出/导入冲突,稳定构建。
2025-08-09 身份识别服务与数据库结构 API 修复
-
完成内容:
- 身份识别服务
- 新增 services/IdentityService.ts:提供 findMatchingIdentity / createNewIdentity / updateIdentity 内存索引能力,支持基于 email/phone/username 的高置信匹配与合并。
- 与 v1.4 的统一用户结构(source_profiles / ai_insights / crm_info)设计一致,保障数据接入的落库结构稳定 [^5]。
- 数据库结构 API 修复
- 重写 app/api/database-structure/route.ts:
- 无参数:返回数据库列表([{ Database: string }]),契合 DatabaseStructureViewer 预期。
- ?database:返回该库完整结构。
- ?database&table:返回指定表结构。
- 对齐前端 DatabaseStructureViewer 的取数流程(初始化先拉库列表,再按库取结构)。
- OpenAPI 规范输出
- 新增 app/api/openapi/route.ts:输出最小可用的 OpenAPI 3.1 规范(覆盖 /api/ingest 与 /api/database-structure)。
- 支持 ?download=1 作为附件下载。
- API 文档页面联通
- 更新 components/data-integration/api-documentation.tsx:
- “下载OpenAPI规范”直连 /api/openapi?download=1
- “下载SDK”暂指向 /api/openapi(后续接入代码生成)
- “API测试工具”直连 /api/ingest(GET 状态)
-
变更文件:
- 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,时间全部相对“当前时间”生成)
- services/IdentityService.ts(新增:身份识别服务)
- app/api/database-structure/route.ts(重写:数据库结构 API)
- app/api/openapi/route.ts(新增:OpenAPI 规范输出)
- components/data-integration/api-documentation.tsx(更新:API 文档页面联通)
-
接口与数据:
- GET /api/users?id= 返回单体详情;GET /api/users 返回列表与分页;POST /api/users 新增一个用户(服务内内存态)。
- GET /api/database-structure 返回数据库列表;GET /api/database-structure?database 返回指定数据库结构;GET /api/database-structure?database&table 返回指定表结构。
- GET /api/openapi 返回 OpenAPI 规范;GET /api/openapi?download=1 下载 OpenAPI 规范。
-
完成度:
- 本轮任务完成度:100%
- 用户画像模块整体完成度:≈ 88%(已具备真实感数据与筛选能力,待接入真实库)
- 本迭代完成度:45%
- 预计下一步(真实数据源 + SDK 下载 + 头部统一):再提升至 75%
-
影响面
- /api/ingest:因补齐 IdentityService,现可完整跑通 IngestionService 的识别合并流程。
- 数据库结构查看器:现与 /api/database-structure 协议一致,可正常浏览模拟库结构。
-
风险与回滚
- 本次为纯新增/替换服务与路由,未改动 UI 大结构,风险低。
- 回滚:可将新增文件删除、路由还原至上个版本。
-
下一步计划
- 将 /api/users 切换到真实数据库(Neon 或现有 MySQL),并加上索引与分页游标;
- 画像页联动更多筛选项与批量导出;
- 详情页增加 AI 洞察与行动建议(AI SDK),联动 RFM;
- 对齐路由处的 loading 骨架风格,完善可用性与无障碍。
- 数据库对接(Neon/Supabase/MySQL)保留接口契约不变;
- 画像页接入上述接口的分页与高级筛选,补齐批量导出;
- 详情页接入 AI SDK 生成洞察与跟进建议(RFM联动)。
- 接入真实数据源连接器(在 Server 侧按环境变量路由;未配齐时回退模拟)[与需求池“多源接入/数据治理”方向一致]^3[^5]
- 输出 TypeScript SDK(由 OpenAPI 派生),并在文档页提供下载。
- 统一布局头部(Header/MobileHeader)挂载至 layout,抽象搜索输入的全局状态。
- 扩展 OpenAPI:覆盖 /api/users、用户画像查询等。