diff --git a/application/src/main/resources/extensions/notification-templates.yaml b/application/src/main/resources/extensions/notification-templates.yaml index 6290a2246..719e5963f 100644 --- a/application/src/main/resources/extensions/notification-templates.yaml +++ b/application/src/main/resources/extensions/notification-templates.yaml @@ -25,7 +25,7 @@ spec: ,以下是评论的具体内容:

-

+          
@@ -58,7 +58,7 @@ spec: ,以下是评论的具体内容:

-

+          
@@ -87,15 +87,18 @@ spec:

- 在评论 + - 中回复了你,以下是回复的具体内容: + 中回复了你。

-

+          

你的评论:

+
+

回复的内容:

+
diff --git a/ui/console-src/modules/dashboard/widgets/presets/users/NotificationWidget.vue b/ui/console-src/modules/dashboard/widgets/presets/users/NotificationWidget.vue index e94a67320..63669d44c 100644 --- a/ui/console-src/modules/dashboard/widgets/presets/users/NotificationWidget.vue +++ b/ui/console-src/modules/dashboard/widgets/presets/users/NotificationWidget.vue @@ -14,6 +14,7 @@ import { } from "@halo-dev/components"; import { useQuery } from "@tanstack/vue-query"; import { OverlayScrollbarsComponent } from "overlayscrollbars-vue"; +import sanitize from "sanitize-html"; const { currentUser } = useUserStore(); @@ -81,7 +82,12 @@ function handleRouteToNotification(notification: Notification) { diff --git a/ui/uc-src/modules/notifications/Notifications.vue b/ui/uc-src/modules/notifications/Notifications.vue index ebf74a505..72102678f 100644 --- a/ui/uc-src/modules/notifications/Notifications.vue +++ b/ui/uc-src/modules/notifications/Notifications.vue @@ -231,7 +231,9 @@ function handleMarkAllAsRead() { -
+
diff --git a/ui/uc-src/modules/notifications/components/NotificationContent.vue b/ui/uc-src/modules/notifications/components/NotificationContent.vue index cc079b8f8..abfb4f1f9 100644 --- a/ui/uc-src/modules/notifications/components/NotificationContent.vue +++ b/ui/uc-src/modules/notifications/components/NotificationContent.vue @@ -1,6 +1,7 @@ + + diff --git a/ui/uc-src/modules/notifications/components/NotificationListItem.vue b/ui/uc-src/modules/notifications/components/NotificationListItem.vue index fffd9a1a1..67d4abd83 100644 --- a/ui/uc-src/modules/notifications/components/NotificationListItem.vue +++ b/ui/uc-src/modules/notifications/components/NotificationListItem.vue @@ -5,7 +5,8 @@ import type { Notification } from "@halo-dev/api-client"; import { ucApiClient } from "@halo-dev/api-client"; import { Dialog, Toast, VStatusDot } from "@halo-dev/components"; import { useMutation, useQueryClient } from "@tanstack/vue-query"; -import { ref, watch } from "vue"; +import sanitize from "sanitize-html"; +import { computed, ref, watch } from "vue"; import { useI18n } from "vue-i18n"; const queryClient = useQueryClient(); @@ -74,6 +75,14 @@ watch( immediate: true, } ); + +const content = computed(() => { + // Clean html tags + return sanitize(props.notification.spec?.htmlContent || "", { + allowedTags: [], + allowedAttributes: {}, + }); +});