From 25adf97b2babc62b8029203976cd7e6b24db7b29 Mon Sep 17 00:00:00 2001 From: xx Date: Tue, 24 Dec 2024 09:54:33 +0800 Subject: [PATCH] fix: trim str, clear choise when change option --- server/notification-providers/dingding.js | 7 ++++--- src/components/notifications/DingDing.vue | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/server/notification-providers/dingding.js b/server/notification-providers/dingding.js index 39f8b1711..cfacd45ed 100644 --- a/server/notification-providers/dingding.js +++ b/server/notification-providers/dingding.js @@ -14,14 +14,15 @@ class DingDing extends NotificationProvider { const mentionAll = notification.mentioning === "everyone"; const mobileList = notification.mentioning === "specify-mobiles" ? notification.mobileList : []; const userList = notification.mentioning === "specify-users" ? notification.userList : []; - const mentionStr = [ ...mobileList || [], ...userList || [] ].map(item => `@${item}`).join(" "); + const finalList = [ ...mobileList || [], ...userList || [] ]; + const mentionStr = finalList.length > 0 ? "\n" : "" + finalList.map(item => `@${item}`).join(" "); try { if (heartbeatJSON != null) { let params = { msgtype: "markdown", markdown: { title: `[${this.statusToString(heartbeatJSON["status"])}] ${monitorJSON["name"]}`, - text: `## [${this.statusToString(heartbeatJSON["status"])}] ${monitorJSON["name"]} \n> ${heartbeatJSON["msg"]}\n> Time (${heartbeatJSON["timezone"]}): ${heartbeatJSON["localDateTime"]}${"\n\n" + mentionStr}`, + text: `## [${this.statusToString(heartbeatJSON["status"])}] ${monitorJSON["name"]} \n> ${heartbeatJSON["msg"]}\n> Time (${heartbeatJSON["timezone"]}): ${heartbeatJSON["localDateTime"]}${mentionStr}`, }, at: { isAtAll: mentionAll, @@ -36,7 +37,7 @@ class DingDing extends NotificationProvider { let params = { msgtype: "text", text: { - content: `${msg}${"\n" + mentionStr}` + content: `${msg}${mentionStr}` }, at: { isAtAll: mentionAll, diff --git a/src/components/notifications/DingDing.vue b/src/components/notifications/DingDing.vue index d5227bb39..a5fd3c82b 100644 --- a/src/components/notifications/DingDing.vue +++ b/src/components/notifications/DingDing.vue @@ -16,7 +16,7 @@
- @@ -94,10 +94,20 @@ export default { if (typeof this.$parent.notification.userList === "undefined") { this.$parent.notification.userList = []; } else { - this.mobileOpts = this.$parent.notification.mobileList; + this.userIdOpts = this.$parent.notification.userList; } }, methods: { + onMentioningChange(e) { + if (e.target.value === "specify-mobiles") { + this.$parent.notification.userList = []; + } else if (e.target.value === "specify-users") { + this.$parent.notification.mobileList = []; + } else { + this.$parent.notification.userList = []; + this.$parent.notification.mobileList = []; + } + }, addMobile(mobile) { const trimmedMobile = mobile.trim(); const chinaMobileRegex = /^1[3-9]\d{9}$/;