- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南(低代码)
- AstroZero低代码使用流程
- 授权用户使用AstroZero并购买实例
- 添加AstroZero开发者用户
- 使用AstroZero创建应用
-
使用AstroZero开发应用后端
- 应用后端开发概述
- 对象
- 事件
- 脚本
-
服务编排
- AstroZero服务编排概述
- 创建空白AstroZero服务编排
- 定制已有AstroZero服务编排
-
为AstroZero服务编排设置图元
- 为AstroZero服务编排添加子服务编排图元
- 为AstroZero服务编排添加脚本图元
- 为AstroZero服务编排添加记录创建图元
- 为AstroZero服务编排添加记录删除图元
- 为AstroZero服务编排添加记录查询图元
- 为AstroZero服务编排添加记录更新图元
- 为AstroZero服务编排添加发送邮件图元
- 为AstroZero服务编排添加发送事件图元
- 为AstroZero服务编排添加赋值图元
- 为AstroZero服务编排添加循环图元
- 为AstroZero服务编排添加跳出循环图元
- 为AstroZero服务编排添加决策图元
- 为AstroZero服务编排添加等待图元
- 为AstroZero服务编排添加BO图元
- 为AstroZero服务编排添加连接器图元
- 为AstroZero服务编排添加生成文档图元
- 管理AstroZero服务编排
- 自定义AstroZero服务编排的URL
- 触发器
- 工作流
- 定时任务
-
使用AstroZero开发应用前端
- 应用前端开发概述
-
标准页面
- AstroZero标准页面概述
- 创建空白AstroZero标准页面
- 使用模板创建AstroZero标准页面
- 为AstroZero标准页面添加组件
-
设置AstroZero标准页面组件属性
- 设置AstroZero标准页面容器组件属性
- 设置AstroZero标准页面表单组件属性
- 设置AstroZero标准页面表格组件属性
- 设置AstroZero标准页面分栏组件属性
- 设置AstroZero标准页面栅格容器组件属性
- 设置AstroZero标准页面列表视图组件属性
- 设置AstroZero标准页面表格(新)组件属性
- 设置AstroZero标准页面图片组件属性
- 设置AstroZero标准页面二维码组件属性
- 设置AstroZero标准页面分页组件属性
- 设置AstroZero标准页面模态框组件
- 设置AstroZero标准页面输入框组件属性
- 设置AstroZero标准页面下拉框组件属性
- 设置AstroZero标准页面按钮组件属性
- 设置AstroZero标准页面上传组件属性
- 设置AstroZero标准页面面包屑组件属性
- 设置AstroZero标准页面视频播放组件属性
- 添加事件实现AstroZero组件间交互
- 添加库扩展AstroZero标准页面功能
- 查看AstroZero标准页面性能
- 调测AstroZero标准页面
- 将AstroZero标准页面保存为模板
- 管理AstroZero标准页面
-
高级页面
- AstroZero高级页面概述
- 创建AstroZero高级页面
- 为AstroZero高级页面添加组件
-
设置AstroZero高级页面预置组件属性
- 设置AstroZero高级页面轮播组件属性
- 设置AstroZero高级页面图片组件属性
- 设置AstroZero高级页面文本编辑组件属性
- 设置AstroZero高级页面自定义背景框组件属性
- 设置AstroZero高级页面基本柱图组件属性
- 设置AstroZero高级页面基本折线图组件属性
- 设置AstroZero高级页面基本饼图组件属性
- 设置AstroZero高级页面水位图组件属性
- 设置AstroZero高级页面散点图组件属性
- 设置AstroZero高级页面雷达图组件属性
- 设置AstroZero高级页面仪表盘组件属性
- 设置AstroZero高级页面翻牌器组件属性
- 设置AstroZero高级页面路由导航和路由视图组件属性
- 为AstroZero高级页面添加自定义组件
- 为AstroZero高级页面组件绑定数据
- 添加事件或宏实现AstroZero高级页面组件交互
- 调测AstroZero高级页面
- 查看AstroZero高级页面性能
- 管理AstroZero高级页面
- 报表
- 使用AstroZero进行应用集成开发
- 使用AstroZero对应用进行个性化设置
- 发布并部署AstroZero开发的应用
- 管理AstroZero中已安装的应用
- AstroZero低代码平台管理中心
-
经典版开发指导
- 经典版入门必读
- 应用
- 对象
- 标准页面
- 高级页面
- 服务编排
- 脚本开发
- BPM服务编排
- API接口
- 集成开发
- 消息事件
- 触发器
- 报表和仪表板
- CICD持续集成与交付
- 服务组件(BO)
- 调测能力
- 工程能力
- 原生服务
- 其他功能
- 管理中心
- 白名单特性
- 用户指南(零代码)
- 最佳实践
- API参考
-
常见问题
- 高频常见问题
- 产品咨询类
-
应用后端开发
- 如何区分不同账户间的数据库对象?
- 在AstroZero对象中删除字段后重新创建时,引用的地方报错
- 如何刷新AstroZero对象的页面布局?
- 如何彻底删除AstroZero应用目录树中的数据?
- AstroZero自定义对象预置的owner字段,用于记录什么用户?
- AstroZero脚本支持使用哪些语言和库?
- 在AstroZero脚本中执行sql语句时,可以不用@useObject修饰数据对象吗?
- 在AstroZero脚本中,如何返回zip压缩文件内容?
- 如何通过AstroZero脚本,导出xls文件让用户下载?
- AstroZero脚本中是否支持multipart/form-data请求?
- AstroZero服务编排中涉及数据操作的脚本图元,在其他图元操作失败的情况下,是否可以回滚?
- 事件触发的AstroZero服务编排,发送事件后,服务编排没有运行?
- 在AstroZero服务编排或工作流中,引用的资源无法编辑
- 如何实现一个资源被多个AstroZero应用的服务编排调用?
- 在AstroZero服务编排中,支持跨应用引用资源吗?
- 在AstroZero服务编排、工作流或脚本中,邮件发送功能不可用?
- AstroZero开发者如何使用自己的邮箱发送邮件?
-
应用前端开发
- 在AstroZero标准页面中,如何调用服务编排或脚本?
- 在AstroZero标准页面组件较多时,如何快速选中组件?
- 表格字段太多,导致AstroZero标准页面无法完整显示,该如何处理?
- 在AstroZero标准页面中,如何实现有子表的表格?
- 在AstroZero标准页面中,如何实现下拉框选项值的筛选功能?
- 在AstroZero标准页面中,如何实现移动端上拉异步加载数据功能?
- 如何查看AstroZero标准页面的URL格式?
- 在AstroZero标准页面弹窗的onOk事件中,不想关闭弹窗该怎么处理?
- 在AstroZero中编排高级页面时,如何实现不加载组件库资源?
- 在AstroZero中自定义高级页面组件(widget)时,修改了JS文件,修改部分不生效?
- 在AstroZero组件库中,部分组件在组件详情页看不到更新和编辑入口
- 在AstroZero高级页面中,如何进行统一的HTTP状态拦截?
- 配置高级页面组件桥接器实例属性时,如何设置下拉框中的选项值?
- 在AstroZero高级页面中,如何实现所有组件都加载完成后,再执行某段逻辑?
- 在AstroZero中,如何实现多人协作开发?
- 在AstroZero运行环境中,如何实现游客访问标准页面?
- 应用发布与部署
- Astro轻应用平台管理中心
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
如何调用后台接口
在应用开发过程中,经常需要在高级页面组件中调用后台接口来完成整个业务场景(例如获取购物车中用户的ID,订单编号,商品信息等)。为方便用户调用可配置的API,平台提供了桥接器功能。桥接器封装了平台的一些逻辑,如csrftoken验证、数据共享、数据周期调用功能等。
低代码平台预置了18个桥接器,其中的API数据桥接器、FLOW数据桥接器、SCRIPT数据桥接器和OBJECT数据桥接器为通用桥接器。在开发自定义组件时,可以根据API的类型引入使用。剩余的14个,为平台预置组件的桥接器,如地图、散点图等。如果预置的桥接器不能满足开发需求,还可以自定义开发桥接器进行上传使用。
在经典版应用设计器的“资产 > 高级页面 > 桥接器 ”页面中,可查看系统预置的桥接器或自定义桥接器,如下图所示:

