2026-07-19-report-upload-purchase-links.md 2.5 KB

报告上传页购买链接 实施计划

For agentic workers: Use subagent-driven-development or executing-plans to implement this plan task-by-task.

Goal: 在报告上传页面(健康报告 + DAN 测评)的类型选择区下方添加同类检测服务购买推荐

Architecture: 前端调用已有 POST /api/product/list API(支持 domain + productType 过滤),展示匹配维度的测评商品卡片。无需后端改动。

Tech Stack: uni-app Vue 2 (Options API), 微信小程序

Global Constraints

  • 禁止可选链 ?.(用 && 替代)
  • 禁止 CSS Grid(用 flexbox)
  • Vue 2 Options API
  • 调用 POST /api/product/list 传入 { domain, productType: 'assessment', size: 4 }
  • 报告类型→domain 映射: physical_exam/gut_flora/tongue → body, mind → mind, wisdom → wisdom
  • 商品卡片点击跳转 /pages/discover/product-detail/product-detail?id={id}

Task 1: health/report-upload.vue 添加购买推荐

Files:

  • Modify: cfc-frontend/pages/health/report-upload.vue

Interfaces:

  • Consumes: productList from ../../utils/api.js
  • Produces: 类型选择器下方出现 "为家人购买检测服务" 推荐区

  • [x] Step 1: 在 import 中添加 productList

  • [x] Step 2: 在 data() 中添加推荐商品状态

  • [x] Step 3: 添加报告类型→domain 映射常量

  • [x] Step 4: 添加 loadRecommendProducts 方法

  • [x] Step 5: 在 selectType 中触发推荐加载

  • [x] Step 6: 在 onLoad 中加载初始推荐

  • [x] Step 7: 在模板中添加推荐商品卡片区

  • [x] Step 8: 添加 goToProduct 方法和 formatPriceWithSymbol

  • [x] Step 9: 添加推荐区样式

  • [x] Step 10: 验证无语法错误

Task 2: dan-assessment/report-upload.vue 添加购买推荐

Files:

  • Modify: cfc-frontend/pages/dan-assessment/report-upload.vue

Interfaces:

  • Consumes: productList from ../../utils/api.js
  • Produces: 维度选择器下方出现 "为家人购买检测服务" 推荐区

  • [ ] Step 1: 在 import 中添加 productList

  • [ ] Step 2: 在 data() 中添加推荐商品状态

  • [ ] Step 3: 添加 REPORT_DOMAIN_MAP 常量和 loadRecommendProducts

  • [ ] Step 4: 在 dimension 选择时触发推荐

  • [ ] Step 5: 在 onLoad 中加载初始推荐

  • [ ] Step 6: 在 Step 1 的模板中插入推荐卡片区

  • [ ] Step 7: 添加 goToProduct 方法和 formatPriceWithSymbol

  • [ ] Step 8: 添加推荐区样式

  • [ ] Step 9: 验证无语法错误