功能简介
应用内时常会有一些作用于全应用的参数,如企业 CEO、上下游凭证、系统邮箱地址等,这些参数在不同环境(如开发环境和线上环境)、不同企业中的值可能不同,且常常需要在不同功能中反复调用,这类数据就可以考虑存储在「环境变量」中。
一次定义之后,就可以在对象、页面、流程、授权、低代码等各个模块中使用。
适用场景
如上文所说,环境变量通常用于存储可能随环境变化的、可能多处复用的应用参数。如:
- 第三方凭证:不同环境的凭证不同,在环境变量中存储调用第三方 Open API 的凭证,在多个函数中复用同一个凭证,更新凭证时不用到处改代码,各处会自动获取最新的凭证值。
- 系统邮箱地址、跳转链接:不同环境的值不同,可以在环境变量中存储,在流程、页面等处调用
- 需要特殊管理的业务属性,如:
- 通常指需要特殊关注的部门、人员、角色、地点等,如 CEO、HR 部门、最高客服部门、中国大陆等需要在业务中特殊关注或者用于做判定的数据
- 应用设置类,如是否开启消息提醒,设置每月的报销提醒日期等
上述场景在 SaaS 开发模式(即开发一个应用复用给多家企业,且后续能持续升级的模式)中使用会更加普遍。更多具体案例参见下文「应用实例」。
250px|700px|reset
操作方式
(一)管理环境变量
新建环境变量
进入开发后台,在「数据」>>「数据资产」>>「环境变量」页面, 点击「+ 新建」,填写各配置项后,点击「提交」。
- 类型:目前支持浮点数、文本、日期、记录 、日期时间、邮箱、手机号码、布尔、行政区划、多语文本、整数、定点数、选项、JSON。
- 类型为记录时,可选对象、单值/多值属性
- Api 名称:在代码中调用时用于识别环境变量的标志
- 参数值:可以分别设置线上环境和开发环境的值,二者互不干扰
- 加密:数字和文本类型的环境变量支持加密,加密后,界面上将无法查看值,但在代码中还是可以获取到当前环境的真实值;加密后无法转为非加密。
- 保护程度:仅 SaaS 开发模式可见,可设置参数「公开」/「受保护」,公开的环境变量在安装到客户侧后仍然可见、可修改参数值;受保护的环境变量在客户侧隐藏不可见,但 SaaS 包中的已有逻辑仍然生效。
250px|700px|reset
编辑环境变量
在列表上点击变量右侧「编辑」按钮即可修改环境变量。编辑完成后,点击「提交」。
- 类型确定后不可改
- 如类型为「记录」,对象和关联记录数不可改
250px|700px|reset
删除环境变量
在列表上点击变量右侧「删除」按钮。
- 只有未被对象、页面、流程等无代码功能引用的环境变量可删除
- 低代码中的引用目前无法检测,删除前需要确认该参数未被函数引用,否则可能导致引用该变量的代码在运行时发生错误,请谨慎操作。
250px|700px|reset
(二)使用环境变量
在公式中使用
在公式字段、筛选器右值等处的公式编辑器中,都可以使用环境变量
250px|700px|reset
在筛选器中使用
筛选器中支持「引用」变量的情况下,都能直接选到已有的环境变量
250px|700px|reset
在函数中使用
在函数中使用 【node.js】application.globalVar.getVar("api_name") 或 【golang】application.GlobalVar.GetVar(ctx, "api_name") 即可调用环境变量,获取对应的 Value。在自定义组件中,仅能获取非加密的环境变量的 Value。
250px|700px|reset
应用实例
(一)支持设置入职第几天提醒填写 OKR
- Step 1:用一个环境变量存储「入职第几天提醒填写 OKR」
- Step 2:在员工对象上新建公式字段,将员工的入职日期与该环境变量加和,就能计算出要提醒每个员工的日期
250px|700px|reset
(二)支持设置不同环境的消息通知跳转不同的链接
- Step 1:用一个环境变量存储要跳转的链接(如 SaaS 应用不同企业需要跳转到各自的官网链接、或开发环境和生产环境要跳对应环境的链接 etc)
- Step 2:在流程中的消息节点里,设置按钮跳转链接时,选择上述环境变量,就会实现不同环境跳不同链接的效果
250px|700px|reset
(三)SaaS 开发模式中,用环境变量存储不同企业的「最高客服部门」
- 如搭建一个 SaaS 模式的「客户声音系统」,需要记录不同企业的客服团队最高部门,并在页面、审批流程、权限等处使用。
- Step 1:建一个环境变量用于存储「最高客服部门」
250px|700px|reset
- Step 2:在各模块下引用该环境变量
- 在页面上筛选出相关组织架构,实现右图的效果
250px|700px|reset
250px|700px|reset
- 将最高客服部门的负责人设置为特殊 case 的审批人
250px|700px|reset
- 在「记录权限」中授权给所有属于客服团队的人员
250px|700px|reset
Step 3:安装到不同企业后可以根据实际情况对「客服最高部门」所指代的具体部门进行调整。
250px|700px|reset