0.1.0 • Published 1 month ago

@yolanda-qn/report-assets-library v0.1.0

Weekly downloads
-
License
-
Repository
-
Last release
1 month ago

导入方式

// import
import {bodyReportAssetsBuildFunction, teenReportAssetsBuildFunction} from '@yolanda-qn/report-assets-library'
// require
const {bodyReportAssetsBuildFunction, teenReportAssetsBuildFunction} = require('@yolanda-qn/report-assets-library')
// umd
// <script src="@yolanda-qn/report-assets-library/dist/index.umd.js"></script>
QNReport.bodyReportAssetsBuildFunction()
QNReport.teenReportAssetsBuildFunction()

核心方法

bodyReportAssetsBuildFunction

异步生成人体成分分析报告图片(base64 编码)

参数

名称类型必须默认值说明
userInfoUserInfoY用户信息
measureDataMeasureDataY测量数据(与服务端返回结果字段名一致)
dispalyConfigReportDisplayConfigN详见类型定义报告展示配置对象

返回值

返回值类型为Promise<string>,表示包含对应报告图片的 base64 编码字符串的 Promise

示例

// 用户信息
const userInfo = {
  clinic: '1',
  // ...
}
// 测量数据(直接将服务端返回测量数据结果传入即可)
const measureData = {
  weight: 100,
  // ...
}
// 可选的展示配置(这里的配置展示了替换报告中的"标题"与"姓名"字段)
const dispalyConfig = {
  title: '自定义标题',
  usernameDisplayText: '昵称',
}

bodyReportAssetsBuildFunction(userInfo, measureData, dispalyConfig).then((res) => {
  // res即为报告图片的base64编码
})

teenReportAssetsBuildFunction

异步生成青少年测量报告图片(base64 编码) 该方法会生成多张图片,因此返回的是字符串数组而不是字符串

参数

名称类型必须默认值说明
userInfoUserInfoY用户信息
measureDataMeasureDataY测量数据(与服务端返回结果字段名一致)
dispalyConfigReportDisplayConfigN详见类型定义报告展示配置对象

返回值

返回值类型为Promise<string[]>,表示包含对应报告图片的 base64 编码字符串数组的 Promise

示例

// 用户信息
const userInfo = {
  clinic: '1',
  // ...
}
// 测量数据(直接将服务端返回测量数据结果传入即可)
const measureData = {
  weight: 100,
  // ...
}
// 可选的展示配置(这里的配置展示了替换报告中的"标题"与"姓名"字段)
const dispalyConfig = {
  title: '自定义标题',
  usernameDisplayText: '昵称',
}

teenReportAssetsBuildFunction(userInfo, measureData, dispalyConfig).then((res) => {
  // res即为报告图片的base64编码**数组**
})

类型定义

UserInfo

/**
 * @note 用户名(昵称)年龄 性别 身高 这些字段会从测量结果数据中获取
 */
interface UserInfo {
  /**
   * 门诊/住院号
   */
  clinic: string
  /**
   * 科室
   */
  department: string
  /**
   * 病区
   */
  ward: string
  /**
   * 床号
   */
  bed: string
  /**
   * 操作人
   */
  operator: string
}

MeasureData

interface MeasureData {
  username: string // 用户名(昵称)
  age: number // 年龄
  gender: number // 性别 0:女 1:男
  height: number // 身高
  device_type: string // 设备类型(值有CP10A、CP10B、CP10D、CP10E、BCA pro1)
  timestamp: number // 测量时间戳(秒)

  weight: number // 体重
  weight_standard_up: number // 标准体重范围值上限
  weight_standard_down: number // 标准体重范围值下限

  bmi_ext_standard_down: number // 超标准bmi范围值下限
  bmi_standard_up: number // 标准bmi范围值上限
  bmi_standard_down: number //  标准bmi范围值下限

  sinew: number // 肌肉量
  sinew_standard_up: number // 标准肌⾁量范围值上限
  sinew_standard_down: number // 标准肌⾁量范围值下限

