- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南(低代码)
- 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轻应用平台管理中心
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
如何自定义调用脚本的URL
使用说明
低代码平台支持将已启用的脚本,封装成一个新的URL地址,方便让第三方系统进行调用。
操作步骤
- 参考登录经典应用设计器中操作,登录经典版应用设计器。
- 在页面左下方,选择“服务”。
图1 选择服务
- 在自定义访问控制页面,单击“新建”。
- 在新建公共接口页面,设置接口参数,单击“保存”。
图2 “新建自定义接口”配置页面
表1 新建接口参数配置 参数
参数说明
标签
新建接口的标签。
操作名称
新建接口的操作名称。
版本
URL对应的版本号。
URL
新URL地址,其中“/service”是固定值,其次是“/App名称/版本号”,剩下部分请自定义。
自定义的URL需要符合一定规则,规则如下:
- 必须以单个“/”开头。
- 可以配置多级路径,两个或者多个“/”之间必须有内容。
内容类型
请求中的body类型。
- application/json
- multipart/form-data
- binary-data
“multipart/form-data”和“binary-data”用于文件上传接口,选择该内容类型,只能调用POST类型的脚本。
分类
新建接口所属的分类。
描述
新建接口的描述信息,长度不超过255个字节。
允许匿名访问
是否可匿名访问运行环境中,该API接口。
勾选表示允许匿名访问,通过运行环境子域名访问此接口时,如果无有效的Token认证信息,则以匿名用户身份继续访问此接口,且不需要做CSRF校验。匿名用户的权限为“Anonymous User Profile”,请确保该权限具备访问该接口的业务权限凭证或者相关资源权限。例如,当该接口有配置业务权限凭证时,给“Anonymous User Profile”权限添加相应业务权限凭证,即可通过运行环境子域名匿名访问该接口。
- 需要支持匿名访问自定义接口的账号,必须要设置运行环境子域名。
- 带有合法认证信息来访问允许匿名访问的自定义接口时,优先以合法认证的身份权限来访问。
- 匿名用户身份访问自定义接口,不需要做CSRF校验。
- 不论以什么方式来访问, 认证身份后做的权限校验保持一致。如果配置了业务权限凭证,还是会查看用户权限是否配置相应业务权限凭证。
例如:登录业务应用接口“login”的URL为“/service/trq1__MyApp/1.0.0/login”,运行环境子域名为“test.example.com”,期望可匿名访问该自定义接口,则配置接口时请勾选“允许匿名访问”,且“Anonymous User Profile”权限配置了该接口的业务权限凭证,则匿名用户通过“https://test.example.com/service/trq1__MyApp/1.0.0/login”即可访问该接口。
类型
新建接口类型。
- 服务编排:表示该定义URL调用的接口类型是服务编排。
- 脚本:表示该定义URL调用的接口类型是脚本。
- 对象:表示该定义URL是操作对象数据,包括对象数据的增删改查。
本示例选择脚本。
自定义响应
是否需要格式化调用该URL后,返回的响应消息。如果勾选,表示对响应消息进行格式化,删除resCode、resMsg、result外层信息,只透传返回的消息。
例如,不勾选“自定义响应”,返回如下响应消息:
{ "resCode": "0", "resMsg": "成功", "result": [ { "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2" } ] }
勾选“自定义响应”后,只返回如下响应消息:
{ "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2" }
资源
调用的服务编排、脚本或操作的对象名称。
对象操作
设置具体的操作,“类型”选择“对象”时,该参数才会显示。
- Insert Record:新增对象数据。
- Update or Insert Record:更新或新增对象数据。
- Update By ID:按记录ID,更新对象数据。
- Delete By ID:按记录ID,删除对象数据。
- Query By ID:按记录ID,查询对象数据。
- Update By Condition:按条件,更新对象数据。
- Delete By Condition:按条件,删除对象数据。
- Query By Condition:按条件,查询对象数据。
方法
映射后调用的方法名,如GET(查询)、PUT(增加)、POST(修改)和DELETE(删除)。
- (可选)开发者配置自定义接口列表的访问权限。
说明:
当开发者需要将自定义接口访问控制和开发的脚本绑定在一起时,例如自定义这些接口的访问权限,需要执行该步骤。
- 参考脚本开发中操作,开发权限脚本,新建脚本时选择“示例权限脚本”模板,在脚本中定义权限逻辑,开发完后并启用脚本。
例如,“示例权限脚本”模板是开发者需要通过脚本实现根据用户标识查询第三方权限数据,脚本的设计逻辑流程如下。
- (可选)设置数据过滤,例如根据第三方系统用户名进行数据过滤。
- (根据过滤条件)向第三方获取权限数据。
- (可选)缓存权限数据。
- 根据当前API标识,检查是否有权限。
- 在自定义接口列表页面,即服务页面上方“自定义访问控制”区域单击“编辑”。
- 在“配置”页面选中“与脚本绑定”, 选择前置处理脚本和后置处理脚本,单击“保存”。
- 前置处理:一般是授权处理脚本,在访问自定义接口前,需要进行授权处理。
- 后置处理:一般是敏感错误信息或者统计日志处理脚本,后置脚本没有返回参数,无论执行成功或失败都不影响自定义接口的请求处理流程。
图3 绑定权限脚本 - 当开发者不需要使用该权限脚本时,可在页面单击“禁用”。
- 参考脚本开发中操作,开发权限脚本,新建脚本时选择“示例权限脚本”模板,在脚本中定义权限逻辑,开发完后并启用脚本。
- (可选)设置访问该自定义接口的用户业务权限。
说明:
当需要配置该接口的用户访问时,需要执行该步骤。若已参照上一步设置了通过脚本控制接口访问权限,则该步骤设置不生效。
若没有参照上一步通过脚本控制接口访问权限,也没有配置业务权限且内置系统参数“bingo.permission.customapi.check”值为“否”,则只有业务用户可访问该接口,平台用户不可访问。若没有参照上一步通过脚本控制接口访问权限,也没有配置业务权限且内置系统参数“bingo.permission.customapi.check”值为“是”,则业务用户和平台用户都不可访问。若已参照上一步设置了通过脚本控制接口访问权限,则业务权限配置不生效。若没有参照上一步通过脚本控制接口访问权限,而配置了业务权限,则只有拥有该业务权限的用户才可以访问该接口。
例如,配置只有拥有业务权限“A”的用户,才可访问该接口。- 参考设置业务权限中操作,在经典版环境配置中选择“用户管理 > 业务权限凭证”,创建业务权限“A”。
图4 创建业务权限“A”
- 选择“用户管理 > 权限配置”,编辑权限,在“业务权限凭证”页签配置接入业务权限“A”。
图5 用户权限配置
- 返回经典版应用设计器,单击“服务”,在自定义访问控制接口列表中,单击操作名,进入自定义接口详情页面。
- 在业务权限凭证中,单击“编辑”,配置业务权限,将左侧业务权限“A”加入到右侧“已选择业务权限凭证列表”中,单击“保存”。
图6 配置业务权限
业务用户访问该接口URL前,请参考如何开发服务编排中操作,创建如下服务编排,用于获取token值。其中,赋的值“PL”是一个公式变量,表达式为“PORTALUSERLOGIN("pu1")”,“pu1”为业务用户名,配置该服务编排的出参为“token”。
图7 创建服务编排执行服务编排后,在如下输出信息中,获取token值。
{ "interviewId": "002N000000RBLY9scgDY", "outputs": { "token": "XXXXXXXXXXXXXXXXXX" } }
- 参考设置业务权限中操作,在经典版环境配置中选择“用户管理 > 业务权限凭证”,创建业务权限“A”。
- 接口创建完成后,支持在线测试。