Skip to content

Commit 94a9ac5

Browse files
committed
1
1 parent 8c73f64 commit 94a9ac5

File tree

2 files changed

+43
-6
lines changed

2 files changed

+43
-6
lines changed

apps/InfoFlow/components/RulesManagement.vue

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,11 @@ return document.title;"
438438
import Accordion from 'primevue/accordion';
439439
import AccordionTab from 'primevue/accordiontab';
440440
import RadioButton from 'primevue/radiobutton';
441+
import Toast from 'primevue/toast';
442+
import { useToast } from 'primevue/usetoast';
443+
444+
// Toast service
445+
const toast = useToast();
441446
442447
// State
443448
const rules = ref<Rule[]>([]);
@@ -624,7 +629,12 @@ return document.title;"
624629
625630
if (collectionItemType.value === 'css') {
626631
if (!collectionForm.selector.trim()) {
627-
alert('CSS 选择器不能为空');
632+
toast.add({
633+
severity: 'error',
634+
summary: '验证错误',
635+
detail: 'CSS 选择器不能为空',
636+
life: 3000
637+
});
628638
return;
629639
}
630640
collectionItem.selector = collectionForm.selector.trim();
@@ -633,7 +643,12 @@ return document.title;"
633643
}
634644
} else {
635645
if (!collectionForm.code.trim()) {
636-
alert('JavaScript 代码不能为空');
646+
toast.add({
647+
severity: 'error',
648+
summary: '验证错误',
649+
detail: 'JavaScript 代码不能为空',
650+
life: 3000
651+
});
637652
return;
638653
}
639654
collectionItem.code = collectionForm.code.trim();
@@ -784,17 +799,37 @@ return document.title;"
784799
if (result.success) {
785800
const res = result.result;
786801
if (res.matched) {
787-
alert(`规则 "${rule.name}" 执行成功!\nURL: ${res.url}\n标题: ${res.title}`);
802+
toast.add({
803+
severity: 'success',
804+
summary: '执行成功',
805+
detail: `规则 "${rule.name}" 执行成功!\nURL: ${res.url}\n标题: ${res.title}`,
806+
life: 5000
807+
});
788808
} else {
789-
alert(`规则 "${rule.name}" 执行完成,但未匹配到内容。\n消息: ${res.message || ''}`);
809+
toast.add({
810+
severity: 'warn',
811+
summary: '执行完成',
812+
detail: `规则 "${rule.name}" 执行完成,但未匹配到内容。\n消息: ${res.message || ''}`,
813+
life: 5000
814+
});
790815
}
791816
} else {
792-
alert(`规则 "${rule.name}" 执行失败: ${result.message}`);
817+
toast.add({
818+
severity: 'error',
819+
summary: '执行失败',
820+
detail: `规则 "${rule.name}" 执行失败: ${result.message}`,
821+
life: 5000
822+
});
793823
}
794824
} catch (error) {
795825
console.error('Failed to execute rule:', error);
796826
const errorMessage = error instanceof Error ? error.message : '未知错误';
797-
alert(`规则 "${rule.name}" 执行失败: ${errorMessage}`);
827+
toast.add({
828+
severity: 'error',
829+
summary: '执行失败',
830+
detail: `规则 "${rule.name}" 执行失败: ${errorMessage}`,
831+
life: 5000
832+
});
798833
}
799834
};
800835
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
<template>
22
<div class="p-4">
33
<RulesManagement />
4+
<Toast />
45
</div>
56
</template>
67

78
<script setup lang="ts">
89
import RulesManagement from '@/components/RulesManagement.vue';
10+
import { Toast } from 'primevue'
911
</script>

0 commit comments

Comments
 (0)