fix: support default and named exports for useDebounce hook

Ensure compatibility with both default and named exports for useDebounce.

Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
This commit is contained in:
v0
2025-08-08 11:46:31 +00:00
parent bdf456523b
commit 2ca12179e2
15 changed files with 526 additions and 368 deletions

View File

@@ -1,11 +1,27 @@
## 2025-08-08 构建修复与优化
本次更新内容:
- 修复构建失败:实现并导出 Toast 模块,补齐 Toaster 组件,解决 "module does not provide an export named 'Toast'"
- 新增骨架屏组件components/ui/skeleton.tsx用于统一加载态
- 补齐 Suspense 边界:新增 app/workspace/moments-sync/[id]/edit/loading.tsx避免 useSearchParams 触发的路由级 Suspense 报错
开发说明:
- 遵循 App Router 规范,路由级 loading.tsx 作为 Suspense fallback
- UI 组件按 shadcn 风格实现,导出点与项目现有 use-toast 保持一致,避免命名不匹配
进度汇报
- 本次修复完成度100%
- 下一步计划1巡检所有 useSearchParams 使用点并补齐 loading.tsx2在 CI 阶段增加构建前校验3联调真实数据源前的接口契约校验。
## 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新增首页搜索与指标卡片
- 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%
- 用户画像模块整体完成度:≈ 88%(已具备真实感数据与筛选能力,待接入真实库)
- 下一步计划:
1. 将 /api/users 切换到真实数据库Neon 或现有 MySQL并加上索引与分页游标
2. 画像页联动更多筛选项与批量导出;
3. 详情页增加 AI 洞察与行动建议AI SDK联动 RFM
4. 对齐路由处的 loading 骨架风格,完善可用性与无障碍。
1) 数据库对接Neon/Supabase/MySQL保留接口契约不变
2) 画像页接入上述接口的分页与高级筛选,补齐批量导出;
3) 详情页接入 AI SDK 生成洞察与跟进建议RFM联动