Skip to content

三层差异对比(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/indexpages/login/index✅ 对拍增强:+ 图形验证码 / 联调固定码捷径 / 协议勾选 / isNewUser→向导弹窗
pages/onboarding/indexqm-profile-setup-popup(三页向导弹窗)✅ 对拍改造:step1 资料弹窗 → 三页向导(资料/习惯含骑单车/教练建议);habits 5 题文案逐字对拍
pages/today/indexpages/index/index✅ 增强:步数/热量/中高强度三环 + 今日健康卡(myTodayHealth)+ AI 体检卡
pages/record/indexpages/detail/page-spots-list + mine/sports/sports-data✅ 拆分:运动记录列表与数据报表分页
pages/sleep/index + detailpages/detail/page-sleep-detail✅ 合并:列表+详情一体,+ 睡眠分阶段图
pages/coach/indexpages/my-plan/index(训练打卡)+ 向导 page3 建议✅ 语义演进:V1 教练建议 → V2 训练计划 + 打卡任务(enroll 自动生成)
pages/mine/indexpages/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
utils9
api 封装层文件6(agreement/device/login/splash/training/user;导出函数 27 个);仅剩首页 index.vue 内联 2 处(页面直调)
提交者4(BB小子 / 外星动物 / inkforge-deploy / changzhi777)