diff --git a/src/pages/setting.vue b/src/pages/setting.vue index 991353a8..e866bfdd 100644 --- a/src/pages/setting.vue +++ b/src/pages/setting.vue @@ -2,7 +2,6 @@ import { useRoute } from 'vue-router' import AccountSettingAccount from '@/views/setting/AccountSettingAccount.vue' import AccountSettingNotification from '@/views/setting/AccountSettingNotification.vue' -import AccountSettingRule from '@/views/setting/AccountSettingRule.vue' import AccountSettingSite from '@/views/setting/AccountSettingSite.vue' import AccountSettingWords from '@/views/setting/AccountSettingWords.vue' import AccountSettingAbout from '@/views/setting/AccountSettingAbout.vue' @@ -41,11 +40,6 @@ const tabs = [ icon: 'mdi-list-box', tab: 'service', }, - { - title: '规则', - icon: 'mdi-filter-cog', - tab: 'filter', - }, { title: '通知', icon: 'mdi-bell', @@ -117,13 +111,6 @@ const tabs = [ - - - - - - - diff --git a/src/views/setting/AccountSettingRule.vue b/src/views/setting/AccountSettingRule.vue deleted file mode 100644 index e5d00e59..00000000 --- a/src/views/setting/AccountSettingRule.vue +++ /dev/null @@ -1,163 +0,0 @@ - - - - - diff --git a/src/views/setting/AccountSettingSearch.vue b/src/views/setting/AccountSettingSearch.vue index 7a108ea3..f5041d9a 100644 --- a/src/views/setting/AccountSettingSearch.vue +++ b/src/views/setting/AccountSettingSearch.vue @@ -24,6 +24,12 @@ const allSites = ref([]) // 选中订阅站点 const selectedSites = ref([]) +// 包含与排除规则 +const defaultFilterRules = ref({ + include: '', + exclude: '', +}) + // 查询已设置优先级规则 async function queryCustomFilters() { try { @@ -190,9 +196,41 @@ function onLevelDown(pri: string) { filterCards.value.sort((a, b) => parseInt(a.pri) - parseInt(b.pri)) } +// 查询包含与排除规则 +async function queryDefaultFilter() { + try { + const result: { [key: string]: any } = await api.get( + 'system/setting/DefaultSearchFilterRules', + ) + if (result.data?.value) + defaultFilterRules.value = result.data?.value + } + catch (error) { + console.log(error) + } +} + +// 保存包含与排除规则 +async function saveDefaultFilter() { + try { + const result: { [key: string]: any } = await api.post( + 'system/setting/DefaultSearchFilterRules', + defaultFilterRules.value, + ) + if (result.success) + $toast.success('默认包含/排除规则保存成功') + else + $toast.error('默认包含/排除规则保存失败!') + } + catch (error) { + console.log(error) + } +} + onMounted(() => { queryCustomFilters() querySites() + queryDefaultFilter() }) @@ -260,6 +298,39 @@ onMounted(() => { + + + 设置在搜索时默认使用的过滤规则。 + + + + + + + + + + + + + + + 保存 + + + + diff --git a/src/views/setting/AccountSettingSite.vue b/src/views/setting/AccountSettingSite.vue index 5831b6a9..fb2b5ec0 100644 --- a/src/views/setting/AccountSettingSite.vue +++ b/src/views/setting/AccountSettingSite.vue @@ -14,6 +14,15 @@ const resetSitesText = ref('重置站点数据') // 站点重置按钮可用状态 const resetSitesDisabled = ref(false) +// 种子优先规则 +const selectedTorrentPriority = ref('seeder') + +// 种子优先规则下拉框 +const TorrentPriorityItems = [ + { title: '站点优先', value: 'site' }, + { title: '做种数优先', value: 'seeder' }, +] + // 重置站点 async function resetSites() { try { @@ -34,10 +43,74 @@ async function resetSites() { console.log(error) } } + +// 查询种子优先规则 +async function queryTorrentPriority() { + try { + const result: { [key: string]: any } = await api.get( + 'system/setting/TorrentsPriority', + ) + + selectedTorrentPriority.value = result.data?.value + } + catch (error) { + console.log(error) + } +} + +// 保存种子优先规则 +async function saveTorrentPriority() { + try { + // 用户名密码 + const result: { [key: string]: any } = await api.post( + 'system/setting/TorrentsPriority', + selectedTorrentPriority.value, + ) + + if (result.success) + $toast.success('优先规则保存成功') + else + $toast.error('优先规则保存失败!') + } + catch (error) { + console.log(error) + } +} + +onMounted(() => { + queryTorrentPriority() +})