feat 详情页支持IMDBID搜索

This commit is contained in:
jxxghp
2023-08-24 08:32:58 +08:00
parent 55abc47d0e
commit 4491e80f6a
5 changed files with 35 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "moviepilot",
"version": "1.0.5",
"version": "1.0.6",
"private": true,
"scripts": {
"dev": "vite --host",

View File

@@ -349,6 +349,7 @@ function handleSearch() {
: `douban:${props.media?.douban_id}`
}`,
type: props.media?.type,
area: 'title',
},
})
}

View File

@@ -9,6 +9,9 @@ const keyword = route.query?.keyword?.toString() ?? ''
// 查询类型
const type = route.query?.type?.toString() ?? ''
// 搜索字段
const area = route.query?.area?.toString() ?? ''
</script>
<template>
@@ -16,6 +19,7 @@ const type = route.query?.type?.toString() ?? ''
<TorrentCardListView
:keyword="keyword"
:type="type"
:area="area"
/>
</div>
</template>

View File

@@ -379,12 +379,13 @@ function joinArray(arr: string[]) {
}
// 开始搜索
function handleSearch() {
function handleSearch(area: string) {
router.push({
path: '/resource',
query: {
keyword: `tmdb:${mediaDetail.value.tmdb_id}`,
type: mediaDetail.value.type,
area,
},
})
}
@@ -440,11 +441,31 @@ onBeforeMount(() => {
</span>
</div>
<div class="media-actions">
<VBtn v-if="mediaDetail.tmdb_id" variant="tonal" color="info" @click="handleSearch">
<VBtn v-if="mediaDetail.tmdb_id" variant="tonal" color="info">
<template #prepend>
<VIcon icon="mdi-magnify" />
</template>
搜索
搜索资源
<VMenu
activator="parent"
close-on-content-click
>
<VList>
<VListItem
variant="plain"
@click="handleSearch('title')"
>
<VListItemTitle>标题</VListItemTitle>
</VListItem>
<VListItem
v-show="mediaDetail.imdb_id"
variant="plain"
@click="handleSearch('imdbid')"
>
<VListItemTitle>IMDB链接</VListItemTitle>
</VListItem>
</VList>
</VMenu>
</VBtn>
<VBtn v-if="mediaDetail.type === '电影'" class="ms-2" :color="getSubscribeColor" variant="tonal" @click="handleSubscribe(0)">
<template #prepend>

View File

@@ -13,6 +13,9 @@ const props = defineProps({
// 类型
type: String,
// 搜索字段
area: String,
})
interface SearchTorrent extends Context {
@@ -124,6 +127,7 @@ async function fetchData(): Promise<Array<Context>> {
let searchData: Array<Context>
const keyword = props.keyword ?? ''
const mtype = props.type ?? ''
const area = props.area ?? ''
if (!keyword) {
// 查询上次搜索结果
searchData = await api.get('search/last')
@@ -136,6 +140,7 @@ async function fetchData(): Promise<Array<Context>> {
searchData = await api.get(`search/media/${props.keyword}`, {
params: {
mtype,
area,
},
})
}