  muscle: number // 骨骼肌
  muscle_standard_up: number // 标准⻣骼肌范围值上限
  muscle_standard_down: number // 标准⻣骼肌范围值下限

  bone: number // 无机盐
  bone_standard_up: number // 标准⽆机盐上限
  bone_standard_down: number // 标准⽆机盐下限

  water: number // 水分
  water_standard_up: number // 标准水分上限
  water_standard_down: number // 标准水分下限

  protein: number // 蛋白质
  protein_standard_up: number // 标准蛋白质上限
  protein_standard_down: number // 标准蛋白质下限

  bodyfat: number // 体脂率
  bodyfat_ext_standard_down: number // 肥胖体脂率范围值下限
  bodyfat_standard_up: number // 标准体脂率范围值上限
  bodyfat_standard_down: number //  标准体脂率范围值下限

  fat: number // 脂肪
  fat_standard_up: number // 标准脂肪范围值上限
  fat_standard_down: number // 标准脂肪范围值下限

  fat_free_weight: number // 去脂体重
  fat_free_weight_standard_up: number // 标准去脂体重范围值上限
  fat_free_weight_standard_down: number // 标准去脂体重范围值下限

  bmr: number // 基础代谢
  bmr_standard_up: number // 标准基础代谢范围值上限
  bmr_standard_down: number // 标准基础代谢范围值下限

  subfat: number // 皮下脂肪
  subfat_standard_up: number // 标准皮下脂肪范围值上限
  subfat_standard_down: number // 标准皮下脂肪范围值下限

  visfat: number // 内脏脂肪
  visfat_standard_up: number // 标准内脏脂肪范围值上限
  visfat_excessive_down: number // 内脏脂肪严重超标范围值下限

  bodyage: number // 体年龄

  bodyshape: number // 体型

  score: number // 分数

  sinew_left_upper: number // 左上肢肌肉量
  sinew_left_upper_good: number // 理想左上肢肌肉量
  sinew_left_upper_ratio_standard: number // 左上肢肌⾁量与标准值⽐值
  sinew_left_upper_standard_up: number // 标准左上肢肌⾁量范围值上限
  sinew_left_upper_standard_down: number //  标准左上肢肌⾁量范围值下限

  sinew_right_upper: number // 右上肢肌肉量
  sinew_right_upper_good: number // 理想右上肢肌肉量
  sinew_right_upper_ratio_standard: number // 右上肢肌⾁量与标准值⽐值
  sinew_right_upper_standard_up: number // 标准右上肢肌⾁量范围值上限
  sinew_right_upper_standard_down: number //  标准右上肢肌⾁量范围值下限

  sinew_body: number // 躯干肌肉量
  sinew_body_good: number // 理想躯干肌肉量
  sinew_body_ratio_standard: number // 躯干肌⾁量与标准值⽐值
  sinew_body_standard_up: number // 标准躯干肌⾁量范围值上限
  sinew_body_standard_down: number // 标准躯干肌⾁量范围值下限

  sinew_left_bottom: number // 左下肢肌肉量
  sinew_left_bottom_good: number // 理想左下肢肌肉量
  sinew_left_bottom_ratio_standard: number // 左下肢肌⾁量与标准值⽐值
  sinew_left_bottom_standard_up: number // 标准左下肢肌⾁量范围值上限
  sinew_left_bottom_standard_down: number // 标准左下肢肌⾁量范围值下限

  sinew_right_bottom: number // 右下肢肌肉量
  sinew_right_bottom_good: number // 理想右下肢肌肉量
  sinew_right_bottom_ratio_standard: number // 右下肢肌⾁量与标准值⽐值
  sinew_right_bottom_standard_up: number // 标准右下肢肌⾁量范围值上限
  sinew_right_bottom_standard_down: number // 标准右下肢肌⾁量范围值下限

