Options
All
  • Public
  • Public/Protected
  • All
Menu

astro-zero - v23.3.0

AppCube 脚本标准库

本文是AppCube平台脚本标准库一个概览。

AppCube的脚本语法使用微软的typescript语言,当然您也可以写ES6, ES5标准的代码,代码会被编译成符合ES5标准的代码。

AppCube脚本引擎不是基于node.js,脚本引擎有如下限制:

  • 不兼容node.js标准库,不兼容npm生态
  • 普通任务脚本运行的最大时长是3分钟,定时任务场景下,运行时长是10分钟。
  • 不支持异步操作

AppCube的脚本引擎,有如下运行时限制,请仔细阅读:

AppCube 脚本引擎运行时限制

在阅读每个具体的标准库使用方法之前,请阅先读如下这个主题,以便让您知道怎么调用AppCube的脚本:

怎么使用 Action 调用脚本?

系统

context

context库提供了基本的获取系统的执行上下文信息,如

  • 获取登录用户信息: getUserName, getUserId, getLocale
  • 获得登录 token: getToken
  • 获取时区信息: 登录用户时区getTimeZone, 租户时区getOrganizationTimeZone
  • ......

sys

sys提供了能够调用系统引擎一些常见操作,如:

  • 调用 Bo 的接口: invokeSimpleBo
  • 调用 Flow: inovkeFlow
  • 发送异步事件: sendEvent, sendDelayEvent
  • 发送系统邮件: sendEmail
  • 发送 restaction: sendRest
  • ......

date

date是一个比较复杂的库,它的复杂性不在于接口的使用,而在于AppCube时区使用场景的复杂性。

具体使用请参考:时间处理

error

error定义了AppCube平台的错误处理机制。

runtime

runtime提供了运行时相关的一些功能,如:

  • 休眠:sleep
  • 获取栈信息:stack

核心引擎库

网络

http

支持基本的http客户端功能。

multipart

支持multipart/form-data上传文件应用场景: 上传文件示例

网络操作涉及的一些其他常用库

加解密

crypto

支持常见的加解密码功能,如:

  • 对称算法:AES CBC, AES GCM
  • 非对称算法:RSA
  • hash 算法: MD5, SHA1, SHA256
  • ......

详细使用请参考: crypto 使用示例

数据库

object

object封装了对象引擎的CRUD操作,详细使用请参考: object 使用示例

sql

sql封装了 sql 语句的操作,详细使用请参考: sql 使用示例

sql语法请参考: sql 语法

数据库操作涉及的其他相关库:

第三方系统对接

工具库

单元测试

怎么进行单元测试,请参考文档: