BMI/标准体重计算

1. 简介

1.1 案例简介

本案例以开发自建插件「BMI/标准体重计算」为例,介绍简道云自建插件中通过前端函数调用后端函数的实现方法。

1.2 设计思路

1)新建「BMI/标准体重计算」表单,用于录入用户的数据,如:身高、体重等;

2)开发自建插件「BMI/标准体重计算」,用于计算用户的 BMI 和标准体重,具体包括:

  • 设计后端函数「BMI 计算」,通过获取用户提供的身高和体重数据,计算对应的 BMI 指数;
  • 设计后端函数「标准体重计算」,通过获取用户提供的身高数据,计算对应的标准体重;
  • 设计前端函数「BMI/标准体重计算器」,根据用户选择的计算类型,调用对应的后端函数,并将计算结果返回给用户。

3)在表单中设置前端事件,调用自建插件「BMI/标准体重计算」,从而实现根据用户选择的计算类型,将计算结果回写在表单中的效果。

1.3 预期效果

以计算 BMI 指数和标准体重为例,效果如下所示:

2. 表单搭建

在学习之前建议安装 BMI/标准体重计算应用模板,本文将按照模板中的示例数据进行讲解。

字段名称

字段类型

字段设置

计算类型

下拉框

在「字段属性 >> 选项」处选择「自定义」,并设置选项如下所示:

  • BMI 计算
  • 标准体重计算

您的身高(cm)

数字

——

您的体重(kg)

是否开始计算

按钮

计算结果

多行文本

3. 自建插件设计

3.1 新建自建插件

在「开放平台 >> 开发者后台 >> 自建插件」处,点击「新建插件」,并在「插件设计」页面中修改自建插件的名字为「BMI/标准体重计算」。

3.2 BMI计算

1)新增后端函数

点击左下角的「新增函数」,选择「后端函数 >> Python 3.10」,并修改函数名称为「BMI 计算」。

2)设计请求参数

点击「请求参数」,在页面中添加并设置字段控件,如下所示:

字段名称

字段类型

字段设置

身高(cm)

数字

在右侧字段信息处,修改 ID 为 height_1

体重(kg)

在右侧字段信息处,修改 ID 为 weight_1

3)设计返回参数

点击「返回参数」,添加返回参数,并进行如下设置:

  • 修改显示名称为「返回参数」;
  • 修改 ID 为「res」;
  • 选择类型为「any」。

4)编辑代码

请求参数和返回参数都设计完成后,点击「代码」进入代码编辑页面。代码示例如下所示:

def calculate_bmi(height_1,weight_1):
    height_m = height_1 / 100
    bmi = weight_1 / (height_m ** 2)

    return{
         "res":"身体质量指数计算成功。"+"你的BMI是:"+str(bmi)
    }
return calculate_bmi(triggerConf.get('height_1'),triggerConf.get('weight_1'))

3.3 标准体重计算

1)新增后端函数

点击左下角的「新增函数」,选择「后端函数 >> Python 3.10」,并修改函数名称为「标准体重计算」。

2)设计请求参数

点击「请求参数」,在页面中添加并设置字段控件,如下所示:

字段名称

字段类型

字段设置

身高(cm)

数字

在右侧字段信息处,修改 ID 为 height_2

3)设计返回参数

点击「返回参数」,添加返回参数,并进行如下设置:

  • 修改显示名称为「返回参数」;
  • 修改 ID 为「res」;
  • 选择类型为「any」。

4)编辑代码

请求参数和返回参数都设计完成后,点击「代码」进入代码编辑页面。代码示例如下所示:

def calculate_standard(height_2):
    standard = (height_2-100)*0.9
    return{
         "res":"标准体重计算成功。"+"你的标准体重应为:"+str(standard)
    }
return calculate_standard(triggerConf.get('height_2'))

3.4 BMI/标准体重计算器

1)新增前端扩展函数

进入「插件设计」页面中,点击左下角的「新增函数」,选择「前端扩展」,并修改函数名称为「BMI/标准体重计算器」。

2)设计请求参数

点击「请求参数」,在页面中添加并设置字段控件,如下所示:

字段名称

字段类型

字段设置

计算类型

下拉框

在右侧字段信息处,修改 ID 为 select

身高(cm)

数字

在右侧字段信息处,修改 ID 为 height

体重(kg)

数字

在右侧字段信息处,修改 ID 为 weight

3)设计返回参数

点击「返回参数」,添加返回参数,并进行如下设置:

  • 修改显示名称为「返回参数」;
  • 修改 ID 为「resText」;
  • 选择类型为「any」。

4)编辑代码

请求参数和返回参数都设计完成后,点击「代码」进入代码编辑页面。代码示例如下所示:

let message;

const selectedFunction = triggerConf['select'];

// 根据选择调用不同的函数
if (selectedFunction === "BMI计算") {
  message = await $g.utils.callFunction({
    name: 'func.686a53c802b5333e9cfe899b',
    data: {height_1:triggerConf['height'],weight_1:triggerConf['weight']}
});


} else if (selectedFunction === "标准体重计算") {
  message = await $g.utils.callFunction({
    name: 'func.686a7966e513d5ba0b2b24b1',
    data: {height_2:triggerConf['height']}
})
  }
 else {
  return { resText: '无效的选择,请选择计算类型' };
}

// 验证返回的数据结构
//if (!message || !message.result || !message.result.res) {
  //console.error('无效的返回数据:', message);
  //return { error: '函数返回的数据结构不符合预期', code: 500 };
//}

// 返回处理后的数据
return { resText: message.result.res };

3.5 保存并启用

参数和代码都设计完成后,点击右上角的「保存」按钮,并返回至「自建插件」页面中,打开「BMI/标准体重计算」右侧开关,即可启用插件。

4. 调用插件

4.1 添加按钮执行动作

进入BMI/标准体重计算」表单中,点击「是否开始计算」按钮,在「字段属性 >> 执行动作」处点击「设置」,添加一个前端事件。

4.2 设置事件名称和说明

添加好前端事件后,首先设置前端事件的基础信息,即事件名称和事件说明,用于区分前端事件。设置完成后,点击「下一步」。

4.3 设置前端事件

设置执行动作如下:

  • 选择插件:选择「BMI/标准体重计算 >> BMI/标准体重计算器」插件;
  • 计算类型:设置为「字段值」,即「计算类型」字段;
  • 身高(cm):设置为「字段值」,即「您的身高(cm)」字段;
  • 体重(kg):设置为「字段值」,即「您的体重(kg)」字段;
  • 字段存储关系:点击添加按钮,将「返回参数」的值存储到「计算结果」中。

全部设置完成后,点击「保存」按钮。

5. 效果演示

效果参见本文【1.3 预期效果】。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验