---
url: /docs/guide/uniapp/comparison.md
---
# 三层差异对比（CNB 前端仓库 → V1 → V2）

> 更新：2026-09-20（api 层计数按实查修正）· 数据来源：本地仓库实查 + `_meta.json`（脚本生成）

## 层 1：qm-frontend 仓库两代形态（main ↔ api 分支）

| 维度 | main（一代 · HBuilderX 形态） | api（二代 · CLI 形态，当前生产） |
|---|---|---|
| 工程根 | manifest.json / pages.json / pages/ 平铺在仓库根 | `src/` 包裹 + package.json + vite.config.ts |
| 编译方式 | HBuilderX（Mac 未装 → 不可编译） | `npm run build:app`（CLI，可 CI） |
| 页面规模 | V1 移植初始集（少量页） | 34 注册页 + 20 组件（持续演进） |
| 落地状态 | 历史快照，**不再演进** | 唯一活跃分支（v18 真机基线） |

**结论**：api 分支是唯一事实源；main 仅作历史参考，禁止在其上开发。

## 层 2：V1 小程序 ↔ V2 uniapp 功能映射

V1 权威：`QM-APP/apps/miniprogram`（原生工程，8 主包页）。V1 交付物同时含 TS 逻辑层与文案基准（habits 5 题逐字、goal 方案结构）。

| V1 页面 | V2 对应 | 差异标注 |
|---|---|---|
| pages/login/index | pages/login/index | ✅ 对拍增强：+ 图形验证码 / 联调固定码捷径 / 协议勾选 / isNewUser→向导弹窗 |
| pages/onboarding/index | qm-profile-setup-popup（三页向导弹窗） | ✅ 对拍改造：step1 资料弹窗 → 三页向导（资料/习惯含骑单车/教练建议）；habits 5 题文案逐字对拍 |
| pages/today/index | pages/index/index | ✅ 增强：步数/热量/中高强度三环 + 今日健康卡（myTodayHealth）+ AI 体检卡 |
| pages/record/index | pages/detail/page-spots-list + mine/sports/sports-data | ✅ 拆分：运动记录列表与数据报表分页 |
| pages/sleep/index + detail | pages/detail/page-sleep-detail | ✅ 合并：列表+详情一体，+ 睡眠分阶段图 |
| pages/coach/index | pages/my-plan/index（训练打卡）+ 向导 page3 建议 | ✅ 语义演进：V1 教练建议 → V2 训练计划 + 打卡任务（enroll 自动生成） |
| pages/mine/index | pages/mine/index | ✅ 增强：+ 我的档案/账号安全/设备管理/版本/反馈组 |
| —（V1 无） | pages/ai/index、pages/run/\*（GPS 跑步 ×5）、pages/detail/×12、pages/agreement、pages/form/add\_weight | 🆕 V2 新增（跑步 GPS 域 / 详情图表域 / 协议体系 / 体重记录） |

**契约级差异**（引用既有迁移五卡，不在此复述）：camelCase 契约、isNewUser 仅注册当次、40101012/14 强登出、action 协议 POST + 混合 REST。详见 `docs/internal-wiki/migration/`。

## 层 3：CNB 远端 ↔ 本地工作区同步核查

核查方法（可重跑）：

```bash
cd <qm-frontend工作区> && git fetch origin && git status -sb && git rev-parse HEAD origin/api
```

最近一次核查：2026-09-18 — api-fix worktree HEAD = origin/api = `21ca5c3`（三 bug 清理），**同步无漂移**。真机基线 v18 与该提交对应。

## 统计快照（脚本生成）

| 类别 | 数量 |
|---|---|
| 注册页面 | 34（.vue ×32 + .nvue ×2） |
| 全局组件 | 20 |
| utils | 9 |
| api 封装层文件 | **6**（agreement/device/login/splash/training/user；导出函数 **27** 个）；**仅剩首页 `index.vue` 内联 2 处**（页面直调） |
| 提交者 | 4（BB小子 / 外星动物 / inkforge-deploy / changzhi777） |
