# 工具API

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

# 对象操作

# get

utils.get(object, path, defaultValue)

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

输入参数

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

示例

console.log(app.utils.get(app.state, 'name'));
// 结果:LowCode

# set

utils.set(object, path, value)

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

输入参数

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

示例

app.utils.set(app.state, 'name', 'customLowCode');
console.log(app.utils.get(app.state, 'name'));
// 输出:customLowCode

# 日期操作

# formatDate

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

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

输入参数

参数 类型 必填 说明
date timestamp 时间戳(毫秒级别)
mask string 日期的格式
utc boolean 协调世界时间
gmt boolean 格林威治平时间

GMT 和 UTC 的差别:

GMT 是前世界标准时, UTC 是现世界标准时。

UTCGMT 更精准,以原子时计时,适应现代社会的精确计时。

在不需要精确到秒的情况下,二者可以视为等同。

示例

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:ss Sat Jun 09 2007 17:46:21
m/d/yy 6/9/07
mm/dd/yyyy 06/09/2007
mmm d, yyyy Jun 9, 2007
mmmm d, yyyy June 9, 2007
dddd, mmmm d, yyyy Saturday, June 9, 2007
h:MM TT 5:46 PM
h:MM:ss TT 5:46:21 PM
h:MM:ss TT Z 5:46:21 PM EST
yyyy-mm-dd 2007-06-09
HH:MM:ss 17:46:21
yyyy-mm-dd'T'HH:MM:sso 2007-06-09T17:46:21+0700
UTC:yyyy-mm-dd'T'HH:MM:ss'Z' 2007-06-09T22:46:21Z