更新时间:2024-11-04 GMT+08:00
分享

设置系统参数

使用说明

与环境、业务要求等紧密相关的参数取值经常变化,可以将这样的参数设置为系统参数。AstroZero低代码提供了统一的系统参数配置页面,便于集中维护与管理。当参数发生变化时,仅需要修改一次系统参数取值,引用该系统参数的地方都会更新成为修改后的值。

场景描述

新增、查询系统参数并进行修改。系统参数创建后,可以在其他地方以“{!parameter_name}”方式引用。例如,在如下两个场景使用系统参数:
  • 将系统公用邮箱设置为系统参数。
  • 将系统定时数据清理的执行时间,设置为系统参数。例如,系统执行数据清理任务时,会自动查询是否配置了系统参数“bingo.expiretask.execute.time”(AstroZero已预置该系统参数),查询到后,会按照配置的时间来启动数据清理。

本节介绍的是在应用内配置系统参数,您还可以在管理中心创建系统参数,相关操作请参考配置系统参数。两者的区别是在应用里配置系统参数,可在打包发布应用时,将系统参数一起发布出去,在管理中心设置系统参数无法随应用发布出去。

如何创建系统参数

  1. 参考如何进入经典开发环境中操作,进入经典版开发环境。
  2. “首页 > 项目 > 我的应用”中,单击对应的应用,进入应用开发页面。
  3. 在页面左下角,选择“配置”,进入应用配置页面。
  4. “系统参数”页签,配置“显示名称”,该名称将会显示在运营配置页签。
  5. 单击“新建”,新建参数,也可以单击“导入”,选择系统中已创建的系统参数进行导入。
  6. 配置相关参数,单击“新建”。

    表1 系统参数说明

    参数

    参数说明

    使用命名空间

    系统参数名称中,是否加“命名空间__”前缀。

    勾选该选项时,可确保跨租户全局唯一。

    名称

    系统参数名称,名称需要能尽可能的表明参数的业务含义,避免与其它参数混淆,建议使用“APP/BO名称_系统参数名称”来命名。

    例如:APPName_MaxValue。

    值类型

    系统参数取值类型。

    参数取值,根据所选的不同参数类型,来设置参数取值。

    文本类型的值,可以设置是否加密。

    描述

    系统参数的简要说明。

    是否默认

    打包时,是否保留当前参数的取值进行打包。

    是否加密

    值是否加密保存。

    “值类型”为“文本”时,该参数才会显示。

    权限

    配置哪些权限,可以读取该系统参数。

如何使用系统参数

系统参数创建完成后,可在脚本、服务编排、流程编排BPM和数据接入中使用。
  • 脚本:脚本代码引入系统参数的代码行中,引入“sys”系统库,并使用“sys.getParameter('系统参数名')”引入系统参数。
    例如,脚本里编辑如下代码,执行脚本,不用输入入参,查看“日志”页签打印的日志。
    import * as sys from 'sys'; 
    let sysParam = sys.getParameter('命名空间__APPName_MaxValue'); 
    console.log("MaxValue:", sysParam);
    图1 在脚本中使用
  • 服务编排:在服务编排的“全局上下文”中,新增公式变量,表达式输入“SYSPARAMETER('系统参数名')”,引入系统参数,注意数据类型保持一致。
    图2 在服务编排中使用
  • BPM:在BPM的“全局上下文”中,新增相同数据类型的变量,图元配置中设置该变量,值输入“SYSPARAMETER('系统参数名')”,引入系统参数。
    图3 在BPM中使用
  • Rest服务连接器:在Rest服务类型连接器(自定义连接器)的“动作”页签,单击“新建”。在“新建REST Action”页面的URL内,使用“{!系统参数名}”方式引入系统参数。
    图4 “Rest服务”连接器中引入系统参数

如何在脚本、服务编排、BPM中加密数据?

用户使用AstroZero的脚本、服务编排、流程编排BPM等开发的内容是不会加密存储的。如果用户需要加密数据,请使用加密类型的系统参数。

  1. 参考如何创建系统参数中操作,新建加密类型的系统参数。

    例如,新建加密参数appClientId,注意要勾选“是否加密”。

    图5 进入新建系统参数页面
    图6 新建appClientId系统参数

  2. 在脚本、服务编排和流程编排BPM中,使用上一步创建的系统参数。

    • 脚本:脚本代码中引入系统参数的代码行中,引入系统库,并使用“sys.getParameter('appClientId')”引入系统参数。
      import * as sys from 'sys'; 
      ......
              let cliendId = sys.getParameter('appClientId');
      图7 在脚本中引入参数
    • 服务编排:在服务编排“全局上下文”中新增公式变量,表达式输入“SYSPARAMETER('appClientId')”,引入系统参数。
      图8 在服务编排中引入参数
    • BPM:在BPM的“全局上下文”中,新增文本类型的变量,图元配置中设置该变量,值输入“SYSPARAMETER('appClientId')”,引入系统参数。
      图9 在BPM中引入参数

相关文档