初识桥接器(组件预置桥接器)
低代码平台预置的桥接器,在相应预置组件包中也有配置。例如,在预置的柱状图“基本折线图”组件包中,已配置好了预置的“柱状图和折线图数据桥接器”。
在高级页面开发过程中,选中折线图组件后,在右侧的“组件属性设置 > 数据”页签中,选用预置的桥接器,即可进行配置。

“组件属性设置 > 数据”页签中,主要参数说明如下:
- 桥接器实例:调用的桥接器名称,可从下拉框中选择该组件已配置的桥接器。如何在组件中配置桥接器,请参见如何在组件中使用通用桥接器。
- 数据类型 > 静态数据:获取桥接器中定义的静态数据作为该组件的数据来源,也可以在静态数据编辑器中修改或重置静态数据。当静态数据编辑器失去鼠标焦点后,组件会依据该静态数据重新渲染。
图3 重新渲染
- 数据类型 > 动态数据:通过动态调用后台的服务编排或脚本,获取数据作为该组件的数据来源。
说明:
- URL:桥接器通过动态调用后台的服务编排或脚本,来获取数据作为该组件的数据来源,需配置服务编排或脚本的自定义接口URL。
须知:
接口输出数据的结构要和静态数据编辑器中,显示的数据保持一致。
- 共享数据:若该高级页面中多个组件通过桥接器调用一个公共的请求来访问同一个接口的数据(请求参数也一致),通过勾选该项可避免重复调用接口。
- URL:桥接器通过动态调用后台的服务编排或脚本,来获取数据作为该组件的数据来源,需配置服务编排或脚本的自定义接口URL。
- 调用周期:用于配置周期调用后台接口或获取静态数据的时间间隔(单位为秒)。默认配置为“0”,表示只调用一次后台接口或者只获取一次静态数据。
如何在组件中使用通用桥接器
在开发组件的过程中,需要调用平台功能开发的后端接口时,可以使用AstroZero平台预置的通用桥接器,即API数据桥接器、FLOW数据桥接器、SCRIPT数据桥接器和OBJECT数据桥接器。
以在组件中,调用AstroZero中的脚本实现加减法计算器为例,向您介绍如何在组件中使用通用桥接器。在组件中使用通用桥接器的相关组件开发规范及方法,请参见开发高级组件。

