健康指标计算 API

根据性别、年龄、身高、体重估算基础代谢(BMR)、每日总消耗(TDEE)、理想体重、体脂率与心率区间(仅供参考)

数据来源:本地计算(Mifflin-St Jeor、Deurenberg、美国海军围度法、Devine、Tanaka 公式)

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

基础代谢、每日热量、理想体重、体脂率估算

GET /api/health/calc

请求参数

  • gender(必填):性别:male / female(也可用 男 / 女),示例 male
  • age(必填):年龄(周岁,18~100,公式适用于成人),示例 30
  • height(必填):身高(厘米,100~250),示例 175
  • weight(必填):体重(公斤,30~300),示例 70
  • activity:活动水平:sedentary 久坐 1.2、light 轻度 1.375、moderate 中度 1.55、active 高度 1.725、very 极高 1.9,示例 moderate
  • waist:腰围(厘米,肚脐水平),与 neck 一起传入时用海军围度法估算体脂,示例 82
  • neck:颈围(厘米,喉结下方),示例 38
  • hip:臀围(厘米,最宽处),女性用海军法时必填,示例 95

返回字段

  • gender(string):性别:male 或 female
  • age(number):年龄(周岁)
  • height(number):身高(厘米)
  • weight(number):体重(公斤)
  • activity(object):活动水平
  • activity.level(string):活动水平代号:sedentary、light、moderate、active、very
  • activity.factor(number):TDEE 活动系数
  • activity.name(string):活动水平中文说明
  • bmi(object):BMI 摘要(详细分级与建议请用 /api/bmi)
  • bmi.value(number):BMI,保留 1 位小数
  • bmi.level(string):中国成人标准分级:偏瘦、正常、超重、肥胖
  • bmi.see(string):详细 BMI 接口路径(/api/bmi)
  • bmr(number):基础代谢率(千卡/天,Mifflin-St Jeor 公式):静卧不动一天消耗的热量
  • tdee(number):每日总能量消耗(千卡/天)= BMR × 活动系数
  • calories(object):每日摄入热量参考(千卡/天)
  • calories.maintain(number):维持体重 ≈ TDEE
  • calories.mildLoss(number):温和减重(约每周 0.25 公斤)= TDEE − 250
  • calories.loss(number):减重(约每周 0.5 公斤)= TDEE − 500
  • calories.gain(number):增重/增肌 = TDEE + 300
  • calories.minimum(number):无医生指导时不建议低于的每日摄入(男 1500、女 1200)
  • idealWeight(object):理想体重(公斤,不同公式结果不同,仅作参考区间)
  • idealWeight.devine(number):Devine 公式:男 50 + 2.3 ×(身高英寸 − 60),女 45.5 + 2.3 ×(身高英寸 − 60);身高低于 152cm 时偏低
  • idealWeight.broca(number):国内常用标准体重:男(身高 − 100)× 0.9,女再减 2.5
  • idealWeight.bmiMin(number):按中国标准 BMI 18.5 换算的健康体重下限
  • idealWeight.bmiMax(number):按中国标准 BMI 23.9 换算的健康体重上限
  • bodyFat(object):体脂率估算(百分数,误差可达 ±4% 以上)
  • bodyFat.bmiMethod(number):Deurenberg BMI 法:1.2 × BMI + 0.23 × 年龄 − 10.8 × 性别(男 1 女 0)− 5.4;肌肉量大的人会高估
  • bodyFat.bmiMethodLevel(string):bmiMethod 的分级(ACE 标准):必需脂肪、运动员、健康、一般、偏高
  • bodyFat.navy(number|null):美国海军围度法体脂率;未传 waist、neck(女性还需 hip)或围度不合理时为 null
  • bodyFat.navyLevel(string|null):navy 的分级(ACE 标准);navy 为 null 时为 null