# 工具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
是现世界标准时。
UTC
比GMT
更精准,以原子时计时,适应现代社会的精确计时。在不需要精确到秒的情况下,二者可以视为等同。
示例
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 |