- 开发脚本。
若想要在组件中调用后台服务,首先需要在应用中开发一个后台服务(脚本或服务编排)。
- 新建服务。
在1中,已通过脚本模板新建并启用脚本,通过桥接器调用该脚本前,需要新建服务。
- 单击经典版应用设计器左下角的“服务”,进入服务页面。
- 在公共接口中,单击“新建”,进入新建公共接口页面。
- 配置服务的参数,单击“保存”。
图7 新建服务示例
- 操作名称:设置为“calculate”。
- 版本:设置为“1.0.0”。
- URL:补充为“/calculate”。
- 类型:选择“脚本”。
- 资源:选择1中创建的脚本(需要在已启用状态)。
- 方法:选择“POST”。
服务保存成功后,请在公共接口列表中获取URL,用于配置桥接器。
图8 服务列表示例说明:
本例中新建的服务URL为“/service/CNAME1__customName23/1.0.0/calculate”,在组件属性设置时,只需设置为“/CNAME1__customName23/1.0.0/calculate”即可。
- 在自定义组件中,开发桥接器逻辑,并参考6中操作,将组件上传到组件库中。
在自定义组件中配置所需桥接器实例,并通过AstroZero提供的API发起请求和处理返回结果信息。该组件详细说明如下:
- 在BridgeTestWidget.editor.js文件中,配置桥接器实例。
config: [{ "type": "connectorV2", "name": "APIConnector", "model": "ViewModel", "label": "AstroZero通用桥接器示例", "value": "" }]
桥接器配置项说明如下:
- 在BridgeTestWidget.js文件中,定义桥接器处理逻辑。
组件中,常用桥接器的相关API,如表1所示。
表1 桥接器API列表 API名称
详细说明
getConnectorInstanceByName('APIConnector')
通过桥接器的变量名称获取桥接器实例,其中“APIConnector”类型为String,表示桥接器的变量名称。
ConnectorIns.process(renderCbk, errCbk)
通过桥接器实例调用process函数,主要作用为发起调用服务的请求和处理返回结果信息。
ConnectorIns.query(param)
通过桥接器实例调用process函数,用于发起调用服务的请求和处理返回结果信息。
- param:请求参数。
- 其返回结果为Promise对象。
示例代码如下所示:
- 获取桥接器实例。
ConnectorIns: thisObj.getConnectorInstanceByName('APIConnector')// Line 70,
- 构造请求参数和renderCbk函数。
calculate: function () { let _this = this; // 构造请求参数 let connectorParam = { "op": _this.option, "value1": _this.number1, "value2": _this.number2 }; let connector = _this.ConnectorIns; // 本例中通过定义的callFlowConn函数统一处理桥接器相关操作 thisObj.callFlowConn(connector, connectorParam, _this.setResult); }, // 构造renderCbk函数,该例中为设置返回值 setResult: function (resData) { let _this = this; if (resData.data && resData.data.result != undefined) { _this.result = resData.data.result; } }
- 发起请求。
callFlowConn: function (connector, param, callbackFunc) { var thisView = this; if (connector) { // 通过桥接器实例的process方法处理请求示例: // connector.requestParams = param; // connector.process(function (response) { // if (response) { // callbackFunc.call(thisView, response); // } // }); // 通过桥接器实例的query方法处理请求示例: connector.query(param).then(res => callbackFunc(res)); } else { console.log("没有设置Connector或数据类型"); } }
- 在BridgeTestWidget.editor.js文件中,配置桥接器实例。
- 配置桥接器属性。
在页面中,拖入本例中的示例组件BridgeTestWidget,并配置该组件的桥接器属性,操作示例如下图所示。图11 配置桥接器属性示例
配置参数说明:
- 桥接器实例:桥接器类型,本示例选择“通用AppCube API数据桥接器”。
- 数据类型:本示例选择“动态数据”。
- 请求方法:数据为动态数据类型时需配置,这里选择的方法对应的是组件开发调用接口所用的方法。如果需要使用多个方法调用接口时,需要在界面配置多个方法。本示例选择“post”。
- 前缀:配置请求URL的部分内容,本例中为“/CNAME__customName23/1.0.0/calculate”,平台会自动为您拼接完整的URL。
- 共享数据:是否共享数据。若“数据类型”为“动态数据”,该参数才会显示,勾选表示某项目里多个组件调用一个公共的请求而访问同一个接口的数据,避免多次调接口。
- 调用周期:每隔多少秒调用一次后台接口或者获取静态数据,默认配置为“0”,表示只调用一次或者只获取一次静态数据。
- 预览效果。
组件的桥接器属性配置完成后,保存页面并依次发布、预览,查看效果是否符合预期。
图12 预览示例如上图所示,调用服务返回的结果结构如下,其中resCode和resMsg为固定结构,result属性对应的值为脚本或服务编排返回的结果。
{ "resCode":"0", "resMsg":"成功", "result":{"result":112} }
如何自定义桥接器
当通用桥接器不能满足您的场景需求,支持用户自定义桥接器,并上传到平台中,供高级页面使用。在桥接器中,平台对外开放的自定义部分主要执行流程如下所示:

如上图所示,桥接器中主要的自定义函数为constructUrl和transform,您可以按需求封装上述函数,以此实现不同功能的桥接器。自定义桥接器中常用的API说明,请参考高级页面桥接器中预置的API。在应用开发界面左侧列表单击,选择“高级页面 > 桥接器模板”,下载模板解压后可查看API调用示例。
- 在本地开发桥接器相关文件,并打成Zip包。
- 参考登录经典应用设计器中操作,登录经典版应用设计器。
- 在左侧列表中,单击
,选择“高级页面 > 桥接器模板”。
- 单击模板,在模板详情页单击“下载”。
- 在“下载桥接器模板”弹出框中,设置桥接器名称和桥接器模型名称,单击“保存”。
例如,设置“桥接器名称”为“bridgeTest”,“桥接器模型名称”为“bridgeModel”。若选择“下载原始模板”,下载到本地的包中桥接器名称和桥接器模型名称不会被修改。
- 将下载到本地的包进行解压,使用您熟悉的开发工具进行开发。
表2 桥接器目录结构说明 文件名
详细说明
mock\data.json
定义该桥接器静态数据,当在“组件属性设置”面板中数据栏配置该桥接器并选择静态数据类型时,AstroZero将读取该文件内容,作为静态数据来源。
bridgeTest.js
实现该桥接器的业务逻辑,其中主要函数及API描述如下:
- var bridgeTest = ConnectorWrapper.extend():表示该自定义桥接器继承于AstroZero平台定义的ConnectorWrapper类,此为开发规范。
- init函数实现。
- transform函数实现。
- constructUrl函数实现。
- Studio.registerConnector("bridgeTest", "bridgeTest", "", bridgeTest, bridgeModel):注册该桥接器,参数分别为桥接器的命名空间、桥接器名称、桥接说明、桥接器实例和桥接器模型。
bridgeModel.js
定义桥接器的对象模型。
packageinfo.json
桥接器的元数据描述文件,用于描述该桥接器。
- connectorApi.name:桥接器名称。
- connectorApi.namespace:桥接器的命名空间。
- connectorApi.model:桥接器模型。
- connectorDescription:定义该桥接器的说明。
- authorName:定义该桥接器的开发人员。
“bridgeTest.js”代码如下,加粗为预置的桥接器API,API说明请参见高级页面桥接器中预置的API。
var bridgeTest = ConnectorWrapper.extend({ init: function () { this.setInputParams([{ label: "URL", type: "text", name: "url", value: "/service/v1.0/getBasicInfo", validation: { rules: { required: true, }, messages: { required: "Please enter the URL." } } }]); }, transform: function (resultData, cbk) { if (resultData.resCode == "0") { var modelObj = new bridgeModel(); modelObj.setName(resultData.result[0].name); cbk(modelObj); } }, constructUrl: function (inputParamsObj) { var options = { data: JSON.stringify(inputParamsObj.input), contentType: "text/html;charset=utf-8", beforeSend: function (xhr) { xhr.setRequestHeader("bass-method", "post"); xhr.setRequestHeader("Content-Type", "application/json"); } }; this.setLoadMethod("post", "json", "", "", options); this.setUrl(inputParamsObj.url); } }); Studio.registerConnector("bridgeTest", "bridgeTest", "", bridgeTest, bridgeModel);
- 根据需求修改js文件内容。
- 在左侧列表中,单击
,选择“高级页面 > 桥接器”。
- 单击“提交新桥接器”,新建桥接器。
AstroZero支持批量上传桥接器,单击“批量操作桥接器”,可进行批量操作。
- 输入桥接器基本信息,选择zip包,单击“提交”,上传桥接器。
上传完成后,在“租户”下,可查看到该桥接器。
图14 图5 上传完成说明:
“全局”中为平台预置的桥接器,不可编辑和禁用预置桥接器。
- (可选)您可单击某一自定义桥接器,进入该桥接器详情页面,可进行编辑基本信息、编辑桥接器配置信息、下载或者禁用操作。
若禁用桥接器后,可在“高级页面> 禁用资产”中看到已禁用的桥接器。禁用后您可在桥接器详细页面单击“删除”,弹出确认框,您可填入该桥接器名称后单击“确定”,删除该桥接器。
在“概况”页签下看查看该桥接器的描述信息;在“更改历史”可查看该桥接器的历史版本(按照版本依次排序显示,最近版本号在最上面),可下载、在线预览代码和发布上传不同版本的桥接器。图15 图6 该桥接器详情页面
- 在组件中,配置该桥接器,详细操作请参见4。