@@ -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 }" 执行成功!\n URL: ${res .url }\n 标题: ${res .title } ` );
802+ toast .add ({
803+ severity: ' success' ,
804+ summary: ' 执行成功' ,
805+ detail: ` 规则 "${rule .name }" 执行成功!\n URL: ${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
0 commit comments