增加PushMe消息通道

This commit is contained in:
yafu 2023-07-20 10:28:36 +08:00
parent 596cacee65
commit d1fb3f4390
3 changed files with 37 additions and 0 deletions

View File

@ -15,6 +15,7 @@ export enum NotificationMode {
'iGot' = 'iGot',
'pushPlus' = 'pushPlus',
'email' = 'email',
'pushMe' = 'pushMe',
'feishu' = 'feishu',
'webhook' = 'webhook',
}
@ -101,6 +102,10 @@ export class EmailNotification extends NotificationBaseInfo {
public emailPass: string = '';
}
export class PushMeNotification extends NotificationBaseInfo {
public pushMeKey: string = '';
}
export class WebhookNotification extends NotificationBaseInfo {
public webhookHeaders: string = '';
public webhookBody: string = '';
@ -131,5 +136,6 @@ export interface NotificationInfo
IGotNotification,
PushPlusNotification,
EmailNotification,
PushMeNotification,
WebhookNotification,
LarkNotification {}

View File

@ -28,6 +28,7 @@ export default class NotificationService {
['iGot', this.iGot],
['pushPlus', this.pushPlus],
['email', this.email],
['pushMe', this.pushMe],
['webhook', this.webhook],
['lark', this.lark],
]);
@ -561,6 +562,28 @@ export default class NotificationService {
}
}
private async pushMe() {
const { pushMeKey } = this.params;
try {
const res: any = await got
.post(`https://push.i-i.me/?push_key=${pushMeKey}`, {
...this.gotOption,
json: {
title: this.title,
content: this.content
},
headers: { 'Content-Type': 'application/json' },
});
if (res === 'success') {
return true;
} else {
throw new Error(res);
}
} catch (error: any) {
throw new Error(error.response ? error.response.body : error);
}
}
private async webhook() {
const {
webhookUrl,

View File

@ -96,6 +96,7 @@ export default {
{ value: 'chat', label: '群晖chat' },
{ value: 'email', label: '邮箱' },
{ value: 'lark', label: '飞书机器人' },
{ value: 'pushMe', label: 'PushMe' },
{ value: 'webhook', label: '自定义通知' },
{ value: 'closed', label: '已关闭' },
],
@ -268,6 +269,13 @@ export default {
{ label: 'emailUser', tip: '邮箱地址', required: true },
{ label: 'emailPass', tip: '邮箱SMTP授权码', required: true },
],
pushMe: [
{
label: 'pushMeKey',
tip: 'PushMe的Keyhttps://push.i-i.me/',
required: true,
},
],
webhook: [
{
label: 'webhookMethod',