4.8 KiB
4.8 KiB
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.switchTab,Web 用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.jsxsrc/search.jsx
公共组件:
src/components/BottomNav.jsx(底部导航)
配置更新:
build/webpack.mp.config.js(新增 match、search 入口)build/miniprogram.config.js(router.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 X)上,TabBar 不被遮挡。
顶部安全区
小程序自动处理 statusBar,无需额外适配。若使用自定义导航栏,可读取 app.globalData.navBarHeight。
右侧安全区(胶囊按钮)
若使用自定义导航栏,需在右侧预留 capsulePaddingRight,避免遮挡胶囊按钮。
测试与验收
- 构建:
cd newpp && npm run build:mp - 合并:
node scripts/merge-kbone-to-miniprogram.js - 测试路径:
- TabBar 切换:首页 ↔ 目录 ↔ 找伙伴 ↔ 我的
- 找伙伴流程:选择类型 → 开始匹配 → 查看结果 → 复制微信 → 加入池
- 搜索流程:首页 → 搜索 icon(或直接访问 /search)→ 输入关键词 → 点击结果 → 阅读
- 底部导航:各 Tab 页底部导航高亮正确、点击切换正常
当前进度
- ✅ Phase 1:搭架子(适配层、构建、首页/目录/阅读占位)
- ✅ Phase 2:核心页(阅读页接口、ChapterContent、完整目录)
- ✅ Phase 3:我的与子页(Zustand、我的、推广、设置、购买记录、关于)
- ✅ Phase 4:找伙伴与其余(match、search、底部 tabBar、安全区)
- ⏳ Phase 5:收尾(全量自检、样式对齐、发布流程)
下一步
进入 Phase 5 收尾阶段:
- 全量自检:对照「Web转小程序并上传-提示词」逐项检查
- 样式对齐:确保颜色、间距、圆角、阴影与 Web 一致
- 踩坑修复:
- WXML 不能调用 JS 方法
- 启动不阻塞(async onLaunch)
- safe-area 边界处理
- TabBar 默认隐藏项逻辑
- 发布流程:预览码 → 体验版 → 提审 → 发布
Phase 1-4 已完成 C 端全量迁移,所有核心功能已就位!