  fat_left_upper: number // 左上肢脂肪量
  fat_left_upper_good: number // 理想左上肢脂肪量
  fat_left_upper_ratio_standard: number // 左上肢肌⾁量与标准值⽐值
  fat_left_upper_standard_up: number // 标准左上肢肌⾁量范围值上限
  fat_left_upper_standard_down: number // 标准左上肢肌⾁量范围值下限

  fat_right_upper: number // 右上肢脂肪量
  fat_right_upper_good: number // 理想右上肢脂肪量
  fat_right_upper_ratio_standard: number // 右上肢肌⾁量与标准值⽐值
  fat_right_upper_standard_up: number // 标准右上肢肌⾁量范围值上限
  fat_right_upper_standard_down: number // 标准右上肢肌⾁量范围值下限

  fat_body: number // 躯干脂肪量
  fat_body_good: number // 理想躯干脂肪量
  fat_body_ratio_standard: number // 躯干肌⾁量与标准值⽐值
  fat_body_standard_up: number // 标准躯干肌⾁量范围值上限
  fat_body_standard_down: number // 标准躯干肌⾁量范围值下限

  fat_left_bottom: number // 左下肢脂肪量
  fat_left_bottom_good: number // 理想左下肢脂肪量
  fat_left_bottom_ratio_standard: number // 左下肢肌⾁量与标准值⽐值
  fat_left_bottom_standard_up: number // 标准左下肢肌⾁量范围值上限
  fat_left_bottom_standard_down: number // 标准左下肢肌⾁量范围值下限

  fat_right_bottom: number // 右下肢脂肪量
  fat_right_bottom_good: number // 理想右下肢脂肪量
  fat_right_bottom_ratio_standard: number // 右下肢肌⾁量与标准值⽐值
  fat_right_bottom_standard_up: number // 标准右下肢肌⾁量范围值上限
  fat_right_bottom_standard_down: number //  标准右下肢肌⾁量范围值下限

  weight_control: number // 体重控制

  bodyfat_control: number // 体脂控制

  sinew_control: number // 肌肉控制

  sinew_upper_balance: number // 上肢肌⾁均衡

  sinew_bottom_balance: number // 下肢肌⾁均衡

  sinew_upper_bottom_balance: number // 上下肢肌⾁均衡

  power_upper: number // 上肢⾝体⼒量

  power_bottom: number // 下肢⾝体⼒量

  power_upper_bottom: number // 上下肢⾝体⼒量

  /* 额外指标部分 CP10B、CP10E、BCA PRO1 */

  muscle_index: number // ⻣骼肌指数
  muscle_standard_lower_index: number // ⻣骼肌指数标准值下限

  obesity: number // 肥胖度
  obesity_normal_up: number // 肥胖度正常范围上限
  obesity_normal_down: number // 肥胖度正常范围下限

  whr: number // 腰臀⽐
  whr_standard_up: number // 标准腰臀⽐上限
  whr_standard_down: number // 标准腰臀⽐下限

  amc: number // 上臂肌围
  amc_normal_poor_down: number // 上臂肌围正常范围下限
  amc_mild_poor_down: number // 上臂肌围轻度不良范围下限
  amc_moderate_poor_down: number // 上臂肌围中度不良范围下限

  // 青少年指标

  teen_weight: number // 体重
  teen_weight_standard: number // 标准体重
  teen_weight_good: number // 理想体重
  teen_weight_interval_smallest: number // 体重等级区间最⼩极值
  teen_weight_interval_biggest: number // 体重等级区间最大极值
  teen_weight_standard_up: number // 标准体重范围值上限
  teen_weight_standard_down: number // 标准体重范围值下限
  teen_weight_current_level: number // 当前体重值处于的等级区间

  teen_bmi: number // bmi
  teen_standard_bmi: number // 标准bmi
  teen_severe_poor: number // 重度消瘦区间范围上限
  teen_mild_poor: number // 轻度消瘦区间范围上限
  teen_overweight_down: number // 超重区间范围下限
  teen_obesity_down: number // 肥胖区间范围下限
  teen_bmi_current_level: number // 当前bmi值处于的等级区间

