本着能自己解决就自己解决的原则,遇到问题可以先看看说明,确实不会欢迎找作者沟通
QQ用户群:478378960,作者QQ号:3579137434
- 就是在通知发出来之前,先执行一段自定义的JS脚本
- 可以动态修改通知的标题、URL、摘要以及详情内容,以达到个性化推荐的目的
- 可以通过设置ignored字段忽略本次提醒:
data.ignored=true
- 可以动态修改通知地址,比如监控失败的时候只发送给自己
- 比如,如果监控的是数字,那么我们可以把推送的摘要或者标题动态改成:涨幅xxx%
function beforeNotify(id, data) {
var pre = parseFloat(data.preData.text);
var cur = parseFloat(data.curData.text);
var diff = cur - pre;
if (/重新框选/.test(data.text)) {
data.config.webhook = "UID_xxx_N";
} else {
var text = "盈亏比例为:" + ((cur - pre).toFixed(2) / 80).toFixed(4) + "%";
data.text = text;
if (cur > pre) {
data.config.title = "枭龙一号开单了,本单为盈利单!";
} else {
data.config.title = "枭龙一号开单了,本单为亏损单";
}
}
_callback(id, data);
}
这里function beforeNotify(id, data) {_callback(id, data);}
是固定格式,不要改动
ID: 是一个标识,代码回调映射,编写脚本不用关心
data: 是通知需要的数据,完整的结构如下:
{
text: '消息推送文本内容',
html: '消息详情html代码',
ignored: false, // 是否忽略本次通知
config: {
title: '监控任务标题',
url: '监控任务的url地址',
emails: '通知邮箱',
webhook: '微信UID或者webhook地址'
},
preData: {
text: '上一次检测到的文本内容',
html: '上一次检测到的HTML片段'
},
curData: {
text: '当前检测到的文本内容',
html: '上一次检测到的HTML片段'
},
}
我们可以通过data变量获取对应的数据,也可以动态修改这些字段,达到修改通知内容目的
代码在一个沙盒页面运行,可以访问DOM接口&操作DOM!
注意,这是模板消息,只能修改以上这些字段,其他字段的修改没有意义
function schedule(id, data) {
var text = data.list.map(function(item) {
return item.text;
}).join("\n");
var html = data.list.map(function(item) {
return item.html;
}).join("<br>");
/*设置报告标题*/
data.config.title="这是日报";
/*设置文本摘要*/
data.text = text;
/*设置通知详情富文本*/
data.html = html;
_callback(id, data);
}
这里function schedule(id, data) {_callback(id, data);}
是固定格式,不要改动
ID: 是一个标识,代码回调映射,编写脚本不用关心
data: 是通知需要的数据,完整的结构如下:
{
text: '发送消息的文本摘要,需要脚本设置',
html: '发送消息详情html代码,需要脚本设置',
ignored: false, // 是否忽略本次通知
config: {
title: '监控任务标题',
url: '监控任务的url地址',
emails: '通知邮箱',
webhook: '微信UID或者webhook地址'
},
list: [ // 第一条是最新的内容
{html: '每次监控提取的HTML片段', text: 每次监控提取的文本内容},
{html: '每次监控提取的HTML片段', text: 每次监控提取的文本内容}
]
}
我们可以通过data.text, data.html和data.config.title实现日报的定制