文档

API 参考

更新时间:

本文介绍了在魔笔低代码开发平台支持的 JavaScript 代码中可使用的 API,包括全局对象、全局方法、页面组件 API、变量 API、前端函数 API、计算属性 API 和集成操作 API。

全局对象

平台内置的应用级全局对象,包括当前应用、用户和 URL 等信息,可通过根对象mobi访问。

appInfo

当前应用信息。

属性

类型

说明

appId

string

应用 Id

appName

string

应用名称

mode

string

应用模式:

  • edit:编辑模式,应用运行于设计器中;

  • published:发布模式,应用运行于发布环境;

environment

string

应用连接环境:

dev:开发环境;

production:生产环境;

currentUser

当前用户信息。

属性

类型

说明

id

string

用户 Id

name

string

用户名

email

string

头像图片地址

URL

当前 URL 信息。

属性

类型

说明

href

string

应用完整 URL

origin

string

URL 源,包括协议、主机名和端口号

protocol

string

URL 协议,http:|https:

host

string

URL 主机名,包括端口号

hostname

string

URL 主机名,不包括端口号

pathname

string

URL 路径,以/开头

port

string

URL 端口号

hash

string

URL 片段标识符,以 # 开头

search

string

URL 查询参数字符串,以 ?开头

queryParams

object

URL 查询参数对象

全局方法

平台内置的应用级全局方法,可通过根对象mobi访问。

navigateTo()

应用内页面跳转或跳转至指定 URL。

返回值类型:void。

参数列表:

参数名

类型

说明

是否必填

options

object

配置对象

options 对象:

属性名

类型

说明

是否必填

pageName

string

应用内页面名称,优先级低

route

string

应用内页面路由,优先级中

url

string

外部 URL 地址,优先级高

queryParams

object

查询参数对象,转换为字符串后拼接到目标页面 URL search 中

hashParam

string

Hash 参数,拼接到目标页面 URL hash #

target

string

页面打开位置:

  • _self:当前窗口或标签页;

  • _blank:新窗口或标签页;

  • _parent:上层框架;

  • _top:顶级窗口或标签页;

内部跳转默认值为_self,外部跳转默认值为_blank,在应用设计器中按照默认值跳转

showMessage()

展示全局提示。

返回值类型:void。

参数列表:

参数名

类型

说明

是否必填

message

string

消息文本内容

options

object

配置对象

options 对象:

属性名

类型

说明

是否必填

type

string

提示类型:

  • info:通知;

  • success:成功;

  • warning:警告;

  • error:错误;

默认值:info

duration

number

显示持续时间,0 表示一直存在,单位:毫秒,默认值:3000

showModal()

展示对话框。

返回值类型:Promise<boolean>。

参数列表:

参数名

类型

说明

是否必填

title

string

对话框标题

content

string

对话框内容

options

object

配置对象

options 对象:

属性名

类型

说明

是否必填

type

string

对话框类型:

  • confirm:通用;

  • info:通知;

  • success:成功;

  • warning:警告;

  • error:错误;

默认值:confirm

okText

string

确认按钮文本

cancelText

string

取消按钮文本,仅在 type 属性为confirm时生效

当对话框的确认按钮被点击时,返回的 Promise resolve 的值为true,其他情况下关闭对话框,返回的 Promise resolve 的值为false

showPopconfirm()

展示气泡确认框。

返回值类型:Promise<boolean>。

参数列表:

参数名

类型

说明

是否必填

title

string

气泡确认框标题

description

string

气泡确认框内容

当气泡确认框的确认按钮被点击时,返回的 Promise resolve 的值为true,当取消按钮被点击时,返回的 Promise resolve 的值为false

createTour()

定义并执行一段漫游式引导。

返回值类型:Promise<boolean>。

参数列表:

参数名

类型

说明

是否必填

steps

array

步骤定义

steps 数组中的元素:

属性名

类型

说明

