diff --git a/src/components/cards/SubscribeCard.vue b/src/components/cards/SubscribeCard.vue index 7791fac6..154b581c 100644 --- a/src/components/cards/SubscribeCard.vue +++ b/src/components/cards/SubscribeCard.vue @@ -136,7 +136,7 @@ async function updateSubscribeInfo() { // 获取站点列表数据 async function loadSites() { try { - const data: Site[] = await api.get('site') + const data: Site[] = await api.get('site/rss') // 过滤站点,只有启用的站点才显示 siteList.value = data.filter(item => item.is_active) diff --git a/src/views/setting/AccountSettingSite.vue b/src/views/setting/AccountSettingSite.vue index 3599d64f..62c4ffc5 100644 --- a/src/views/setting/AccountSettingSite.vue +++ b/src/views/setting/AccountSettingSite.vue @@ -6,8 +6,10 @@ import type { Site } from '@/api/types' // 提示框 const $toast = useToast() -// 选中站点 +// 选中索引站点 const selectedSites = ref([]) +// 选中订阅站点 +const selectedRssSites = ref([]) // 所有站点 const allSites = ref([]) @@ -29,6 +31,7 @@ async function querySites() { // 过滤站点,只有启用的站点才显示 allSites.value = data.filter(item => item.is_active) querySelectedSites() + querySelectedRssSites() } catch (error) { console.log(error) @@ -63,6 +66,33 @@ async function saveSelectedSites() { } } +// 查询用户选中的订阅站点 +async function querySelectedRssSites() { + try { + const result: { [key: string]: any } = await api.get('system/setting/RssSites') + + selectedRssSites.value = result.data?.value ?? [] + } + catch (error) { + console.log(error) + } +} + +// 保存用户选中的订阅站点 +async function saveSelectedRssSites() { + try { + const result: { [key: string]: any } = await api.post('system/setting/RssSites', selectedRssSites.value) + + if (result.success) + $toast.success('订阅站点保存成功') + else + $toast.error('订阅站点保存失败!') + } + catch (error) { + console.log(error) + } +} + // 重置站点 async function resetSites() { try { @@ -94,7 +124,7 @@ onMounted(() => { - 只有选中的站点才会在搜索和订阅中使用 + 只有选中的站点才会在搜索中使用 @@ -118,6 +148,32 @@ onMounted(() => { + + + 只有选中的站点才会在订阅中使用 + + + + + {{ site.name }} + + + + + + + 保存 + + + +