feat 订阅站点单独配置

This commit is contained in:
thsrite
2023-08-28 13:30:25 +08:00
parent 026214bd3f
commit 611ae13777
2 changed files with 59 additions and 3 deletions

View File

@@ -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)

View File

@@ -6,8 +6,10 @@ import type { Site } from '@/api/types'
// 提示框
const $toast = useToast()
// 选中站点
// 选中索引站点
const selectedSites = ref<number[]>([])
// 选中订阅站点
const selectedRssSites = ref<number[]>([])
// 所有站点
const allSites = ref<Site[]>([])
@@ -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(() => {
<VRow>
<VCol cols="12">
<VCard title="索引站点">
<VCardSubtitle> 只有选中的站点才会在搜索和订阅中使用</VCardSubtitle>
<VCardSubtitle> 只有选中的站点才会在搜索中使用</VCardSubtitle>
<VCardItem>
<VChipGroup v-model="selectedSites" column multiple>
@@ -118,6 +148,32 @@ onMounted(() => {
</VCardItem>
</VCard>
</VCol>
<VCol cols="12">
<VCard title="订阅站点">
<VCardSubtitle> 只有选中的站点才会在订阅中使用</VCardSubtitle>
<VCardItem>
<VChipGroup v-model="selectedRssSites" column multiple>
<VChip
v-for="site in allSites"
:key="site.id"
:color="selectedRssSites.includes(site.id) ? 'primary' : ''"
filter
variant="outlined"
:value="site.id"
>
{{ site.name }}
</VChip>
</VChipGroup>
</VCardItem>
<VCardItem>
<VBtn type="submit" @click="saveSelectedRssSites">
保存
</VBtn>
</VCardItem>
</VCard>
</VCol>
<VCol cols="12">
<VCard title="站点重置">
<VCardText>