是否必填

title

string

当前步骤标题

description

string

当前步骤内容

target

object

当前步骤目标页面组件对象,通过组件 Id 进行引用,例如button1

当漫游式引导的结束按钮被点击时,返回的 Promise resolve 的值为true,其他情况下关闭漫游式引导,返回的 Promise resolve 的值为false

userLogout()

当前用户登出,在设计器中不生效。

返回值类型:void。

页面组件 API

页面组件在 JavaScript 代码中被视为页面组件对象,通过组件 Id 进行引用,可通过.操作符访问页面组件对象上的属性和方法。

属性/方法

类型/签名

说明

示例

组件属性

string

组件属性值

const v1 = input1.value

{{ input1.value }}

set 组件属性 ()

setXXX(param: any): void

设置组件属性值

input1.setValue("a")

clear 组件属性 ()

clearXXX(): void

清除组件属性值,部分属性支持

input1.clearValue()

组件方法 ()

XXX(payload?: any): any

调用组件的其他方法

input1.focus()

变量 API

平台中定义的变量在 JavaScript 代码中被视为变量对象,通过变量 Id 进行引用,可通过.操作符访问变量对象上的属性和方法。

属性/方法

类型/签名

说明

示例

value

any

变量值

const v1 = variable1.value

{{ variable1.value }}

setValue()

setValue(value: any): void

设置变量值

variable1.setValue("a")

前端函数 API

平台中定义的前端函数在 JavaScript 代码中被视为前端函数对象,通过前端函数 Id 进行引用,可通过.操作符访问前端函数对象上的属性和方法。

属性/方法

类型/签名

说明

示例

data

any

前端函数最近一次执行的返回值

const data = func1.data

{{ func1.data }}

params

object

前端函数最近一次执行的参数值对象

-

isExecuting

boolean

前端函数当前是否正在执行

-

error

object

前端函数最近一次执行的错误信息,包括 code 和 message

-

trigger()

trigger(params?: object): Promise<Result>

调用前端函数,Result 对象包含:

  • success:是否成功执行;

  • data:执行成功的返回值;

  • error:执行失败的错误信息;

const res = await func1.trigger()

计算属性 API

平台中定义的计算属性在 JavaScript 代码中被视为计算属性对象,通过计算属性 Id 进行引用,可通过.操作符访问计算属性对象上的属性。

属性

类型

说明

示例

value

any

计算属性的值

const value = compute1.value

{{ compute1.value }}

集成操作 API

平台中定义的集成操作在 JavaScript 代码中被视为集成操作对象,通过集成操作 Id 进行引用,可通过.操作符访问集成操作对象上的属性和方法。

属性/方法

类型/签名

说明

示例

data

any

集成操作最近一次执行的数据

const data = action1.data

{{ action1.data }}

rawData

any

集成操作最近一次执行未经数据转换的数据

-

params

object

集成操作最近一次执行的参数值对象

-

isExecuting

boolean

集成操作当前是否正在执行

-

error

object

集成操作最近一次执行的错误信息,包括 code 和 message

-

trigger()

trigger(params?: object): Promise<Result>

调用集成操作,Result 对象包含:

  • success:是否成功执行;

  • data:执行成功的返回值;

  • error:执行失败的错误信息;

const res = await action1.trigger()

注意事项

  • 仅能在页面级作用域中访问页面组件对象。

  • 在列表和表格等迭代器组件的迭代项内,可通过 currentItemcurrentIndex访问当前迭代项的数据和下标。

  • 计算属性的值完全由计算逻辑及其依赖项决定,不可直接修改计算属性的值。

  • 平台封装的根对象mobi、页面组件对象、变量对象、前端函数对象、计算属性对象和集成操作对象自身及其属性都不可通过赋值语句进行修改。如需修改被封装对象的属性,应调用对应的方法,例如variable1.value = "a"的写法是错误的,正确写法为variable1.setValue("a")