mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-05 07:28:37 +08:00
Merge pull request #27 from thsrite/main
This commit is contained in:
@@ -136,7 +136,7 @@ async function updateSubscribeInfo() {
|
|||||||
// 获取站点列表数据
|
// 获取站点列表数据
|
||||||
async function loadSites() {
|
async function loadSites() {
|
||||||
try {
|
try {
|
||||||
const data: Site[] = await api.get('site')
|
const data: Site[] = await api.get('site/rss')
|
||||||
|
|
||||||
// 过滤站点,只有启用的站点才显示
|
// 过滤站点,只有启用的站点才显示
|
||||||
siteList.value = data.filter(item => item.is_active)
|
siteList.value = data.filter(item => item.is_active)
|
||||||
|
|||||||
@@ -438,6 +438,8 @@ onBeforeMount(() => {
|
|||||||
<span v-if="mediaDetail.runtime || mediaDetail.episode_run_time[0]">{{ mediaDetail.runtime || mediaDetail.episode_run_time[0] }} 分钟</span>
|
<span v-if="mediaDetail.runtime || mediaDetail.episode_run_time[0]">{{ mediaDetail.runtime || mediaDetail.episode_run_time[0] }} 分钟</span>
|
||||||
<span v-if="(mediaDetail.runtime || mediaDetail.episode_run_time[0]) && mediaDetail.genres" class="mx-1"> | </span>
|
<span v-if="(mediaDetail.runtime || mediaDetail.episode_run_time[0]) && mediaDetail.genres" class="mx-1"> | </span>
|
||||||
<span v-if="mediaDetail.genres">{{ getGenresName(mediaDetail.genres || []) }}</span>
|
<span v-if="mediaDetail.genres">{{ getGenresName(mediaDetail.genres || []) }}</span>
|
||||||
|
<span v-if="mediaDetail.genres" class="mx-1">|</span>
|
||||||
|
<span v-if="mediaDetail.tmdb_id">TMDB: <a :href="mediaDetail.detail_link" target="_blank">{{ mediaDetail.tmdb_id }}</a></span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="media-actions">
|
<div class="media-actions">
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ import type { Site } from '@/api/types'
|
|||||||
// 提示框
|
// 提示框
|
||||||
const $toast = useToast()
|
const $toast = useToast()
|
||||||
|
|
||||||
// 选中站点
|
// 选中索引站点
|
||||||
const selectedSites = ref<number[]>([])
|
const selectedSites = ref<number[]>([])
|
||||||
|
// 选中订阅站点
|
||||||
|
const selectedRssSites = ref<number[]>([])
|
||||||
|
|
||||||
// 所有站点
|
// 所有站点
|
||||||
const allSites = ref<Site[]>([])
|
const allSites = ref<Site[]>([])
|
||||||
@@ -29,6 +31,7 @@ async function querySites() {
|
|||||||
// 过滤站点,只有启用的站点才显示
|
// 过滤站点,只有启用的站点才显示
|
||||||
allSites.value = data.filter(item => item.is_active)
|
allSites.value = data.filter(item => item.is_active)
|
||||||
querySelectedSites()
|
querySelectedSites()
|
||||||
|
querySelectedRssSites()
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
console.log(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() {
|
async function resetSites() {
|
||||||
try {
|
try {
|
||||||
@@ -94,7 +124,7 @@ onMounted(() => {
|
|||||||
<VRow>
|
<VRow>
|
||||||
<VCol cols="12">
|
<VCol cols="12">
|
||||||
<VCard title="索引站点">
|
<VCard title="索引站点">
|
||||||
<VCardSubtitle> 只有选中的站点才会在搜索和订阅中使用</VCardSubtitle>
|
<VCardSubtitle> 只有选中的站点才会在搜索中使用</VCardSubtitle>
|
||||||
|
|
||||||
<VCardItem>
|
<VCardItem>
|
||||||
<VChipGroup v-model="selectedSites" column multiple>
|
<VChipGroup v-model="selectedSites" column multiple>
|
||||||
@@ -118,6 +148,32 @@ onMounted(() => {
|
|||||||
</VCardItem>
|
</VCardItem>
|
||||||
</VCard>
|
</VCard>
|
||||||
</VCol>
|
</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">
|
<VCol cols="12">
|
||||||
<VCard title="站点重置">
|
<VCard title="站点重置">
|
||||||
<VCardText>
|
<VCardText>
|
||||||
|
|||||||
Reference in New Issue
Block a user