  teen_bodyfat: number // 体脂率
  teen_bodyfat_standard: number // 标准体脂率
  teen_bodyfat_low_up: number // 低标准区间范围上限
  teen_bodyfat_standard_up: number // 标准区间范围上限
  teen_mild_fat_up: number // 轻度肥胖区间范围上限
  teen_moderate_fat_up: number // 中度肥胖区间范围上限
  teen_bodyfat_current_level: number // 当前体脂率值处于的等级区间

  teen_fat_free_weight: number // 去脂体重
  teen_fat_free_weight_standard: number // 标准去脂体重
  teen_fat_free_weight_interval_smallest: number // 去脂体重等级区间最⼩极值
  teen_fat_free_weight_interval_biggest: number // 去脂体重等级区间最⼤极值
  teen_fat_free_weight_standard_down: number // 标准去脂体重区间范围值下限
  teen_fat_free_weight_standard_up: number // 标准去脂体重区间范围值上限
  teen_fat_free_weight_current_level: number // 当前去脂体重处于的等级区间

  teen_water: number // 体水分
  teen_water_standard: number // 标准体水分
  teen_water_interval_smallest: number // 体水分等级区间最⼩极值
  teen_water_interval_biggest: number // 体水分等级区间最⼤极值
  teen_water_standard_down: number // 标准体水分区间范围值下限
  teen_water_standard_up: number // 标准体水分区间范围值上限
  teen_water_current_level: number // 当前体水分处于的等级区间

  teen_bmr: number // 基础代谢
  teen_bmr_standard_down: number // 标准基础代谢区间范围值下限
  teen_bmr_standard_up: number // 标准基础代谢区间范围值上限
  teen_bmr_current_level: number // 当前基础代谢处于的等级区间

  teen_muscle_key: number // 骨骼肌率
  teen_muscle_standard: number // 标准骨骼肌率
  teen_muscle_interval_smallest: number // 骨骼肌率等级区间最⼩极值
  teen_muscle_interval_biggest: number // 骨骼肌率等级区间最⼤极值
  teen_muscle_standard_down: number // 标准骨骼肌率区间范围值下限
  teen_muscle_standard_up: number // 标准骨骼肌率区间范围值上限
  teen_muscle_current_level: number // 当前骨骼肌率处于的等级区间

  teen_sinew: number // 肌肉量
  teen_sinew_standard: number // 标准肌肉量
  teen_sinew_interval_smallest: number // 肌肉量等级区间最⼩极值
  teen_sinew_interval_biggest: number // 肌肉量等级区间最⼤极值
  teen_sinew_standard_down: number // 标准肌肉量区间范围值下限
  teen_sinew_standard_up: number // 标准肌肉量区间范围值上限
  teen_sinew_current_level: number // 当前肌肉量处于的等级区间

  teen_bone: number // 骨量
  teen_bone_standard: number // 标准骨量
  teen_bone_interval_smallest: number // 骨量等级区间最⼩极值
  teen_bone_interval_biggest: number // 骨量等级区间最⼤极值
  teen_bone_standard_down: number // 标准骨量区间范围值下限
  teen_bone_standard_up: number // 标准骨量区间范围值上限
  teen_bone_current_level: number // 当前骨量处于的等级区间

  teen_protein: number // 蛋白质
  teen_protein_standard: number // 标准蛋白质
  teen_protein_interval_smallest: number // 蛋白质等级区间最⼩极值
  teen_protein_interval_biggest: number // 蛋白质等级区间最⼤极值
  teen_protein_standard_down: number // 标准蛋白质区间范围值下限
  teen_protein_standard_up: number // 标准蛋白质区间范围值上限
  teen_protein_current_level: number // 当前蛋白质处于的等级区间

