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

创建空白AstroZero脚本

服务编排和脚本一样,都是完成业务接口和逻辑开发的,服务编排是图形化的,适用于业务逻辑比较简单的场景,而对于业务逻辑比较复杂的场景,您可以通过在线开发TypeScript脚本实现。本章节以创建一个全新的脚本为例,向您介绍如何在低代码平台中新建一个脚本。本脚本实例不涉及对象及调用接口等内容,脚本只实现请求“http://www.example.com”,返回网站请求的消息头功能。

创建空白脚本

  1. 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
  2. 在左侧导航栏中,选择“逻辑”
  3. (可选)单击脚本后的,为脚本添加目录。

    脚本默认存放在根目录下,在创建脚本前,您可以先创建脚本存放的目录,也可以在脚本创建后将其拖拽到指定目录。

  4. 将鼠标放在已创建的脚本目录上,单击,进入新增脚本页面。

    如果未创建脚本目录,请直接单击脚本后的,进入新增脚本页面。

  5. 选择“创建一个新脚本”,设置脚本名称(如httpTest),单击“添加”,进入脚本编辑器页面。

    图1 新增httpTest脚本
    表1 新增脚本参数说明

    参数

    说明

    名称

    在输入框中,输入新建脚本的名称。命名要求如下:

    • 长度不能超过63个字符,包括前缀命名空间的长度。
      须知:

      名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

    • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,没有连续的下划线,且不能以下划线结尾。

    模板

    根据实际需求,在下拉框中选择脚本的模板。

    • 空脚本:创建一个空脚本。
    • 示例服务脚本:对外提供服务的脚本,可通过restful直接调用。
    • 示例内部脚本:是内部库代码,只能被其它脚本import使用。
    • 空白测试脚本:创建一个空测试脚本。
    • 示例前置/后置安装脚本:在安装或升级应用时,在导入实例化配置数据之前或者之后执行的脚本。一般用于预清理数据、删除和更新数据等。
    • 示例自定义接口前置脚本/后置脚本:在开放低代码平台的服务编排、脚本或者操作对象数据接口给第三方系统调用时,通过该示例脚本可实现在第三方系统配置这些接口的访问权限。

    默认值:空脚本。

    描述

    根据实际需求,输入脚本的描述信息。

    取值范围:1~255个字符。

  6. 在脚本编辑器中,将以下脚本代码粘贴到代码编辑区。

    import * as http from 'http' // 导入http库
    let client = http.newClient() // 实例化
    let resp = client.get("https://www.example.com/")// 请求网址
    console.log(resp.headers) // 打印返回headers

  7. 单击页面上方的,保存脚本。
  8. 运行测试脚本。

    1. 单击编辑器上方的,执行脚本。
    2. 在页面底部单击测试窗口右上角的,返回消息头信息。
      0603 10:39:22.569|debug|vm[731]>>> Build #AppCube Core 24.3.0 amd64
      Built on 2024-05-08 09:54:09 
      Commit #fbbb0cef14
      0603 10:39:22.571|debug|vm[731]>>> node: 4
      0603 10:39:22.573|debug|vm[731]>>> script: BJ4__httpTest__1.0.1
      0603 10:39:22.574|debug|vm[731]>>> locale: zh_CN
      0603 10:39:22.576|debug|vm[731]>>> os timezone: Local
      0603 10:39:22.578|debug|vm[731]>>> user timezone: (GMT+08:00) China Standard Time (Asia/***)
      0603 10:39:22.580|debug|vm[731]>>> organization timezone: (GMT+08:00) China Standard Time (Asia/***)
      0603 10:39:22.581|debug|vm[731]>>> load module http
      0603 10:39:24.934|debug|vm[731]>>> 
      {
          Date: [ Mon, 03 Jun 2024 02:39:24 GMT ],
          Set-Cookie: [ __cf_bm=mZCsDLBaFW9LYtwZSHdNG7lmfqWg7eiREVGkzxP0I5M-1717382364-1.0.1.1-kxYJgrTmCAQyj7kla1aazwY6lz3QSL9R98.v_HQCdYQqw2m.zkmxYpDhenoCTFxpfMLpzhrpiPT1eCdhqEgduw; path=/; expires=Mon, 03-Jun-24 03:09:24 GMT; domain=.squadhelp.com; HttpOnly; Secure; SameSite=None ],
          Vary: [ Accept-Encoding ],
          Server: [ cloudflare ],
          Content-Type: [ text/html; charset=UTF-8 ],
          X-Frame-Options: [ SAMEORIGIN ],
          Referrer-Policy: [ same-origin ],
          Cache-Control: [ max-age=15 ],
          Expires: [ Mon, 03 Jun 2024 02:39:39 GMT ],
          Cf-Ray: [ 88dc50043f2e5355-LAX ]
      } (BJ4__httpTest.ts:4)
      0603 10:39:24.936|debug|vm[731]>>> resource limit usage:
          number of RequestSOQLQueriesAmount: 0
          number of RequestSOQLRowsAmount: 0
          number of RequestSOSLQueriesAmount: 0
          number of RequestSOSLRowsAmount: 0
          number of RequestDMLStatementsAmount: 0
          number of RequestDMLRowsAmount: 0
          number of RequestCallOutsAmount: 1
          number of RequestEmailSendsAmount: 0
          number of RequestEventSendsAmount: 0

  9. 脚本测试完成后,单击页面上方的,启用该脚本。

    脚本启用后,即可在其他脚本、服务编排等操作中使用。如果脚本未启用,其他组件无法查询到该脚本,查询时会报错该脚本不存在或未启用。

相关文档