@@ -28,47 +28,42 @@ const settingStore = useSettingStore();
2828
2929const page = ref (" keywords" );
3030
31- const clear = () => {
32- const pageName = page .value === " keywords" ? " 关键词" : " 正则表达式" ;
33- window .$dialog .warning ({
34- title: " 清空确认" ,
35- content: ` 确认清空${pageName }列表?该操作不可撤销! ` ,
36- positiveText: " 确认" ,
37- negativeText: " 取消" ,
38- onPositiveClick : () => {
39- switch (page .value ) {
40- case " keywords" :
41- settingStore .excludeKeywords = [];
42- break ;
43- case " regexes" :
44- settingStore .excludeRegexes = [];
45- break ;
46- }
47- window .$message .success (` ${pageName }列表已清空 ` );
48- }
49- });
50- };
31+ const pageConfig = {
32+ keywords: {
33+ name: " 关键词" ,
34+ storeKey: " excludeKeywords" ,
35+ defaultValue: keywords ,
36+ },
37+ regexes: {
38+ name: " 正则表达式" ,
39+ storeKey: " excludeRegexes" ,
40+ defaultValue: regexes ,
41+ },
42+ } as const ;
43+
44+ const handleAction = (action : " clear" | " reset" ) => {
45+ const pageKey = page .value as keyof typeof pageConfig ;
46+ const { name, storeKey, defaultValue } = pageConfig [pageKey ];
47+ const isClear = action === " clear" ;
48+
49+ const actionText = isClear ? " 清空" : " 重置" ;
50+ const contentDetail = isClear ? " " : " 为默认值" ;
51+ const successMessage = isClear ? " 列表已清空" : " 列表已重置为默认值" ;
5152
52- const reset = () => {
53- const pageName = page .value === " keywords" ? " 关键词" : " 正则表达式" ;
5453 window .$dialog .warning ({
55- title: " 重置确认 " ,
56- content: ` 确认重置${ pageName }列表为默认值 ?该操作不可撤销!` ,
54+ title: ` ${ actionText }确认 ` ,
55+ content: ` 确认${ actionText }${ name }列表${ contentDetail } ?该操作不可撤销!` ,
5756 positiveText: " 确认" ,
5857 negativeText: " 取消" ,
5958 onPositiveClick : () => {
60- switch (page .value ) {
61- case " keywords" :
62- settingStore .excludeKeywords = keywords ;
63- break ;
64- case " regexes" :
65- settingStore .excludeRegexes = regexes ;
66- break ;
67- }
68- window .$message .success (` ${pageName }列表已重置为默认值 ` );
69- }
59+ settingStore [storeKey ] = isClear ? [] : defaultValue ;
60+ window .$message .success (` ${name }${successMessage } ` );
61+ },
7062 });
7163};
64+
65+ const clear = () => handleAction (" clear" );
66+ const reset = () => handleAction (" reset" );
7267 </script >
7368
7469<style lang="scss" scoped>
0 commit comments