import axios from "axios" import { getDateString, getDateTimeString } from "./time.js" import { appendFileSync } from "./fileUtil.js" import { cntvNames } from "./datas.js" async function getPlaybackData(programId) { const date = new Date() const today = getDateString(date) const resp = await axios.get(`https://program-sc.miguvideo.com/live/v2/tv-programs-data/${programId}/${today}`).then(r => r.data) return resp.body?.program[0]?.content } async function updatePlaybackDataByMigu(program, filePath) { // 今日节目数据 const playbackData = await getPlaybackData(program.pID) if (!playbackData) { return false } // 写入频道信息 appendFileSync(filePath, ` \n` + ` ${program.name}\n` + ` \n` ) // 写入节目信息 for (let i = 0; i < playbackData.length; i++) { // 特殊字符转义 const contName = playbackData[i].contName.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll("\"", """).replaceAll("'", "'"); appendFileSync(filePath, ` \n` + ` ${contName}\n` + ` \n` ) } return true } async function updatePlaybackDataByCntv(program, filePath) { // 今日节目数据 const date = new Date() const today = getDateString(date) const cntvName = cntvNames[program.name] const resp = await axios.get(`https://api.cntv.cn/epg/epginfo3?serviceId=shiyi&d=${today}&c=${cntvName}`).then(r => r.data) const playbackData = resp[cntvName]?.program if (!playbackData) { return false } // 写入频道信息 appendFileSync(filePath, ` \n` + ` ${program.name}\n` + ` \n` ) // 写入节目信息 for (let i = 0; i < playbackData.length; i++) { // 特殊字符转义 const contName = playbackData[i].t.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll("\"", """).replaceAll("'", "'"); appendFileSync(filePath, ` \n` + ` ${contName}\n` + ` \n` ) } return true } async function updatePlaybackData(program, filePath) { if (cntvNames[program.name]) { return updatePlaybackDataByCntv(program, filePath) } return updatePlaybackDataByMigu(program, filePath) } export { updatePlaybackData }