diff --git a/src/views/setting/AccountSettingSearch.vue b/src/views/setting/AccountSettingSearch.vue index f5041d9a..6b8c356f 100644 --- a/src/views/setting/AccountSettingSearch.vue +++ b/src/views/setting/AccountSettingSearch.vue @@ -227,6 +227,48 @@ async function saveDefaultFilter() { } } +// 分享规则 +function shareRules() { + // 有值才处理 + if (filterCards.value.length === 0) + return + + // 将卡片规则接装为字符串 + const value = filterCards.value + .filter(card => card.rules.length > 0) + .map(card => card.rules.join('&')) + .join('>') + + // 复制到剪切板 + navigator.clipboard.writeText(value) + .then(() => { + $toast.success('优先级规则已复制到剪切板') + }) + .catch(() => { + $toast.error('优先级规则复制失败!') + }) +} + +// 导入规则 +function importRules() { + // 从剪切板读取 + navigator.clipboard.readText() + .then((value) => { + // 分割成数组 + const groups = value.split('>') + // 生成规则卡片 + filterCards.value = groups?.map((group: string, index: number) => { + return { + pri: (index + 1).toString(), + rules: group.split('&'), + } + }) + }) + .catch(() => { + $toast.error('从剪切版读取规则失败!') + }) +} + onMounted(() => { queryCustomFilters() querySites() @@ -264,6 +306,36 @@ onMounted(() => { + 设置在搜索时默认使用的优先级排序,未在优先级中的资源将不在搜索结果中显示。
diff --git a/src/views/setting/AccountSettingSubscribe.vue b/src/views/setting/AccountSettingSubscribe.vue index f518e2d8..7277e2f1 100644 --- a/src/views/setting/AccountSettingSubscribe.vue +++ b/src/views/setting/AccountSettingSubscribe.vue @@ -244,6 +244,58 @@ async function saveDefaultFilter() { } } +// 分享规则 +function shareRules(ruleType: string) { + let filterCards: Ref + if (ruleType === 'SubscribeFilterRules') + filterCards = subscribeFilterCards + else + filterCards = bestVersionFilterCards + // 有值才处理 + if (filterCards.value.length === 0) + return + + // 将卡片规则接装为字符串 + const value = filterCards.value + .filter(card => card.rules.length > 0) + .map(card => card.rules.join('&')) + .join('>') + + // 复制到剪切板 + navigator.clipboard.writeText(value) + .then(() => { + $toast.success('优先级规则已复制到剪切板') + }) + .catch(() => { + $toast.error('优先级规则复制失败!') + }) +} + +// 导入规则 +function importRules(ruleType: string) { + let filterCards: Ref + if (ruleType === 'SubscribeFilterRules') + filterCards = subscribeFilterCards + else + filterCards = bestVersionFilterCards + // 从剪切板读取 + navigator.clipboard.readText() + .then((value) => { + // 分割成数组 + const groups = value.split('>') + // 生成规则卡片 + filterCards.value = groups?.map((group: string, index: number) => { + return { + pri: (index + 1).toString(), + rules: group.split('&'), + } + }) + }) + .catch(() => { + $toast.error('从剪切版读取规则失败!') + }) +} + onMounted(() => { querySites() queryCustomFilters('SubscribeFilterRules') @@ -282,6 +334,36 @@ onMounted(() => { + 设置在正常订阅时默认使用的优先级,未在优先级中的资源将不会自动下载。
@@ -318,6 +400,36 @@ onMounted(() => { + 设置在订阅洗版时使用的优先级,匹配优先级1时洗版完成。