更新时间:2024-06-25 GMT+08:00
分享

创建用户登录服务编排

用户登录服务编排通过调用脚本、编排图元等操作实现用户登录完整逻辑。

实现原理

图1 用户登录服务编排大致设想

图1所示,用户登录服务编排业务逻辑实现过程如下:

  1. 通过调用“用户登录”脚本,查询登录账户密码,然后使用“决策”图元进行判断,判断当前登录的账号密码是否正确。
  2. 如果判断账户密码错误,直接执行“账户密码错误”,判断账户密码正确,则使用“决策”图元,继续判断是否有验证码。
  3. 如果判断当前登录没有验证码,则直接执行登录,判断当前有验证码,则继续判断验证码是否正确。
  4. 如果判断验证码正确,则执行登录操作,判断验证码错误,则执行验证失败。

操作步骤

“用户登录”服务编排开发的大致过程:先拖拽1个脚本图元,3个决策图元以及3个赋值图元,再分别配置各个图元属性,然后配置各个图元之间连线类型,最后保存启用。

  1. 在“我的应用”中,单击“设备维修管理系统”,进入应用。
  2. 在“User”目录中,将鼠标放在“Flow”上,单击界面上出现的“+”,在弹出菜单中选择“服务编排”。
  3. 选中“创建一个新的服务编排”,在“标签”和“名称”文本框中输入“login”,并设置类型为“Autolaunched Flow”,单击“添加”。
  4. 定义服务编排用到的变量。

    1. 单击,展开全局上下文,再单击“变量”后的,设置参数名称为“username”,如图2所示。
      图2 新增变量
    2. 重复上一步,定义其他变量。
      需要定义的变量如表1所示。
      表1 服务编排变量说明

      变量名称(唯一标识)

      数据类型

      username(上一步已创建)

      文本

      password

      文本

      msg

      文本

      userId

      文本

      loginMsg

      文本

      captcha

      文本

      profile

      文本

    3. 单击“公式”后的,在左侧公式弹窗中,设置“名称”为“portalUserLogin”,“表达式”为“PORTALUSERLOGIN({!username})”,单击“保存”。
      图3 添加公式变量“portalUserLogin”
    4. 参考上一步,创建公式变量“verifyCode”,需要定义的变量如表2所示。
      表2 公式变量说明

      名称

      表达式

      verifyCode

      VERIFYCODEWITHTYPE({!captcha},"login")

  5. 拖拽图元到服务编排画布,并配置图元的基本属性。

    1. 从图元区分别拖拽脚本(1个)、决策(3个)、赋值(3个)图元到画布中,排列,如图4所示。
      图4 拖拽脚本(1个)、决策(3个)、赋值(3个)图元
    2. 选中“Script0”图元,在右侧基本信息中,设置“标签”为“查询用户”。
    3. 参考5.b,设置其他图元的“标签”属性,具体值如表3所示。
      表3 图元基本属性

      名称(变量唯一标识,不需要修改

      标签

      Script0(上一步已设置)

      查询用户

      Decision0

      判断账号密码

      Decision1

      判断是否包含验证码

      Decision2

      校验验证码

      Assignment0

      账号密码错误

      Assignment1

      执行登录

      Assignment2

      验证失败

      图5 修改后图元

  6. 配置“查询用户”脚本图元。

    1. 单击,指定图元对应的脚本名称 (HW__login),并配置脚本的输入输出参数。
    2. 单击“全局上下文”,显示变量列表,从“变量”中,拖拽“username”、“password”、“captcha”到“输入参数”下对应的“源”输入框中。
    3. 在“输出参数”下,单击5次“新增行”,依次添加下拉选项中的输出参数字段,并从“变量”中拖拽相应的字段到“目标”输入框下,字段与变量对应关系如图6所示。

      请直接从全局上下文拖拽“变量”到对应的输入输出参数下,请勿手动输入,手动输入的值系统可能不识别。

      图6 拖拽脚本的输入输出参数

  7. 配置“判断账号密码”决策图元。

    1. 选择“判断账号密码”图元,在右侧单击图标,修改“默认”的“名称”为“loginFail”。
      图7 修改“默认”结果名称
    2. 单击“新增”,增加一个可编辑的结果,修改结果为“loginSuccess”,在“可视”下单击“新增行”,并拖拽变量中的“msg”到“资源”下,设置“比较符”为“==”,“值”为“"登录成功!"”。
      • 请直接从全局上下文拖拽变量“msg”到“资源”下,请勿手动输入,手动输入的值系统可能不识别。
      • "登录成功!"需要与“login”脚本中的输出参数一致。
      图8 修改可编辑的结果

  8. 配置“判断是否包含验证码”决策图元。

    1. 选择“判断是否包含验证码”图元,在右侧单击图标,修改“默认”的“名称”为“hasVerifyCode”。
      图9 修改“默认”结果名称
    2. 单击“新增”,增加一个可编辑的结果,修改结果为“noVerifyCode”,在“可视”下单击“新增行”,并拖拽变量中的“captcha”到“资源”下,设置“比较符”为“==”,“值”为“""”。
      图10 修改可编辑的结果

  9. 配置“校验验证码”决策图元。

    1. 选择“校验验证码”图元,在右侧单击图标,修改“默认”的“名称”为“verifyCodeFail”。
      图11 修改“默认”名称
    2. 单击“新增”,增加一个可编辑的结果,修改结果为“verifyCodeSuccess”,在右侧选择“公式”,并从全局上下文中,拖拽“verifyCode”到“公式”下。
      图12 修改可编辑的结果

  10. 配置“账号密码错误”赋值图元。

    选择“账号密码错误”图元,在右侧单击图标,单击“新增行”,从全局上下文的“系统变量”中,拖拽“$Flow.ResMsg”到“赋值”下,并设置“操作符”为“=”,拖拽“msg”到“值”;然后再拖拽“系统变量”下的“$Flow.ResCode”到“赋值”的“变量”下,设置“操作符”为“=”,设置“值”为“"1"”。

    请直接从全局上下文拖拽变量到“赋值”下的对应位置,请勿手动输入,手动输入的值系统可能不识账。

    图13 配置“账号密码错误”图元

  11. 配置“执行登录”赋值图元。

    1. 选择“执行登录”图元,在右侧单击图标,单击5次“新增行”。
    2. 从全局上下文,拖拽“msg”等字段到“赋值”的“变量”下,并设置“操作符”为“=”,然后再拖拽“值”下的各个值,具体字段对应关系,如图14所示。
      图14 拖拽“执行登录”赋值的变量及值

      请直接从全局上下文拖拽变量到“值”下的对应位置,请勿手动输入,手动输入的值系统可能不识别。

      表4 变量与值对应关系

      变量

      操作符

      loginMsg

      =

      portalUserLogin

      msg

      =

      msg

      profile

      =

      profile

      username

      =

      username

      userId

      =

      userId

  12. 配置“验证失败”赋值图元。

    选择“验证失败”图元,在右侧单击图标,单击“新增行”,从全局上下文“系统变量”,拖拽“$Flow.ResMsg”、“$Flow.ResCode”到“赋值”下,并设置操作符为“=”,分别设置“值”为“"验证码错误!"”、“"1"”。

    表5 赋值

    变量

    操作符

    $Flow.ResMsg

    =

    "验证码错误!"

    $Flow.ResCode

    =

    "1"

    图15 配置“验证失败”赋值图元

  13. 拖拽图元连线,并配置连线属性。

    1. 在画布上,把鼠标放在起点图元图元上,从“+”拖动鼠标,在起点图元和“查询用户”图元间增加连线;即将当前脚本设置为服务编排的起始节点。
    2. 依次在“查询用户”、“判断账号密码”、“判断是否包含验证码”、“执行登录”图元直接拖拽连线。
      图16 拖拽连线
    3. 单击“判断账号密码”与“判断是否包含验证码”图元之间的连线,再右侧属性单击,在“连线”中修改“连线类型”为“loginSuccess”。
      图17 选中连线
      图18 修改连线类型
    4. 单击“判断是否包含验证码”与“执行登录”图元之间的连线,再右侧属性单击,在“连线”中修改“连线类型”为“noVerifyCode”
    5. 从“判断账号密码”图元上拖拽一条连线到“账号密码错误”图元。
    6. 从“判断是否包含验证码”图元上拖拽一条连线到“校验验证码”图元。
    7. 从“校验验证码”图元上拖拽一条连线到“验证失败”图元。
    8. 从“校验验证码”图元上拖拽一条连线到“执行登录”图元,并设置该连线的“连线类型”为“verifyCodeSuccess”。
      连线拖拽完成,如图19所示。
      图19 拖拽图元连线

  14. 定义服务编排的输入、输出参数,并保存服务编排。

    1. 鼠标在画布空白处点一下,单击右侧,设置服务编排的输入输出参数,如图20所示。
      图20 拖拽服务编排的输入输出参数
    2. 单击服务编排页面上方的,保存服务编排。

      系统会弹出窗口,显示编译结果。

  15. 测试服务编排能否正常执行。

    1. 单击服务编排编辑器上方的,执行服务编排。
    2. “Flow Run”界面中输入测试数据,单击“运行”。其中,“test_cs”、“{XXXXXXXX}”为用户注册脚本中测试数据。
      {
       "username": "test_cs",
       "password": "{XXXXXXXX}",
       "captcha": ""
       }

      执行成功,界面上会返回设备对象中的全部信息,样例如下:

      {
        "interviewId": "002N000000jjQ95dKbCK",
        "outputs": {
          "loginMsg": "null",
          "msg": "登录成功!",
          "profile": "cs",
          "userId": "10gg0XXXXXXXXXXXXX",
          "username": "test_cs"
        }
      }

  16. (可选)在服务编排编辑器单击“跟踪”,可以查看到上一步的执行日志,方便定位错误。
  17. 测试成功,单击服务编排编辑器上方的,启用发布服务编排。

相关文档