高级页面中预置的API
在开发高级页面过程中,系统为页面组件和桥接器提供了一些预置API。
组件
在开发自定义组件时,需要定义“组件名.js”文件,该文件为组件逻辑文件,是整个组件的渲染核心JS,在组件编辑状态和页面最终的发布运行态都会被加载执行。主要包含的预置API说明,请参见表1。
桥接器
用户不需要自定义开发桥接器,使用系统预置的“通用AstroZero API数据桥接器”即可调用应用的服务接口。AstroZero也支持用户自定义桥接器,并上传到平台中,提供给页面组件使用。在桥接器中,AstroZero对外开放的自定义部分主要执行流程如图1所示:
桥接器中主要的自定义函数为constructUrl和transform,您可以按需求封装上述函数,以此实现不同功能的桥接器。自定义桥接器中常用的API如表2所示,在经典版应用设计器左侧列表中,单击,选择“高级页面 > 桥接器模板”,下载模板解压后可查看API调用示例。
API名称 |
详细说明 |
---|---|
init() |
桥接器初始化函数,在该函数中主要实现为对setInputParams函数的调用,设置桥接器的自定义配置项。 |
setUrl(url) |
在constructUrl(params)中必须要调用该API,用于设置该桥接器请求的URL。 |
setLoadMethod(type, dataType, callback, callbackName, ajaxOptions) |
在constructUrl(params)中调用该API,用于对请求constructUrl(params)的参数做处理。该API中参数说明如下:
|
constructUrl(params) |
在发起请求前执行该API,该API用于构造请求的URL。其中,“params”为请求参数。 使用说明:在该API中必须要调用setUrl(url)对URL赋值,还可调用setLoadMethod对请求参数做处理,该操作为可选。 |
transform(resultData, renderCbk) |
处理请求响应,参数说明如下:
|
getUrl() |
获取该桥接器请求的URL。 |
setInputParams([{},...,{}]) |
设置桥接器的自定义配置项。
桥接器自定义配置项代码示例: this.setInputParams([ { "type": "select", "name": "requestMethod", "label": JSON.stringify({zh_CN: "请求方法", en_US: "Request Method"}), "options": [ { "label": "post", "value": "post", "selected": "true" }, { "label": "get", "value": "get" }, { "label": "put", "value": "put" }, { "label": "delete", "value": "delete" }], "validation": { "rules": {} } }, { "type": "text", "name": "prefix", "label": JSON.stringify({zh_CN: "前缀", en_US: "prefix"}), "value": "", "validation": { "rules": {} } }]); |
getInputParams() |
获取桥接器的自定义配置项的设置值。 |