From b666856234354466e658e2ca22b5f045b69311cc Mon Sep 17 00:00:00 2001 From: develop202 Date: Wed, 4 Feb 2026 14:49:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=BA=93=E9=93=BE=E6=8E=A5=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=9B=B4=E6=96=B0=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fetchURLByzbpro.js | 42 ++++++++++++++++++++---------------------- utils/zbpro.js | 16 +++++++++++++++- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/fetchURLByzbpro.js b/fetchURLByzbpro.js index 1826797..307f7ff 100644 --- a/fetchURLByzbpro.js +++ b/fetchURLByzbpro.js @@ -34,32 +34,30 @@ switch (updateResult) { } // 6小时更新节目单 -if (start.getHours() % 6) { - process.exit(0) -} +if (!(start.getHours() % 6)) { + // 获取数据 + const datas = await dataList() + printGreen("数据获取成功!") -// 获取数据 -const datas = await dataList() -printGreen("数据获取成功!") + try { + const playbackFile = `${process.cwd()}/playback.xml.bak` -try { - const playbackFile = `${process.cwd()}/playback.xml.bak` - - writeFileSync(playbackFile, `\n` + - `\n`) - printMagenta("开始更新回放文件...") - for (const data of datas) { - for (const dataList of data?.dataList) { - await updatePlaybackData(dataList, playbackFile, 10000, 8 * 60 * 60 * 1000) + writeFileSync(playbackFile, `\n` + + `\n`) + printMagenta("开始更新回放文件...") + for (const data of datas) { + for (const dataList of data?.dataList) { + await updatePlaybackData(dataList, playbackFile, 10000, 8 * 60 * 60 * 1000) + } } + + appendFileSync(playbackFile, `\n`) + renameFileSync(playbackFile, playbackFile.replace(".bak", "")) + + printGreen("回放文件更新完成!") + } catch (error) { + printRed("回放文件更新失败!") } - - appendFileSync(playbackFile, `\n`) - renameFileSync(playbackFile, playbackFile.replace(".bak", "")) - - printGreen("回放文件更新完成!") -} catch (error) { - printRed("回放文件更新失败!") } printGreen(`用时 ${(Date.now() - start.getTime()) / 1000}秒`) diff --git a/utils/zbpro.js b/utils/zbpro.js index 6dbdca3..b029fc2 100644 --- a/utils/zbpro.js +++ b/utils/zbpro.js @@ -63,7 +63,7 @@ async function getAllURL() { // console.log(result) // console.log(pro_gz) const result = JSON.parse(resultJSON) - if (result.timestamp == String(repoLinkUpdateTimestamp)) { + if (result.timestamp == repoLinkUpdateTimestamp) { status = 1 return 1 } @@ -92,6 +92,9 @@ async function getAllURL() { for (const url of channel?.urls) { i += 1 let decryptURL = AESdecrypt(url) + if (decryptURL.startsWith("sys_http")) { + decryptURL = decryptURL.replace("sys_", "") + } if (!decryptURL.startsWith("http")) { // printYellow(`${i} ${channel?.title} 格式错误, 过滤`) continue @@ -138,6 +141,13 @@ async function getAllURL() { } const channelURLM3U = `#EXTINF:-1 tvg-id="${channel?.title}" tvg-name="${channel?.title}" tvg-logo="" group-title="${channel?.province}",${channel.title}\n${decryptURL}` const channelURLTXT = `${channel?.title},${decryptURL}` + if (sumChannel == 0) { + // 更新时间 + const updateTime = new Date(result?.timestamp) + const updateTimeStr = `更新日期: ${updateTime.getFullYear()}-${updateTime.getMonth() + 1}-${updateTime.getDate()} ${String(updateTime.getHours()).padStart(2, "0")}:${String(updateTime.getMinutes()).padStart(2, "0")}:${String(updateTime.getSeconds()).padStart(2, "0")}` + channelsURLM3U.push(`#EXTINF:-1 tvg-id="${channel?.title}" tvg-name="${channel?.title}" tvg-logo="" group-title="${channel?.province}",${updateTimeStr}\n${decryptURL}`) + channelsURLTXT.push(`更新日期: ${updateTimeStr},${decryptURL}`) + } channelsURLM3U.push(channelURLM3U) channelsURLTXT.push(channelURLTXT) sumChannel += 1 @@ -150,6 +160,10 @@ async function getAllURL() { } const m3u = channelsURLM3U.join("\n") const txt = channelsURLTXT.join("\n") + + const updateTime = new Date(result?.timestamp) + console.log(`文件日期: ${updateTime.getFullYear()}-${updateTime.getMonth() + 1}-${updateTime.getDate()} ${String(updateTime.getHours()).padStart(2, "0")}:${String(updateTime.getMinutes()).padStart(2, "0")}:${String(updateTime.getSeconds()).padStart(2, "0")}`) + printGreen(`本次共更新${sumChannel}个`) if (debug) { Object.entries(domains)