为什么iPhone可以收到被墙的App推送
因为推送不是由App直接发的,而是统一发到Apple的推送服务上,最终由Apple推送到手机上
为了写简历,不知道怎么插入一条直线作为分割线。查到v2ex上的一篇帖子问了同样问题。1
在右边Layout里的Borders & Rules可以设置分割线的风格以及位置。
小程序云函数里使用new Date('2019-05-22 00:00:00')
得到了一个NaN
,和浏览器的不一样,和本地测试也不一样,只是真实环境,用腾讯自己的服务时才有这个问题。后来去找了资料,得知到怎样按照时区来parse的完整字符串。比如:1
new Date('2019-05-22T14:00:00+08:00') // 按照东8区
小程序有上传图片功能,但考虑到图片可能由非手机设备拍摄的,因此增加了Web上传接口。Web上传后,小程序中有一个数据同步按钮,用以触发云函数去拉取Web上的数据。结果发现有大量重复数据被插入到小程序云数据库中,临时方案进行去重处理,代码如下:
1 | let all = [] |
使用小程序的模版通知,结果得到题目的这种错误。发现如果发给支付方则可以成功,而想发送通知给售出方则会有下面的这种错误。
1 | {"errCode":41028,"errMsg":"openapi.templateMessage.send:fail invalid form id hint: [xbWplA05654114]"} |
为了健壮性,要对每一步操作进行执行结果检查,代码写出来很臃肿,不知道怎么精简。
例子:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50async function func1(){
let res
try {
let res = await db.call()
} catch(e) {
console.error(e)
return {
err: true,
msg: 'fail in func1'
}
}
return {
err: false,
data: res
}
}
// func2 ...
// func3 ...
async function main(){
let res = await func1()
if (res.err) {
return {
err: true,
msg: 'fail in func1'
}
}
res = await func2()
if (res.err) {
return {
err: true,
msg: 'fail in func2'
}
}
res = await func3()
if (res.err) {
return {
err: true,
msg: 'fail in func3'
}
}
return {
err: false,
msg: 'ok'
}
}
看到《Don’t use Array.forEach, use for() instead》这篇文章介绍了这个事情,没细究,不过记住了