You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

standard.js 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591
  1. //height传入单位为cm weight单位为kg sex=1为男性 else 为女性
  2. module.exports = {
  3. getWeightDisplay,
  4. getBMIDisplay,
  5. getFatRateDisplay,
  6. getMuscleDisplay,
  7. getMoistureDisplay,
  8. getBonemassDisplay,
  9. getBMRDisplay,
  10. getVisceralfatDisplay,
  11. getSubcutaneousFatDisplay,
  12. getProteinRateDisplay,
  13. getPhysicalAgeDisplay,
  14. getFatWeightDisplay,
  15. getMuscleMassDisplay,
  16. getProteinDisplay,
  17. getFatLevel,
  18. getBodyLevel,
  19. getWeightScore,
  20. };
  21. // 体重 标准判断
  22. function getWeightDisplay(height, weight) {
  23. var i = Math.pow(height / 100, 2);
  24. var a1 = 18.5 * i;
  25. var a2 = 25 * i;
  26. var a3 = 30 * i;
  27. var string1 = a1.toFixed(1);
  28. var string2 = a2.toFixed(1);
  29. var string3 = a3.toFixed(1);
  30. if (weight == "-.-") {
  31. return {
  32. standard: "-.-",
  33. text: "",
  34. };
  35. } else if (weight < string1) {
  36. return {
  37. standard: "偏瘦",
  38. text: `基于目前的身体状况,您的标准体重范围为${string1}~${string2}kg,保持理想体重有助于身体各机能持续健康运转,维持最佳代谢状态。体重偏瘦或许已经危害到你的健康,建议您保持良好睡眠,适当食用含高卡路里食物,保持良好的饮食习惯。`,
  39. };
  40. } else if (weight >= string1 && weight < string2) {
  41. return {
  42. standard: "标准",
  43. text: `当前体重为${weight}kg,处于标准体重范围,状态良好,保持良好的饮食习惯和适当的运动,追求完美身材吧。`,
  44. };
  45. } else if (weight >= string2 && weight < string3) {
  46. return {
  47. standard: "偏胖",
  48. text: `当前体重为${weight}kg,体重处于不健康区间!请减少高油高热量食物摄入,加强身体锻炼,努力恢复健康体重和好身材。`,
  49. };
  50. } else if (weight >= string3) {
  51. return {
  52. standard: "肥胖",
  53. text: `当前体重为${weight}kg,远高于标准体重,过度肥胖不仅形体臃肿,更是各种慢性疾病的主要导火线,请减少高脂肪、高热量食物的摄入,制定健身计划,加强锻炼,努力恢复健康体重和好身材。`,
  54. };
  55. }
  56. return {};
  57. }
  58. //BMI标准
  59. function getBMIDisplay(BMI) {
  60. var standard = "";
  61. if (BMI < 18.5 && BMI > 0) {
  62. standard = "偏瘦";
  63. } else if (18.5 <= BMI && BMI < 25) {
  64. standard = "标准";
  65. } else if (25 <= BMI && BMI < 30) {
  66. standard = "偏胖";
  67. } else if (BMI >= 30) {
  68. standard = "肥胖";
  69. }
  70. return {
  71. standard: standard,
  72. text: `BMI(即身体质量指数,简称体质指数,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。根据您目前的身高体重远高于标准值,我们建议您采用科学的减肥方式,适当减轻体重,避免因肥胖导致的健康问题。`,
  73. };
  74. }
  75. //体脂率标准 fatRate为体脂率
  76. function getFatRateDisplay(fatRate, sex, age) {
  77. if (age >= 30) {
  78. if (sex == 1) {
  79. if (fatRate < 11) {
  80. return {
  81. standard: "偏低",
  82. text: `您的体脂率为${fatRate}%,体脂肪水平偏低,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,建议均衡搭配饮食,适当增加卡路里摄入量。`,
  83. };
  84. } else if (fatRate >= 11 && fatRate < 22) {
  85. return {
  86. standard: "标准",
  87. text: `您的体脂率为${fatRate}%,体脂肪水平标准。保持健康规律作息,注意保持摄入足够水分,增加代谢,有利于保持健康标准体脂率。 `,
  88. };
  89. } else if (fatRate >= 22 && fatRate < 27) {
  90. return {
  91. standard: "偏高",
  92. text: `您的体脂率为${fatRate}%,体脂肪水平偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  93. };
  94. } else if (fatRate >= 27) {
  95. return {
  96. standard: "高",
  97. text: `您的体脂率为${fatRate}%,体脂肪水平严重偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  98. };
  99. }
  100. } else {
  101. if (fatRate < 21) {
  102. return {
  103. standard: "偏低",
  104. text: `您的体脂率为${fatRate}%,体脂肪水平偏低,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,建议均衡搭配饮食,适当增加卡路里摄入量。`,
  105. };
  106. } else if (fatRate >= 21 && fatRate < 32) {
  107. return {
  108. standard: "标准",
  109. text: `您的体脂率为${fatRate}%,体脂肪水平标准。保持健康规律作息,注意保持摄入足够水分,增加代谢,有利于保持健康标准体脂率。 `,
  110. };
  111. } else if (fatRate >= 32 && fatRate < 39) {
  112. return {
  113. standard: "偏高",
  114. text: `您的体脂率为${fatRate}%,体脂肪水平偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  115. };
  116. } else if (fatRate >= 39) {
  117. return {
  118. standard: "高",
  119. text: `您的体脂率为${fatRate}%,体脂肪水平严重偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  120. };
  121. }
  122. }
  123. } else if (0 < age && age < 30) {
  124. if (sex == 1) {
  125. if (fatRate < 10) {
  126. return {
  127. standard: "偏低",
  128. text: `您的体脂率为${fatRate}%,体脂肪水平偏低,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,建议均衡搭配饮食,适当增加卡路里摄入量。`,
  129. };
  130. } else if (fatRate >= 10 && fatRate < 21) {
  131. return {
  132. standard: "标准",
  133. text: `您的体脂率为${fatRate}%,体脂肪水平标准。保持健康规律作息,注意保持摄入足够水分,增加代谢,有利于保持健康标准体脂率。 `,
  134. };
  135. } else if (fatRate >= 21 && fatRate < 26) {
  136. return {
  137. standard: "偏高",
  138. text: `您的体脂率为${fatRate}%,体脂肪水平偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  139. };
  140. } else if (fatRate >= 26) {
  141. return {
  142. standard: "高",
  143. text: `您的体脂率为${fatRate}%,体脂肪水平严重偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  144. };
  145. }
  146. } else {
  147. if (fatRate < 20) {
  148. return {
  149. standard: "偏低",
  150. text: `您的体脂率为${fatRate}%,体脂肪水平偏低,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,建议均衡搭配饮食,适当增加卡路里摄入量。`,
  151. };
  152. } else if (fatRate >= 20 && fatRate < 31) {
  153. return {
  154. standard: "标准",
  155. text: `您的体脂率为${fatRate}%,体脂肪水平标准。保持健康规律作息,注意保持摄入足够水分,增加代谢,有利于保持健康标准体脂率。 `,
  156. };
  157. } else if (fatRate >= 31 && fatRate < 38) {
  158. return {
  159. standard: "偏高",
  160. text: `您的体脂率为${fatRate}%,体脂肪水平偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  161. };
  162. } else if (fatRate >= 38) {
  163. return {
  164. standard: "高",
  165. text: `您的体脂率为${fatRate}%,体脂肪水平严重偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动。`,
  166. };
  167. }
  168. }
  169. }
  170. }
  171. //肌肉率标准 muscle为肌肉率 muscleWeight为肌肉量
  172. function getMuscleDisplay(muscle, sex, muscleWeight) {
  173. if (sex == 1) {
  174. if (muscle < 40) {
  175. return {
  176. standard: "不足",
  177. text: `你当前的肌肉率为${muscle}%,肌肉含量为${muscleWeight}kg,体内的肌肉含量不足。增加肌肉量能让您更快的消耗热量,以最健康的方式减掉多余脂肪。合理的饮食,适量的运动,能够增加肌肉含量。`,
  178. };
  179. } else if (40 <= muscle && muscle < 60) {
  180. return {
  181. standard: "标准",
  182. text: `你当前的肌肉率为${muscle}%,肌肉含量为${muscleWeight}kg,体内的肌肉含量标准,身体匀称健康,请您保持锻炼。`,
  183. };
  184. } else if (60 <= muscle) {
  185. return {
  186. standard: "优",
  187. text: `你当前的肌肉率为${muscle}%,肌肉含量为${muscleWeight}kg,体内肌肉结量比较充足,请继续保持适当的运动量和合理的饮食。`,
  188. };
  189. }
  190. } else {
  191. if (muscle < 30) {
  192. return {
  193. standard: "不足",
  194. text: `你当前的肌肉率为${muscle}%,肌肉含量为${muscleWeight}kg,体内的肌肉含量不足。增加肌肉量能让您更快的消耗热量,以最健康的方式减掉多余脂肪。合理的饮食,适量的运动,能够增加肌肉含量。`,
  195. };
  196. } else if (30 <= muscle && muscle < 50) {
  197. return {
  198. standard: "标准",
  199. text: `你当前的肌肉率为${muscle}%,肌肉含量为${muscleWeight}kg,体内的肌肉含量标准,身体匀称健康,请您保持锻炼。`,
  200. };
  201. } else if (50 <= muscle) {
  202. return {
  203. standard: "优",
  204. text: `你当前的肌肉率为${muscle}%,肌肉含量为${muscleWeight}kg,体内肌肉结量比较充足,请继续保持适当的运动量和合理的饮食。`,
  205. };
  206. }
  207. }
  208. }
  209. //水分标准 moisture为水分
  210. function getMoistureDisplay(moisture, sex) {
  211. if (sex == 1) {
  212. if (moisture < 55) {
  213. return {
  214. standard: "不足",
  215. text: `您当前的身体水分含量为${moisture}%,水分处于偏低水平。身体里充足的水分能帮助您更好的消化食物和吸收养分,并促进代谢,带走身体毒素。建议您保持规律的饮食,每天八杯水,这样就可以维持正常的身体水分平衡。`,
  216. };
  217. } else if (55 <= moisture && moisture < 65) {
  218. return {
  219. standard: "标准",
  220. text: `您当前的身体水分含量为${moisture}%,水分处于标准区间,请继续保持健康的饮食习惯。`,
  221. };
  222. } else if (50 <= moisture) {
  223. return {
  224. standard: "优",
  225. text: `您当前的身体水分含量为${moisture}%,水分处于优良状态。适量饮水,适当运动,继续保持健康的饮食习惯,有助于保持良好的身体状态哦。`,
  226. };
  227. }
  228. } else {
  229. if (moisture < 45) {
  230. return {
  231. standard: "不足",
  232. text: `您当前的身体水分含量为${moisture}%,水分处于偏低水平。身体里充足的水分能帮助您更好的消化食物和吸收养分,并促进代谢,带走身体毒素。建议您保持规律的饮食,每天八杯水,这样就可以维持正常的身体水分平衡。`,
  233. };
  234. } else if (45 <= moisture && moisture < 60) {
  235. return {
  236. standard: "标准",
  237. text: `您当前的身体水分含量为${moisture}%,水分处于标准区间,请继续保持健康的饮食习惯。`,
  238. };
  239. } else if (60 <= moisture) {
  240. return {
  241. standard: "优",
  242. text: `您当前的身体水分含量为${moisture}%,水分处于优良状态。适量饮水,适当运动,继续保持健康的饮食习惯,有助于保持良好的身体状态哦。`,
  243. };
  244. }
  245. }
  246. }
  247. //骨重标准 bonemass为骨重
  248. function getBonemassDisplay(bonemass, sex, weight) {
  249. if (sex == 1) {
  250. if (weight < 60) {
  251. if (bonemass < 2.4) {
  252. return {
  253. standard: "不足",
  254. text: `您的骨量水平偏低,建议补充含钙丰富的食品,均衡饮食,进行适量运动,有助于钙质的吸收。`,
  255. };
  256. } else if (2.4 <= bonemass && bonemass <= 2.6) {
  257. return {
  258. standard: "标准",
  259. text: `您的骨量水平标准,骨量在短期内不会出现明显变化,您只要保证健康的饮食和适当的锻炼,就可以维持稳定的骨量水平。`,
  260. };
  261. } else if (2.6 < bonemass) {
  262. return {
  263. standard: "优",
  264. text: `您的骨量水平高于标准水平,这说明您的生活习惯比较健康,营养摄入均衡。继续保持良好的生活习惯,有助于保持良好的骨量水平。`,
  265. };
  266. }
  267. } else if (60 <= weight && weight < 75) {
  268. if (bonemass < 2.8) {
  269. return {
  270. standard: "不足",
  271. text: `您的骨量水平偏低,建议补充含钙丰富的食品,均衡饮食,进行适量运动,有助于钙质的吸收。`,
  272. };
  273. } else if (2.8 <= bonemass && bonemass <= 3.0) {
  274. return {
  275. standard: "标准",
  276. text: `您的骨量水平标准,骨量在短期内不会出现明显变化,您只要保证健康的饮食和适当的锻炼,就可以维持稳定的骨量水平。`,
  277. };
  278. } else if (3.0 < bonemass) {
  279. return {
  280. standard: "优",
  281. text: `您的骨量水平高于标准水平,这说明您的生活习惯比较健康,营养摄入均衡。继续保持良好的生活习惯,有助于保持良好的骨量水平。`,
  282. };
  283. }
  284. } else if (75 <= weight) {
  285. if (bonemass < 3.1) {
  286. return {
  287. standard: "不足",
  288. text: `您的骨量水平偏低,建议补充含钙丰富的食品,均衡饮食,进行适量运动,有助于钙质的吸收。`,
  289. };
  290. } else if (3.1 <= bonemass && bonemass <= 3.3) {
  291. return {
  292. standard: "标准",
  293. text: `您的骨量水平标准,骨量在短期内不会出现明显变化,您只要保证健康的饮食和适当的锻炼,就可以维持稳定的骨量水平。`,
  294. };
  295. } else if (3.3 < bonemass) {
  296. return {
  297. standard: "优",
  298. text: `您的骨量水平高于标准水平,这说明您的生活习惯比较健康,营养摄入均衡。继续保持良好的生活习惯,有助于保持良好的骨量水平。`,
  299. };
  300. }
  301. }
  302. } else {
  303. if (weight < 45) {
  304. if (bonemass < 1.7) {
  305. return {
  306. standard: "不足",
  307. text: `您的骨量水平偏低,建议补充含钙丰富的食品,均衡饮食,进行适量运动,有助于钙质的吸收。`,
  308. };
  309. } else if (1.7 <= bonemass && bonemass <= 1.9) {
  310. return {
  311. standard: "标准",
  312. text: `您的骨量水平标准,骨量在短期内不会出现明显变化,您只要保证健康的饮食和适当的锻炼,就可以维持稳定的骨量水平。`,
  313. };
  314. } else if (1.9 < bonemass) {
  315. return {
  316. standard: "优",
  317. text: `您的骨量水平高于标准水平,这说明您的生活习惯比较健康,营养摄入均衡。继续保持良好的生活习惯,有助于保持良好的骨量水平。`,
  318. };
  319. }
  320. } else if (45 <= weight && weight < 60) {
  321. if (bonemass < 2.1) {
  322. return {
  323. standard: "不足",
  324. text: `您的骨量水平偏低,建议补充含钙丰富的食品,均衡饮食,进行适量运动,有助于钙质的吸收。`,
  325. };
  326. } else if (2.1 <= bonemass && bonemass <= 2.3) {
  327. return {
  328. standard: "标准",
  329. text: `您的骨量水平标准,骨量在短期内不会出现明显变化,您只要保证健康的饮食和适当的锻炼,就可以维持稳定的骨量水平。`,
  330. };
  331. } else if (2.3 < bonemass) {
  332. return {
  333. standard: "优",
  334. text: `您的骨量水平高于标准水平,这说明您的生活习惯比较健康,营养摄入均衡。继续保持良好的生活习惯,有助于保持良好的骨量水平。`,
  335. };
  336. }
  337. } else if (60 <= weight) {
  338. if (bonemass < 2.4) {
  339. return {
  340. standard: "不足",
  341. text: `您的骨量水平偏低,建议补充含钙丰富的食品,均衡饮食,进行适量运动,有助于钙质的吸收。`,
  342. };
  343. } else if (2.4 <= bonemass && bonemass <= 2.6) {
  344. return {
  345. standard: "标准",
  346. text: `您的骨量水平标准,骨量在短期内不会出现明显变化,您只要保证健康的饮食和适当的锻炼,就可以维持稳定的骨量水平。`,
  347. };
  348. } else if (2.6 < bonemass) {
  349. return {
  350. standard: "优",
  351. text: `您的骨量水平高于标准水平,这说明您的生活习惯比较健康,营养摄入均衡。继续保持良好的生活习惯,有助于保持良好的骨量水平。`,
  352. };
  353. }
  354. }
  355. }
  356. }
  357. //基础代谢率标准
  358. function getBMRDisplay(BMR, age, weight, sex) {
  359. var standard = 0;
  360. if (sex == 1) {
  361. if (0 < age && age < 3) {
  362. standard = 60.9 * weight - 54;
  363. } else if (3 <= age && age < 10) {
  364. standard = 22.7 * weight + 495;
  365. } else if (10 <= age && age < 18) {
  366. standard = 17.5 * weight + 651;
  367. } else if (18 <= age && age < 30) {
  368. standard = 15.3 * weight + 679;
  369. } else if (30 <= age) {
  370. standard = 11.6 * weight + 879;
  371. }
  372. } else {
  373. if (0 < age && age < 3) {
  374. standard = 61.0 * weight - 51;
  375. } else if (3 <= age && age < 10) {
  376. standard = 22.5 * weight + 499;
  377. } else if (10 <= age && age < 18) {
  378. standard = 12.2 * weight + 746;
  379. } else if (18 <= age && age < 30) {
  380. standard = 14.7 * weight + 496;
  381. } else if (30 <= age) {
  382. standard = 8.7 * weight + 820;
  383. }
  384. }
  385. if (BMR < standard) {
  386. return {
  387. standard: "偏低",
  388. text: `基于您的基础代谢水平,推荐您每日的摄入热量为${standard}kcal.您的基础代谢率为${BMR}kcal,低于标准区间。均衡合理的热量摄入,适量运动能帮助您健康减脂,达到理想身材。 `,
  389. };
  390. } else {
  391. return {
  392. standard: "优",
  393. text: `您的基础代谢率为${BMR}kcal,目前已达标。每天进行一些低强度的运动,合理的热量摄入有助您增加肌肉。`,
  394. };
  395. }
  396. }
  397. //内脏脂肪指数标准
  398. function getVisceralfatDisplay(visceralfat) {
  399. if (visceralfat < 9) {
  400. return {
  401. standard: "标准",
  402. text: `内脏脂肪指数反映人体内内脏脂肪堆积的程度。保持标准的内脏脂肪指数,可以大幅降低心脏病、高血压、高血脂和2型糖尿病的发病风险。您的内脏脂肪水平正常,请继续保持健康饮食和适当运动。`,
  403. };
  404. } else if (9 <= visceralfat && visceralfat < 14) {
  405. return {
  406. standard: "警惕",
  407. text: `您的内脏脂肪处于偏高范围内,内脏脂肪指数偏高,将增加心脏病、高血压、高血脂和2型糖尿病的发病风险。健康您控制饮食,减少糖分高、脂肪高、油炸等食物摄入,多吃谷类、蔬菜、水果等富含维生素、蛋白的蔬菜水果,同时多做运动。`,
  408. };
  409. } else if (14 <= visceralfat) {
  410. return {
  411. standard: "危险",
  412. text: `您的内脏脂肪水平严重偏高,内脏脂肪指数偏高,将增加心脏病、高血压、高血脂和2型糖尿病的发病风险。健康您控制饮食,减少糖分高、脂肪高、油炸等食物摄入,多吃谷类、蔬菜、水果等富含维生素、蛋白的蔬菜水果,同时多做运动。`,
  413. };
  414. }
  415. }
  416. //皮下脂肪标准
  417. function getSubcutaneousFatDisplay(proteinRate, sex) {
  418. if (sex == 1) {
  419. if (proteinRate < 7) {
  420. return {
  421. standard: "不足",
  422. text: `皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织。皮下脂肪主要的作用有 绝热和贮存 。皮下脂肪是人体储存‘余粮’的主要场所。您目前处于正常水平以下,不足的皮下脂肪可能会出现身体偏瘦,皮肤缺乏光泽或有全身痛,没力气等现象,建议你平时注意饮食加强营养,避免劳累情绪激动,适当运动锻炼,避免受风寒着凉。`,
  423. };
  424. } else if (7 <= proteinRate && proteinRate < 15) {
  425. return {
  426. standard: "标准",
  427. text: `皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织。皮下脂肪主要的作用有 绝热和贮存 您的皮下脂肪处于正常水平。坚持合理的饮食,良好的生活习惯,适量运动,就可以使身材和健康状态都保持在良好的范围内。`,
  428. };
  429. } else if (15 <= proteinRate) {
  430. return {
  431. standard: "偏高",
  432. text: `您的皮下脂肪高于正常水平。高糖分高脂肪饮食、久坐少动、遗传因素等都是引起皮下脂肪偏高的原因。建议注意均衡饮食,保持良好的生活习惯,控制热量摄入,进行适当运动。`,
  433. };
  434. }
  435. } else {
  436. if (proteinRate < 11) {
  437. return {
  438. standard: "不足",
  439. text: `皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织。皮下脂肪主要的作用有 绝热和贮存 。皮下脂肪是人体储存‘余粮’的主要场所。您目前处于正常水平以下,不足的皮下脂肪可能会出现身体偏瘦,皮肤缺乏光泽或有全身痛,没力气等现象,建议你平时注意饮食加强营养,避免劳累情绪激动,适当运动锻炼,避免受风寒着凉。`,
  440. };
  441. } else if (11 <= proteinRate && proteinRate < 17) {
  442. return {
  443. standard: "标准",
  444. text: `皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织。皮下脂肪主要的作用有 绝热和贮存 您的皮下脂肪处于正常水平。坚持合理的饮食,良好的生活习惯,适量运动,就可以使身材和健康状态都保持在良好的范围内。`,
  445. };
  446. } else if (17 <= proteinRate) {
  447. return {
  448. standard: "偏高",
  449. text: `您的皮下脂肪高于正常水平。高糖分高脂肪饮食、久坐少动、遗传因素等都是引起皮下脂肪偏高的原因。建议注意均衡饮食,保持良好的生活习惯,控制热量摄入,进行适当运动。`,
  450. };
  451. }
  452. }
  453. }
  454. //蛋白率
  455. function getProteinRateDisplay(proteinRate, sex) {
  456. if (sex == 1) {
  457. if (proteinRate < 16) {
  458. return {
  459. standard: "不足",
  460. text: `您的蛋白水平偏低。缺乏蛋白质会引起免疫力下降、肌肉无力和贫血。建议你保持健康饮食,不过分节食,补充足够的营养。`,
  461. };
  462. } else if (16 <= proteinRate && proteinRate <= 18) {
  463. return {
  464. standard: "标准",
  465. text: `您的蛋白水平比例充足,请继续保持,同时也要防止过度摄入,蛋白质过度摄入也会在体内转化成脂肪,造成脂肪堆积。`,
  466. };
  467. } else if (18 < proteinRate) {
  468. return {
  469. standard: "优",
  470. text: `您的蛋白水平优于标准水平,继续保持良好的作息、均衡的饮食,更有助于蛋白质的吸收。`,
  471. };
  472. }
  473. } else {
  474. if (proteinRate < 14) {
  475. return {
  476. standard: "不足",
  477. text: `您的蛋白水平偏低。缺乏蛋白质会引起免疫力下降、肌肉无力和贫血。建议你保持健康饮食,不过分节食,补充足够的营养。`,
  478. };
  479. } else if (14 <= proteinRate && proteinRate <= 16) {
  480. return {
  481. standard: "标准",
  482. text: `您的蛋白水平比例充足,请继续保持,同时也要防止过度摄入,蛋白质过度摄入也会在体内转化成脂肪,造成脂肪堆积。`,
  483. };
  484. } else if (16 < proteinRate) {
  485. return {
  486. standard: "优",
  487. text: `您的蛋白水平优于标准水平,继续保持良好的作息、均衡的饮食,更有助于蛋白质的吸收。`,
  488. };
  489. }
  490. }
  491. }
  492. //身体年龄
  493. function getPhysicalAgeDisplay(physicalAge, age) {
  494. if (physicalAge > age) {
  495. return {
  496. standard: "偏大",
  497. text: `身体年龄是以基础代谢为基础,综合体重、身高、脂肪、肌肉等数值,换算所得出的数值。所以身体年龄是一个高于或低于实际年龄的综合判断标准。仅供参考。`,
  498. };
  499. } else if (physicalAge == age) {
  500. return {
  501. standard: "标准",
  502. text: `身体年龄是以基础代谢为基础,综合体重、身高、脂肪、肌肉等数值,换算所得出的数值。所以身体年龄是一个高于或低于实际年龄的综合判断标准。仅供参考。`,
  503. };
  504. } else if (physicalAge < age) {
  505. return {
  506. standard: "优",
  507. text: `身体年龄是以基础代谢为基础,综合体重、身高、脂肪、肌肉等数值,换算所得出的数值。所以身体年龄是一个高于或低于实际年龄的综合判断标准。仅供参考。`,
  508. };
  509. }
  510. }
  511. //脂肪量标准 同 体脂率标准
  512. function getFatWeightDisplay(fatRate, sex, age) {
  513. getFatRateDisplay(fatRate, sex, age)
  514. }
  515. //肌肉量标准 同 肌肉率标准
  516. function getMuscleMassDisplay(muscle, sex, muscleWeight) {
  517. getMuscleDisplay(muscle, sex, muscleWeight)
  518. }
  519. //蛋白量标准 同 蛋白率标准
  520. function getProteinDisplay(proteinRate, sex) {
  521. getProteinRateDisplay(proteinRate, sex)
  522. }
  523. //肥胖等级 stWeight=标准体重
  524. function getFatLevel(weight, stWeight, height) {
  525. var Level = (weight - stWeight) / stWeight;
  526. if (Level < -0.2) {
  527. return {
  528. standard: "体重不足",
  529. text: `肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。基于目前的身体状况,您的标准体重范围为${
  530. 18.5 * height * height
  531. }~${
  532. 25 * height * height
  533. }kg,保持理想体重有助于身体各机能持续健康运转,维持最佳代谢状态。体重偏瘦或许已经危害到你的健康,建议您保持良好睡眠,适当食用含高卡路里食物,保持良好的饮食习惯。`,
  534. };
  535. } else if (Level >= -0.2 && Level < -0.1) {
  536. return {
  537. standard: "偏瘦",
  538. text: `肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。基于目前的身体状况,您的标准体重范围为${
  539. 18.5 * height * height
  540. }~${
  541. 25 * height * height
  542. }kg,保持理想体重有助于身体各机能持续健康运转,维持最佳代谢状态。体重偏瘦或许已经危害到你的健康,建议您保持良好睡眠,适当食用含高卡路里食物,保持良好的饮食习惯。`,
  543. };
  544. } else if (Level >= -0.1 && Level < 0.1) {
  545. return {
  546. standard: "标准",
  547. text: `肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。当前体重处于标准体重范围,状态良好,请继续保持良好的饮食习惯和适当的运动,保持完美身材吧。`,
  548. };
  549. } else if (Level > 0.1 && Level <= 0.2) {
  550. return {
  551. standard: "偏重",
  552. text: `肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。当前体重为${weight}kg,高于标准体重,过度肥胖不仅形体臃肿,更是各种慢性疾病的主要导火线,请减少高脂肪、高热量食物的摄入,制定健身计划,加强锻炼,努力恢复健康体重和好身材。`,
  553. };
  554. } else if (Level > 0.2) {
  555. return {
  556. standard: "超重",
  557. text: `肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。当前体重为${weight}kg,高于标准体重,过度肥胖不仅形体臃肿,更是各种慢性疾病的主要导火线,请减少高脂肪、高热量食物的摄入,制定健身计划,加强锻炼,努力恢复健康体重和好身材。`,
  558. };
  559. }
  560. }
  561. //体型 BFRResult=getFatRateDisplay().standard, ROMResult=getMuscleDisplay().standard
  562. function getBodyLevel(BFRResult, ROMResult) {
  563. if ((BFRResult == "高" || BFRResult == "偏高") && ROMResult == "不足") {
  564. return "隐形肥胖";
  565. } else if ((BFRResult == "高" || BFRResult == "偏高") && ROMResult == "标准") {
  566. return "偏胖";
  567. } else if ((BFRResult == "高" || BFRResult == "偏高") && ROMResult == "优") {
  568. return "结实型偏胖";
  569. } else if (BFRResult == "标准" && ROMResult == "不足") {
  570. return "缺乏肌肉型";
  571. } else if (BFRResult == "标准" && ROMResult == "标准") {
  572. return "标准型";
  573. } else if (BFRResult == "标准" && ROMResult == "优") {
  574. return "标准肌肉型";
  575. } else if (BFRResult == "偏低" && ROMResult == "不足") {
  576. return "偏瘦";
  577. } else if (BFRResult == "偏低" && ROMResult == "标准") {
  578. return "偏瘦肌肉型";
  579. } else if (BFRResult == "偏低" && ROMResult == "优") {
  580. return "健美肌肉型";
  581. }
  582. }
  583. //身体评分
  584. function getWeightScore(bmi) {
  585. if (bmi < 21.6) {
  586. return bmi / 21.6 * 100;
  587. } else {
  588. return 21.6 / bmi * 100;
  589. }
  590. }