七十二家房客-观看平台v161
This commit is contained in:
parent
96a7dae310
commit
f3a5c1e9c9
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"running": false,
|
"running": false,
|
||||||
"lastMessage": "自动采集完成",
|
"lastMessage": "采集启动失败: page.goto: Target page, context or browser has been closed\nCall log:\n\u001b[2m - navigating to \"https://www1.gdtv.cn/tvColumn/768\", waiting until \"domcontentloaded\"\u001b[22m\n",
|
||||||
"updatedAt": "2026-03-12T05:01:28.586Z"
|
"updatedAt": "2026-03-12T05:16:36.500Z"
|
||||||
}
|
}
|
||||||
@ -4,23 +4,16 @@
|
|||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="top-card card border-0 shadow-sm">
|
<div class="top-card card border-0 shadow-sm">
|
||||||
<div class="card-body d-flex flex-wrap justify-content-between align-items-center gap-3">
|
<div class="card-body d-flex flex-wrap justify-content-between align-items-center gap-3">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h2 class="mb-2 page-title">{{ columnInfo.name || '七十二家房客播放器' }}</h2>
|
<h2 class="mb-2 page-title">{{ columnInfo.name || '七十二家房客播放器' }}</h2>
|
||||||
<div class="page-subtitle">
|
<div class="page-subtitle">
|
||||||
共 {{ allEpisodeList.length }} 条 | 最后更新:{{ updatedAtText }}
|
共 {{ allEpisodeList.length }} 条 | 最后更新:{{ updatedAtText }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="d-flex flex-wrap gap-2">
|
<div class="d-flex flex-wrap gap-2">
|
||||||
<button class="btn btn-dark btn-sm px-3" @click="handleRefresh">刷新数据</button>
|
|
||||||
<button class="btn btn-warning btn-sm px-3" @click="openSource">数据来源:荔枝网</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-12">
|
|
||||||
<div class="toolbar-card card border-0 shadow-sm">
|
|
||||||
<div class="card-body d-flex flex-wrap gap-2 align-items-center">
|
<div class="card-body d-flex flex-wrap gap-2 align-items-center">
|
||||||
<button class="btn btn-outline-dark btn-sm" @click="playPrevEpisode" :disabled="!hasPrevEpisode">
|
<button class="btn btn-outline-dark btn-sm" @click="playPrevEpisode" :disabled="!hasPrevEpisode">
|
||||||
上一集
|
上一集
|
||||||
@ -40,8 +33,38 @@
|
|||||||
<option value="desc">倒序播放</option>
|
<option value="desc">倒序播放</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<button class="btn btn-dark btn-sm px-3" @click="handleRefresh">刷新数据</button>
|
||||||
|
<button class="btn btn-outline-dark btn-sm px-3" @click="openGitRepo">git仓库:v1.6</button>
|
||||||
|
<button class="btn btn-warning btn-sm px-3" @click="openSource">数据来源:荔枝网</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--<div class="col-12">-->
|
||||||
|
<!-- <div class="toolbar-card card border-0 shadow-sm">-->
|
||||||
|
<!-- <div class="card-body d-flex flex-wrap gap-2 align-items-center">-->
|
||||||
|
<!-- <button class="btn btn-outline-dark btn-sm" @click="playPrevEpisode" :disabled="!hasPrevEpisode">-->
|
||||||
|
<!-- 上一集-->
|
||||||
|
<!-- </button>-->
|
||||||
|
|
||||||
|
<!-- <button class="btn btn-outline-dark btn-sm" @click="playNextEpisode" :disabled="!hasNextEpisode">-->
|
||||||
|
<!-- 下一集-->
|
||||||
|
<!-- </button>-->
|
||||||
|
|
||||||
|
<!-- <div class="form-check form-switch ms-2">-->
|
||||||
|
<!-- <input id="autoNext" v-model="autoNext" class="form-check-input" type="checkbox" />-->
|
||||||
|
<!-- <label class="form-check-label" for="autoNext">自动下一集</label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
<!-- <select v-model="playMode" class="form-select form-select-sm mode-select">-->
|
||||||
|
<!-- <option value="asc">顺序播放</option>-->
|
||||||
|
<!-- <option value="desc">倒序播放</option>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--</div>-->
|
||||||
|
|
||||||
<div class="col-xl-8 col-lg-7">
|
<div class="col-xl-8 col-lg-7">
|
||||||
<div class="content-card card border-0 shadow-sm">
|
<div class="content-card card border-0 shadow-sm">
|
||||||
@ -73,7 +96,7 @@
|
|||||||
@select="playEpisode"
|
@select="playEpisode"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<QishierProjectLinks />
|
<!--<QishierProjectLinks />-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -112,6 +135,8 @@ const errorMsg = ref('')
|
|||||||
const updatedAt = ref<string | null>(null)
|
const updatedAt = ref<string | null>(null)
|
||||||
const years = ref<number[]>([])
|
const years = ref<number[]>([])
|
||||||
const selectedYear = ref('all')
|
const selectedYear = ref('all')
|
||||||
|
const months = ref<number[]>([])
|
||||||
|
const selectedMonth = ref('all')
|
||||||
|
|
||||||
const autoNext = ref(true)
|
const autoNext = ref(true)
|
||||||
const playMode = ref<'asc' | 'desc'>('asc')
|
const playMode = ref<'asc' | 'desc'>('asc')
|
||||||
@ -126,7 +151,16 @@ const displayEpisodeList = computed(() => {
|
|||||||
|
|
||||||
if (selectedYear.value !== 'all') {
|
if (selectedYear.value !== 'all') {
|
||||||
const year = Number(selectedYear.value)
|
const year = Number(selectedYear.value)
|
||||||
list = list.filter(item => new Date(item.releasedAt).getFullYear() === year)
|
list = list.filter(
|
||||||
|
item => new Date(item.releasedAt).getFullYear() === year
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selectedMonth.value !== 'all') {
|
||||||
|
const month = Number(selectedMonth.value)
|
||||||
|
list = list.filter(
|
||||||
|
item => new Date(item.releasedAt).getMonth() + 1 === month
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (playMode.value === 'desc') {
|
if (playMode.value === 'desc') {
|
||||||
@ -167,6 +201,10 @@ function getEpisodeYear(item: EpisodeData) {
|
|||||||
return String(new Date(item.releasedAt).getFullYear())
|
return String(new Date(item.releasedAt).getFullYear())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function openGitRepo() {
|
||||||
|
window.open('https://git.a-hxin.cn/ahxin/72QishierPlayer.git', '_blank')
|
||||||
|
}
|
||||||
|
|
||||||
async function fetchAllEpisodes() {
|
async function fetchAllEpisodes() {
|
||||||
try {
|
try {
|
||||||
errorMsg.value = ''
|
errorMsg.value = ''
|
||||||
@ -183,6 +221,14 @@ async function fetchAllEpisodes() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
months.value = [
|
||||||
|
...new Set(
|
||||||
|
allEpisodeList.value.map(item =>
|
||||||
|
new Date(item.releasedAt).getMonth() + 1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
].sort((a, b) => a - b)
|
||||||
|
|
||||||
const savedEpisodeId = getCurrentEpisodeId()
|
const savedEpisodeId = getCurrentEpisodeId()
|
||||||
const savedEpisode = allEpisodeList.value.find(item => item.id === savedEpisodeId)
|
const savedEpisode = allEpisodeList.value.find(item => item.id === savedEpisodeId)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user