This commit is contained in:
jxxghp
2024-09-14 13:07:42 +08:00
parent cf9c38fdd5
commit b43cf4dd5d
2 changed files with 73 additions and 58 deletions
+21 -22
View File
@@ -12,14 +12,6 @@ const allSites = ref<Site[]>([])
// 选中订阅站点 // 选中订阅站点
const selectedSites = ref<number[]>([]) const selectedSites = ref<number[]>([])
// 包含与排除规则
const defaultFilterRules = ref({
include: '',
exclude: '',
min_seeders: 0,
min_seeders_time: 0,
})
// 媒体信息数据源字典 // 媒体信息数据源字典
const mediaSourcesDict = [ const mediaSourcesDict = [
{ {
@@ -60,7 +52,16 @@ async function querySites() {
// 过滤站点,只有启用的站点才显示 // 过滤站点,只有启用的站点才显示
allSites.value = data.filter(item => item.is_active) allSites.value = data.filter(item => item.is_active)
querySelectedSites() } catch (error) {
console.log(error)
}
}
// 加载规则组
async function queryFilterRuleGroups() {
try {
const result: { [key: string]: any } = await api.get('system/setting/UserFilterRuleGroups')
filterRuleGroups.value = result.data?.value ?? []
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
@@ -95,6 +96,8 @@ async function loadSearchSetting() {
try { try {
const result1: { [key: string]: any } = await api.get('system/setting/SEARCH_SOURCE') const result1: { [key: string]: any } = await api.get('system/setting/SEARCH_SOURCE')
if (result1.success) selectedMediaSource.value = result1.data?.value?.split(',') if (result1.success) selectedMediaSource.value = result1.data?.value?.split(',')
const result2: { [key: string]: any } = await api.get('system/setting/SearchFilterRuleGroups')
if (result2.success) selectedFilterGroup.value = result2.data?.value
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
@@ -103,12 +106,17 @@ async function loadSearchSetting() {
// 调用API保存设置 // 调用API保存设置
async function saveSearchSetting() { async function saveSearchSetting() {
try { try {
const result: { [key: string]: any } = await api.post( const result1: { [key: string]: any } = await api.post(
'system/setting/SEARCH_SOURCE', 'system/setting/SEARCH_SOURCE',
selectedMediaSource.value.join(','), selectedMediaSource.value.join(','),
) )
if (result.success) { const result2: { [key: string]: any } = await api.post(
'system/setting/SearchFilterRuleGroups',
selectedFilterGroup.value,
)
if (result1.success && result2.success) {
$toast.success('保存媒体数据源设置成功') $toast.success('保存媒体数据源设置成功')
} else { } else {
$toast.error('保存媒体数据源设置失败!') $toast.error('保存媒体数据源设置失败!')
@@ -118,20 +126,11 @@ async function saveSearchSetting() {
} }
} }
// 加载规则组
async function queryFilterRuleGroups() {
try {
const result: { [key: string]: any } = await api.get('system/setting/UserFilterRuleGroups')
filterRuleGroups.value = result.data?.value ?? []
} catch (error) {
console.log(error)
}
}
onMounted(() => { onMounted(() => {
querySites() querySites()
loadSearchSetting()
queryFilterRuleGroups() queryFilterRuleGroups()
querySelectedSites()
loadSearchSetting()
}) })
</script> </script>
+52 -36
View File
@@ -18,16 +18,6 @@ const selectedFilterRuleGroup = ref([])
// 是否开启订阅定时搜索 // 是否开启订阅定时搜索
const enableIntervalSearch = ref(false) const enableIntervalSearch = ref(false)
// 包含与排除规则
const defaultFilterRules = ref({
include: '',
exclude: '',
movie_size: '',
tv_size: '',
min_seeders: 0,
min_seeders_time: 0,
})
// 订阅模式选择项 // 订阅模式选择项
const subscribeModeItems = [ const subscribeModeItems = [
{ title: '自动', value: 'spider' }, { title: '自动', value: 'spider' },
@@ -62,6 +52,28 @@ const rssIntervalItems = [
// 选择的RSS运行周期 // 选择的RSS运行周期
const selectedRssInterval = ref<number>(5) const selectedRssInterval = ref<number>(5)
// 查询所有站点
async function querySites() {
try {
const data: Site[] = await api.get('site/')
// 过滤站点,只有启用的站点才显示
allSites.value = data.filter(item => item.is_active)
} catch (error) {
console.log(error)
}
}
// 加载规则组
async function queryFilterRuleGroups() {
try {
const result: { [key: string]: any } = await api.get('system/setting/UserFilterRuleGroups')
filterRuleGroups.value = result.data?.value ?? []
} catch (error) {
console.log(error)
}
}
// 查询用户选中的订阅站点 // 查询用户选中的订阅站点
async function querySelectedRssSites() { async function querySelectedRssSites() {
try { try {
@@ -78,34 +90,16 @@ async function saveSelectedRssSites() {
try { try {
const result1: { [key: string]: any } = await api.post('system/setting/RssSites', selectedRssSites.value) const result1: { [key: string]: any } = await api.post('system/setting/RssSites', selectedRssSites.value)
const result2: { [key: string]: any } = await api.post( if (result1.success) $toast.success('订阅站点保存成功')
'system/setting/SUBSCRIBE_SEARCH',
enableIntervalSearch.value ? 'True' : 'False',
)
const result3: { [key: string]: any } = await api.post('system/setting/SUBSCRIBE_MODE', selectedSubscribeMode.value)
const result4: { [key: string]: any } = await api.post(
'system/setting/SUBSCRIBE_RSS_INTERVAL',
selectedRssInterval.value,
)
if (result1.success && result2.success && result3.success && result4.success) $toast.success('订阅站点保存成功')
else $toast.error('订阅站点保存失败!') else $toast.error('订阅站点保存失败!')
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
} }
// 查询所有站点 // 查询订阅设置
async function querySites() { async function querySubscribeSetting() {
try { try {
const data: Site[] = await api.get('site/')
// 过滤站点,只有启用的站点才显示
allSites.value = data.filter(item => item.is_active)
querySelectedRssSites()
// 查询订阅搜索开关 // 查询订阅搜索开关
const result: { [key: string]: any } = await api.get('system/setting/SUBSCRIBE_SEARCH') const result: { [key: string]: any } = await api.get('system/setting/SUBSCRIBE_SEARCH')
if (result.success) enableIntervalSearch.value = result.data?.value if (result.success) enableIntervalSearch.value = result.data?.value
@@ -115,16 +109,36 @@ async function querySites() {
// 查询站点RSS周期 // 查询站点RSS周期
const result3: { [key: string]: any } = await api.get('system/setting/SUBSCRIBE_RSS_INTERVAL') const result3: { [key: string]: any } = await api.get('system/setting/SUBSCRIBE_RSS_INTERVAL')
if (result3.success) selectedRssInterval.value = result3.data?.value if (result3.success) selectedRssInterval.value = result3.data?.value
// 查询优先级规则组
const result4: { [key: string]: any } = await api.get('system/setting/SubscribeFilterRuleGroups')
if (result4.success) selectedFilterRuleGroup.value = result4.data?.value
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
} }
// 加载规则组 // 保存订阅设置
async function queryFilterRuleGroups() { async function saveSubscribeSetting() {
try { try {
const result: { [key: string]: any } = await api.get('system/setting/UserFilterRuleGroups') const result1: { [key: string]: any } = await api.post(
filterRuleGroups.value = result.data?.value ?? [] 'system/setting/SUBSCRIBE_SEARCH',
enableIntervalSearch.value,
)
const result2: { [key: string]: any } = await api.post('system/setting/SUBSCRIBE_MODE', selectedSubscribeMode.value)
const result3: { [key: string]: any } = await api.post(
'system/setting/SUBSCRIBE_RSS_INTERVAL',
selectedRssInterval.value,
)
const result4: { [key: string]: any } = await api.post(
'system/setting/SubscribeFilterRuleGroups',
selectedFilterRuleGroup.value,
)
if (result1.success && result2.success && result3.success && result4.success) $toast.success('订阅设置保存成功')
else $toast.error('订阅设置保存失败!')
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
@@ -133,6 +147,8 @@ async function queryFilterRuleGroups() {
onMounted(() => { onMounted(() => {
querySites() querySites()
queryFilterRuleGroups() queryFilterRuleGroups()
querySelectedRssSites()
querySubscribeSetting()
}) })
</script> </script>
@@ -190,7 +206,7 @@ onMounted(() => {
</VForm> </VForm>
</VCardText> </VCardText>
<VCardText> <VCardText>
<VBtn type="submit" @click="saveSelectedRssSites"> 保存 </VBtn> <VBtn type="submit" @click="saveSubscribeSetting"> 保存 </VBtn>
</VCardText> </VCardText>
</VCard> </VCard>
</VCol> </VCol>