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()
+})
+
+
+ 按站点或做种数量优先下载。
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+
+
diff --git a/src/views/setting/AccountSettingSubscribe.vue b/src/views/setting/AccountSettingSubscribe.vue
index 9920ab76..f518e2d8 100644
--- a/src/views/setting/AccountSettingSubscribe.vue
+++ b/src/views/setting/AccountSettingSubscribe.vue
@@ -27,6 +27,12 @@ const allSites = ref([])
// 选中订阅站点
const selectedRssSites = ref([])
+// 包含与排除规则
+const defaultFilterRules = ref({
+ include: '',
+ exclude: '',
+})
+
// 查询用户选中的订阅站点
async function querySelectedRssSites() {
try {
@@ -207,10 +213,42 @@ function onLevelDown(filterCards: FilterCard[], pri: string) {
filterCards.sort((a, b) => parseInt(a.pri) - parseInt(b.pri))
}
+// 查询包含与排除规则
+async function queryDefaultFilter() {
+ try {
+ const result: { [key: string]: any } = await api.get(
+ 'system/setting/DefaultFilterRules',
+ )
+ 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/DefaultFilterRules',
+ defaultFilterRules.value,
+ )
+ if (result.success)
+ $toast.success('默认包含/排除规则保存成功')
+ else
+ $toast.error('默认包含/排除规则保存失败!')
+ }
+ catch (error) {
+ console.log(error)
+ }
+}
+
onMounted(() => {
querySites()
queryCustomFilters('SubscribeFilterRules')
queryCustomFilters('BestVersionFilterRules')
+ queryDefaultFilter()
})
@@ -314,6 +352,39 @@ onMounted(() => {
+
+
+ 设置在订阅时默认使用的过滤规则。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+
+