警告
本文最后更新于 2020-03-22,文中内容可能已过时。
周末灌水,上午修补Valine-Admin,中午白嫖1Password,下午处理荣耀平板5的谷歌三件套
Valine-Admin: 不能每日邮件遗漏补发,原因:函数写半个?
荣耀平板5最新系统9.1.0.175无法获取谷歌服务,原因:贸易战
博客用的是Valine的三方评论,后台模板用的是zhaojun改完的Valine-Admin,基于免费版Leancloud账户的问题,每日最多运行18小时,所以在0-7点属于休眠状态,这个时刻如果有人评论了,虽然是会唤醒服务,但是是收不到邮件的,就需要邮件补发功能了,经过遗漏掉一条邮件排查掉,zhaojun fork panjunwen 的项目之后改完漏掉一个函数sendNotification
,唉,fork了不要魔改啊,改的都丢三落四,整理完的 cloud.js
如下:
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
50
51
52
53
54
55
56
57
58
59
60
61
|
const AV = require('leanengine');
const mail = require('./utilities/send-mail');
const Comment = AV.Object.extend('Comment');
const request = require('request');
function sendNotification(currentComment) {
// 通知站长
mail.notice(currentComment);
// AT评论通知
let pid = currentComment.get('pid');
if (!pid) {
console.log("这条评论没有 @ 任何人");
return;
}
// 通过被 @ 的评论 id, 则找到这条评论留下的邮箱并发送通知.
let query = new AV.Query('Comment');
query.get(pid).then(function (parentComment) {
if (parentComment.get('mail')) {
mail.send(currentComment, parentComment);
} else {
console.log(currentComment.get('nick') + " @ 了" + parentComment.get('nick') + ", 但被 @ 的人没留邮箱... 无法通知");
}
}, function (error) {
console.warn('好像 @ 了一个不存在的人!!!');
});
}
AV.Cloud.afterSave('Comment', function (request) {
let currentComment = request.object;
return sendNotification(currentComment)
});
AV.Cloud.define('resend_mails', function(req) {
let query = new AV.Query(Comment);
query.greaterThanOrEqualTo('createdAt', new Date(new Date().getTime() - 24*60*60*1000));
query.notEqualTo('isNotified', true);
// 如果你的评论量很大,可以适当调高数量限制,最高1000
query.limit(200);
return query.find().then(function(results) {
new Promise((resolve, reject)=>{
count = results.length;
for (var i = 0; i < results.length; i++ ) {
sendNotification(results[i]);
}
resolve(count);
}).then((count)=>{
console.log(`昨日${count}条未成功发送的通知邮件处理完毕!`);
}).catch((err)=>{
console.log(err);
});
});
});
AV.Cloud.define('self_wake', function(req) {
request(process.env.ADMIN_URL, function (error, response, body) {
console.log('自唤醒任务执行成功,响应状态码为:', response && response.statusCode);
});
})
|
总所周知,免费服务有限制,比如唤醒只给了15s时间,所以容易启动不了
解决办法:使用 linux
的 Crontab
自行唤醒,即不用Leancloud定时任务唤醒,只用其补发邮件
看的某乎的教程直接添链接了,白嫖1Password家庭版一年~真香!
很神奇,可能是由于贸易战或者缓解原因,有的机型自带GMS,有的不带需要自己装,解决办法是花粉俱乐部参考得到的(即东拼西凑),以下是获取之前的配置
- 安卓9
- Magic UI 2.1.0
- 版本号 9.1.0.175
方法:
先通过华为手机助手降级到9.0.x.122,然后可以升级,升级到9.1.0.128😀必须128
安装谷歌服务方法(需PC辅助)
教程适用机型有:华为Mate30系列、华为畅享10Plus、华为nova5/nova5 Pro、华为novai/novai Pro、华为麦芒8、华为畅享9系列/Max等
荣耀9X、荣耀20i、荣耀8X/8X Max、荣耀10青春版等
荣耀平板5、华为平板M6等
助手是用来激活设备管理器的,只要激活了就行了,不用担心惊叹号那些问题。
步骤如下
-
下载并解压谷歌服务包
-
连接Hisuite(pc华为手机助手)点击数据恢复,找到刚才解压的文件,只恢复应用数据
-
恢复完成后,查看桌面是否有谷歌服务助手
APP
-
打开谷歌服务助手,激活设备管理器 其他不用理会(感叹号的不用管,直接退出APP)
-
激活完成后重启手机,下载Go谷歌安装器
,安装三件套,完成,如果可以打开谷歌play
并可以登陆,那就恭喜了
- 谷歌服务 提取码:
9rvb
- Go谷歌安装器,酷安和豌豆荚都有