跳到主要内容

APP

概述#

通过 app ,您可以拿到当前应用的数据和常见的工具库、可以调用云函数、可以直接在低码编辑器中直接使用 app 等,增加编写程序的扩展性、便利性。

交互#

showToast(param: Object)#

入参 Object 属性#

属性类型默认值必填说明
titletitle提示的内容
iconstring'success'图标
imagestring自定义图标的本地路径或 url ,image 的优先级高于 icon
durationnumber1500提示的延迟时间(毫秒)

object.icon 的合法值#

说明
success显示成功图标,此时 title 文本最多显示 7 个汉字长度
error显示失败图标,此时 title 文本最多显示 7 个汉字长度
loading显示加载图标,此时 title 文本最多显示 7 个汉字长度
none不显示图标,此时 title 文本最多可显示两行,1.9.0 及以上版本支持

示例#

app.showToast({  title: "成功",  icon: "success",  duration: 2000 // 2秒});
app.showToast({  title: "失败",  icon: "error",  duration: 2000 // 2秒});

showLoading(object: Object)#

显示 loading 提示框。需主动调用 app.hideLoading 才能关闭提示框。

Object 参数#

属性类型默认值必填说明
titlestringfalse提示的内容

示例#

app.showLoading({  title: "加载中"});

hideLoading(object:Object)#

隐藏 loading 提示框。需主动调用 app.hideLoading 才能关闭提示框。

showModal(object: Object)#

显示模态对话框。

object 参数#

属性类型默认值必填说明
titlestring提示的标题
contentstring提示的内容
showCancelbooleantrue是否显示取消按钮
cancelTextstring'取消'取消按钮的文字,最多 4 个字符
cancelColorstring#000000取消按钮的文字颜色,必须是 16 进制格式的颜色字符串
confirmTextstring'确定'确认按钮的文字,最多 4 个字符
confirmColorstring#576B95确认按钮的文字颜色,必须是 16 进制格式的颜色字符串
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数#

属性类型说明
contentstringeditable 为 true 时,用户输入的文本
confirmboolean为 true 时,表示用户点击了确定按钮
cancelboolean为 true 时,表示用户点击了取消

示例#

app.showModal({  title: "提示",  content: "这是一个模态弹窗",  success(res) {    if (res.confirm) {      console.log("用户点击确定");    } else if (res.cancel) {      console.log("用户点击取消");    }  }});

工具#

app.utils 封装了一些常见的工具。

utils.get(object, path, defaultValue)#

根据 object 对象的 path 路径获取值。 如果解析 value 是 undefined 会以 defaultValue 取代。

输入参数#

参数类型必填说明
objectObject要检索的对象
pathArray 或 string要获取属性的路径
defaultValue*如果解析值是 undefined ,该值会被返回

示例#

/*$app = {  dataset: {    state: "lowcode"  }}*/app.utils.get(app, "dataset.state", "name");// 结果:lowcode
app.utils.get(app, "dataset.undefined", "name");// 结果:name

utils.set(object, path, value)#

设置 object 对象中对应 path 属性路径上的值,如果 path 不存在,则创建。 缺少的索引属性会创建为数组,而缺少的属性会创建为对象。

输入参数#

参数类型必填说明
objectObject要检索的对象
pathArray 或 string要获取属性的路径
defaultValue*如果解析值是 undefined ,该值会被返回

示例#

app.utils.set(app, "state.name", "customLowCode");// 输出:customLowCode

utils.formatDate(date, mask, utc, gmt)#

描述:格式化日期函数,能够按照特定的格式将时间戳格式化。

输入参数#

参数类型必填说明
datetimestamp时间戳(毫秒级别)
maskstring日期的格式

示例#

let currentDate;
currentDate = app.utils.formatDate(Date.now(), "ddd mmm dd yyyy HH:MM:ss");console.log(currentDate);// 结果:Fri May 28 2021 11:20:45
currentDate = app.utils.formatDate(Date.now(), "yyyy年mm月dd日 HH时MM分ss秒");console.log(currentDate);// 结果:2021年05月28日 11时20分45秒
currentDate = app.utils.formatDate(1622172155227, "yy年mm月dd日 HH时MM分ss秒", false, false);console.log(currentDate);// 结果:21年05月28日 11时22分35秒
currentDate = app.utils.formatDate(1622172155227, "yy年mm月dd日 HH时MM分ss秒", true);console.log(currentDate);// 结果:21年05月28日 03时22分35秒

Mask 示例#

Mask结果
ddd mmm dd yyyy HH:MM:ssSat Jun 09 2007 17:46:21
m/d/yy6/9/07
mm/dd/yyyy06/09/2007
mmm d, yyyyJun 9, 2007
mmmm d, yyyyJune 9, 2007
dddd, mmmm d, yyyySaturday, June 9, 2007
h:MM TT5:46 PM
h:MM:ss TT5:46:21 PM
h:MM:ss TT Z5:46:21 PM EST
yyyy-mm-dd2007-06-09
HH:MM:ss17:46:21
yyyy-mm-dd'T'HH:MM:sso2007-06-09T17:46:21+0700
UTC:yyyy-mm-dd'T'HH:MM:ss'Z'2007-06-09T22:46:21Z

路由#

Tips:请注意,在低码 IDE 中使用该路由函数时,不生效,需要预览或发布才有效果。

navigateTo(object)#

保留当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。

参数属性#

属性类型默认值必填说明
pageIdstring''页面 id
packageNamestring''子应用包地址,例如 packages/subapp
paramsobject{}query object 对象

示例代码#

app.navigateTo({  pageId: "index", // 页面 Id  params: { key: "value" }});

redirectTo(object)#

关闭当前页面,跳转到应用内的某个页面。

参数属性#

属性类型默认值必填说明
pageIdstring''页面 id
packageNamestring''子应用名称
paramsobject{}query object 对象

示例代码#

app.redirectTo({  pageId: "home", // 页面 Id  packageName: "", // 主应用为空或不填,子模块填写 子包目录,查找位置 子包编辑器 --- 页面 --- 子包目录  params: { key: "value" }});

reLaunch(object)#

关闭所有页面,打开到应用内的某个页面

参数属性#

属性类型默认值必填说明
pageIdstring''页面 id
packageNamestring''子应用名称
paramsobject{}query object 对象

示例代码#

app.reLaunch({  pageId: "home", // 页面 Id  packageName: "", // 主应用为空或不填,子模块填写 子包目录,查找位置 子包编辑器 --- 页面 --- 子包目录  params: {}});

navigateBack(object)#

关闭所有页面,打开到应用内的某个页面。

参数属性#

属性类型默认值必填说明
deltanumber1返回的页面数,如果 delta 大于现有页面数,则返回到首页。

示例代码#

app.navigateBack();

数据源#

cloud.callDataSource(Object)#

调用数据源的方法,异步 promise 形式。

入参属性#

属性类型默认值必填说明
dataSourceNameString-数据源标识
methodNameString-数据源方法标识
paramsObject-数据源方法参数
let data = await app.cloud.callDataSource({  dataSourceName: "logUser",  methodName: "getItem",  params: {    _id: "xxxx"  }});// data 为数据源方法云函数返回值
云函数#

在微搭中,云函数建立在数据源之下,只有当应用绑定了某个数据源,才能调用到该数据源以下的云函数。

以示例引用为例,假设当前应用绑定了 logUser 数据源。

logUser数据源

数据源包含 create, delete, update, getitem, getList 五个云函数。

云函数

则可以在页面的生命周期调用云函数。

async onPageLoad(query) {    let res = await app.cloud.callDataSource({      dataSourceName: "logUser",      methodName: "create",      params: {        name: 'Jack',        email: 'example@qq.com'      }    })    console.log(res)},

平台#

platform#

获取当前平台

示例#

console.log(app.platform);// web端输出 WEB,小程序端输出 MINIPROGRAME