whyour / qinglong

支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
https://qinglong.online
Apache License 2.0
15.66k stars 2.91k forks source link

PushMe通知支持自建服务 #2358

Closed yafoo closed 3 months ago

yafoo commented 4 months ago

PR Type

What kind of change does this PR introduce?

What is the current behavior?

Issue Number: N/A

What is the new behavior?

PushMe通知支持自建服务、python通知脚本支持更多参数

Does this PR introduce a breaking change?

Other information

vercel[bot] commented 4 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
qinglong ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 7, 2024 3:55am
qinglong-back ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 7, 2024 3:55am
whyour commented 3 months ago
image

这两个参数是干什么的

yafoo commented 3 months ago
image

这两个参数是干什么的

date是消息日期字符串,为空的话,默认当前日期。

type是消息格式,PushMe支持text markdown data markdata 4种格式,为空默认text。

文档地址:https://push.i-i.me/docs/index

之前js脚本已支持设置消息格式,我看python脚本send函数也支持动态传入参数,所以也加上。

whyour commented 3 months ago
image

这两个参数是干什么的

date是消息日期字符串,为空的话,默认当前日期。

type是消息格式,PushMe支持text markdown data markdata 4种格式,为空默认text。

文档地址:https://push.i-i.me/docs/index

之前js脚本已支持设置消息格式,我看python脚本send函数也支持动态传入参数,所以也加上。

那是不是 js 和系统内置的都可以加上,另外这个参数名称太宽泛了,有可能会重复

yafoo commented 3 months ago
image

这两个参数是干什么的

date是消息日期字符串,为空的话,默认当前日期。 type是消息格式,PushMe支持text markdown data markdata 4种格式,为空默认text。 文档地址:https://push.i-i.me/docs/index 之前js脚本已支持设置消息格式,我看python脚本send函数也支持动态传入参数,所以也加上。

那是不是 js 和系统内置的都可以加上,另外这个参数名称太宽泛了,有可能会重复

1:js的之前已经支持了 微信图片_20240513095831

2:系统内置的通知,一个是本身没有第三个扩展参数,不过可以加上。另外就是目前我看只有登录账号时有个通知,用户脚本好像也调用不了内置通知,感觉没加的必要,所以没加。还有就是内置通知是不是可以和脚本的通知文件合并,现在是两套通知,有点迷惑,新用户可能会有疑问:明明在系统设置里配置了通知,怎么脚本还是无法发送通知呢? 微信图片_20240513101704

3:这两个参数名,一开始我写的是大写+前缀(PUSHME_TYPE、PUSHME_DATE),然后感觉也不太好,这两个参数是调用时传入的,这样写感觉像是预定义配置的似的。另外就是没法和js通知脚本变量统一。js调用方式为sendNotify('标题', '内容', {type: 'markdown'}),python的写法为send('标题', '内容', False, PUSHME_TYPE='markdown')不太美,感觉这样会好一点send('标题', '内容', False, type='markdown')。还有就是大写+前缀这种写法,不看源码的话,可能不知道变量名。小写的参数名有点宽泛,不过预定义的变量都是大写+前缀,所以不会跟预定义的有重复。但是可能会与其他通知方式的扩展参数冲突。前提是同时设置了多种通知方式,并且调用时都设置了扩展参数。我想,既然用户传了扩展参数,肯定已经知道扩展参数的意义,也知道不同通知方式的扩展参数类型,也应该知道有冲突的风险。

冲突解决方式:1是把不同的通知函数也导出,如有冲突单独调用即可。2是扩展参数都加上前缀,不过改动有点大。js通知里其他的通知方式都加上前缀。还有个方案就是不管这个冲突,哈哈。 微信图片_20240513104601

我不确定用哪种方式合适点,你看看定一下方案,我再改。