diff --git a/backServer/data/capture-status.json b/backServer/data/capture-status.json index da75efa..ec3e180 100644 --- a/backServer/data/capture-status.json +++ b/backServer/data/capture-status.json @@ -1,5 +1,5 @@ { "running": false, - "lastMessage": "自动采集完成", - "updatedAt": "2026-03-12T05:01:28.586Z" + "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:16:36.500Z" } \ No newline at end of file diff --git a/src/views/QishierPlayer.vue b/src/views/QishierPlayer.vue index 0513394..7b54daf 100644 --- a/src/views/QishierPlayer.vue +++ b/src/views/QishierPlayer.vue @@ -4,44 +4,67 @@
+

{{ columnInfo.name || '七十二家房客播放器' }}

共 {{ allEpisodeList.length }} 条 | 最后更新:{{ updatedAtText }}
+
+
+ + + + +
+ + +
+ + +
+ +
-
-
-
- + + + + + + - + + + -
- - -
+ + + + - -
-
-
+ + + + + + +
@@ -73,7 +96,7 @@ @select="playEpisode" /> - +
@@ -112,6 +135,8 @@ const errorMsg = ref('') const updatedAt = ref(null) const years = ref([]) const selectedYear = ref('all') +const months = ref([]) +const selectedMonth = ref('all') const autoNext = ref(true) const playMode = ref<'asc' | 'desc'>('asc') @@ -126,7 +151,16 @@ const displayEpisodeList = computed(() => { if (selectedYear.value !== 'all') { 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') { @@ -167,6 +201,10 @@ function getEpisodeYear(item: EpisodeData) { return String(new Date(item.releasedAt).getFullYear()) } +function openGitRepo() { + window.open('https://git.a-hxin.cn/ahxin/72QishierPlayer.git', '_blank') +} + async function fetchAllEpisodes() { try { errorMsg.value = '' @@ -183,6 +221,14 @@ async function fetchAllEpisodes() { return } + months.value = [ + ...new Set( + allEpisodeList.value.map(item => + new Date(item.releasedAt).getMonth() + 1 + ) + ) + ].sort((a, b) => a - b) + const savedEpisodeId = getCurrentEpisodeId() const savedEpisode = allEpisodeList.value.find(item => item.id === savedEpisodeId)