  teen_fat: number // 脂肪
  teen_fat_standard: number // 标准脂肪
  teen_fat_interval_smallest: number // 脂肪等级区间最⼩极值
  teen_fat_interval_biggest: number // 脂肪等级区间最⼤极值
  teen_fat_standard_down: number // 标准脂肪区间范围值下限
  teen_fat_standard_up: number // 标准脂肪区间范围值上限
  teen_fat_current_level: number // 当前脂肪处于的等级区间

  teen_obesity: number // 肥胖度
  teen_obesity_smallest: number // 肥胖度等级区间最⼩极值
  teen_obesity_biggest: number // 肥胖度等级区间最⼤极值
  teen_obesity_thin_up: number // 偏瘦区间范围值上限
  teen_obesity_standard_up: number // 标准区间范围值上限
  teen_obesity_fat_up: number // 偏胖区间范围值上限
  teen_obesity_current_level: number // 当前肥胖度处于的等级区间

  teen_weight_control: number // 体重控制

  teen_bodyfat_control: number // 体脂控制

  teen_sinew_control: number // 肌肉控制

  teen_body_shape: number // 体型

  teen_score: number // 分数

  teen_water_kg: number // 水分
  teen_water_kg_standard: number // 标准水分
  teen_water_kg_interval_smallest: number // 水分等级区间最⼩极值
  teen_water_kg_interval_biggest: number // 水分等级区间最⼤极值
  teen_water_kg_standard_down: number // 标准水分区间范围值下限
  teen_water_kg_standard_up: number // 标准水分区间范围值上限
  teen_water_kg_current_level: number // 当前水分处于的等级区间

  teen_protein_kg: number // 蛋白质
  teen_protein_kg_standard: number // 标准蛋白质
  teen_protein_kg_interval_smallest: number // 蛋白质等级区间最⼩极值
  teen_protein_kg_interval_biggest: number // 蛋白质等级区间最⼤极值
  teen_protein_kg_standard_down: number // 标准蛋白质区间范围值下限
  teen_protein_kg_standard_up: number // 标准蛋白质区间范围值上限
  teen_protein_kg_current_level: number // 当前蛋白质处于的等级区间

  teen_muscle: number // 骨骼肌
  teen_muscle_kg_standard: number // 标准骨骼肌
  teen_muscle_kg_interval_smallest: number // 骨骼肌等级区间最⼩极值
  teen_muscle_kg_interval_biggest: number // 骨骼肌等级区间最⼤极值
  teen_muscle_kg_standard_down: number // 标准骨骼肌区间范围值下限
  teen_muscle_kg_standard_up: number // 标准骨骼肌区间范围值上限
  teen_muscle_kg_current_level: number // 当前骨骼肌处于的等级区间
}

ReportDisplayConfig

interface ReportDisplayConfig {
  /**
   * 配置报告的标题
   * @note 在人体成分分析报告中默认值为"人体成分分析报告"
   * @note 在青少年测量报告中默认值为"青少年测量报告"
   */
  title?: string
  /**
   * 门诊/住院号的展示文本
   * @note 默认值: "门诊号"
   */
  clinicDisplayText?: string
  /**
   * 姓名的展示文本
   * @note 默认值: "姓名"
   */
  usernameDisplayText?: string
  /**
   * 性别的展示文本
   * @note 默认值: "性别"
   */
  genderDisplayText?: string
  /**
   * 年龄的展示文本
   * @note 默认值: "年龄"
   */
  ageDisplayText?: string
  /**
   * 身高的展示文本
   * @note 默认值: "身高"
   */
  heightDisplayText?: string
  /**
   * 体重的展示文本
   * @note 默认值: "体重"
   */
  weightDisplayText?: string
  /**
   * 科室的展示文本
   * @note 默认值: "科室"
   */
  departmentDisplayText?: string
  /**
   * 病区的展示文本
   * @note 默认值: "病区"
   */
  wardDisplayText?: string
  /**
   * 床号的展示文本
   * @note 默认值: "床号"
   */
  bedDisplayText?: string
  /**
   * 操作人的展示文本
   * @note 默认值: "操作人"
   */
  operatorDisplayText?: string
}