Files
soul-yongping/README-Phase4.md
2026-02-02 18:27:48 +08:00

4.8 KiB
Raw Blame History

Phase 4 完成总结

概述

Phase 4 成功迁移了"找伙伴"、"搜索"页面,实现了底部 TabBar 导航与安全区适配,完成了 Next.js C 端应用的全量页面迁移


完成的核心功能

1. 找伙伴页AI 智能匹配)

  • 匹配类型:创业合伙、资源对接、导师顾问、团队招募
  • 匹配逻辑
    • 每日免费 1 次
    • 购买章节获得更多次数
    • 全书用户无限匹配
  • 匹配结果:匹配度、创业理念、共同兴趣、微信号
  • 加入池功能:提交手机号加入匹配池
  • 次数展示:剩余次数、已用次数、解锁提示

2. 搜索页(章节检索)

  • 实时搜索:输入关键词实时过滤章节
  • 搜索结果:显示所属篇章、标题、免费标签
  • 跳转阅读:点击结果直接进入阅读页
  • 空态处理:无搜索词、无结果的友好提示

3. 底部 TabBar 导航

  • 4 个 Tab:首页🏠、目录📚、找伙伴👥、我的👤
  • 激活态:当前页 Tab 高亮显示(#00CED1
  • 动态显示:找伙伴 Tab 根据 matchEnabled 配置显示/隐藏
  • 安全区适配paddingBottom = env(safe-area-inset-bottom)
  • 跨端路由:小程序用 wx.switchTabWeb 用 window.location.href

4. 各页面集成底部导航

在以下 4 个 Tab 页添加了 <BottomNav /> 组件:

  • HomePage (current="/")
  • ChaptersPage (current="/chapters")
  • MatchPage (current="/match")
  • MyPage (current="/my")

文件清单

页面组件

  • src/pages/MatchPage.jsx(找伙伴)
  • src/pages/SearchPage.jsx(搜索)

入口文件

  • src/match.jsx
  • src/search.jsx

公共组件

  • src/components/BottomNav.jsx(底部导航)

配置更新

  • build/webpack.mp.config.js(新增 match、search 入口)
  • build/miniprogram.config.jsrouter.other 新增 /match、/search

完整页面映射表Phase 1-4

Next 路由 小程序页面 入口文件 状态
app/page.tsx pages/index/index src/index.jsx Phase 2
app/chapters/page.tsx pages/chapters/chapters src/chapters.jsx Phase 2
app/read/[id]/page.tsx pages/read/read src/read.jsx Phase 2
app/my/page.tsx pages/my/my src/my.jsx Phase 3
app/my/referral/page.tsx pages/referral/referral src/referral.jsx Phase 3
app/my/settings/page.tsx pages/settings/settings src/settings.jsx Phase 3
app/my/purchases/page.tsx pages/purchases/purchases src/purchases.jsx Phase 3
app/about/page.tsx pages/about/about src/about.jsx Phase 3
app/match/page.tsx pages/match/match src/match.jsx Phase 4
app/search/page.tsx pages/search/search src/search.jsx Phase 4

C 端页面 100% 迁移完成!


安全区适配

底部安全区

paddingBottom: 'env(safe-area-inset-bottom)'

确保在有底部刘海的设备(如 iPhone XTabBar 不被遮挡。

顶部安全区

小程序自动处理 statusBar无需额外适配。若使用自定义导航栏可读取 app.globalData.navBarHeight

右侧安全区(胶囊按钮)

若使用自定义导航栏,需在右侧预留 capsulePaddingRight,避免遮挡胶囊按钮。


测试与验收

  1. 构建cd newpp && npm run build:mp
  2. 合并node scripts/merge-kbone-to-miniprogram.js
  3. 测试路径
    • TabBar 切换:首页 ↔ 目录 ↔ 找伙伴 ↔ 我的
    • 找伙伴流程:选择类型 → 开始匹配 → 查看结果 → 复制微信 → 加入池
    • 搜索流程:首页 → 搜索 icon或直接访问 /search→ 输入关键词 → 点击结果 → 阅读
    • 底部导航:各 Tab 页底部导航高亮正确、点击切换正常

当前进度

  • Phase 1:搭架子(适配层、构建、首页/目录/阅读占位)
  • Phase 2核心页阅读页接口、ChapterContent、完整目录
  • Phase 3我的与子页Zustand、我的、推广、设置、购买记录、关于
  • Phase 4找伙伴与其余match、search、底部 tabBar、安全区
  • Phase 5:收尾(全量自检、样式对齐、发布流程)

下一步

进入 Phase 5 收尾阶段:

  1. 全量自检对照「Web转小程序并上传-提示词」逐项检查
  2. 样式对齐:确保颜色、间距、圆角、阴影与 Web 一致
  3. 踩坑修复
    • WXML 不能调用 JS 方法
    • 启动不阻塞async onLaunch
    • safe-area 边界处理
    • TabBar 默认隐藏项逻辑
  4. 发布流程:预览码 → 体验版 → 提审 → 发布

Phase 1-4 已完成 C 端全量迁移,所有核心功能已就位!