mirror of
https://github.com/develop202/migu_video.git
synced 2025-12-17 07:18:22 +08:00
添加本地部署
This commit is contained in:
@@ -1,34 +1,36 @@
|
||||
import { dataList } from "./utils/fetchList.js"
|
||||
import { getAndroidURL } from "./utils/androidURL.js"
|
||||
import refreshToken from "./utils/refreshToken.js"
|
||||
import { appendFile, writeFile } from "./utils/fileUtil.js"
|
||||
import { appendFile, appendFileSync, renameFileSync, writeFile } from "./utils/fileUtil.js"
|
||||
import { updatePlaybackData } from "./utils/playback.js"
|
||||
import { printBlue, printGreen, printMagenta, printRed, printYellow } from "./utils/colorOut.js"
|
||||
import { token as config_token, userId as config_userId } from "./config.js"
|
||||
|
||||
async function fetchURLByAndroid() {
|
||||
|
||||
const userId = process.env.USERID
|
||||
const token = process.env.MIGU_TOKEN
|
||||
const userId = process.env.USERID || config_userId
|
||||
const token = process.env.MIGU_TOKEN || config_token
|
||||
|
||||
const date = new Date()
|
||||
const start = date.getTime()
|
||||
|
||||
// 必须绝对路径
|
||||
const path = process.cwd() + '/interface.txt'
|
||||
// 创建写入空内容
|
||||
writeFile(path, "")
|
||||
|
||||
// 获取数据
|
||||
const datas = await dataList()
|
||||
|
||||
// 必须绝对路径
|
||||
const path = process.cwd() + '/interface.txt.bak'
|
||||
// 创建写入空内容
|
||||
writeFile(path, "")
|
||||
|
||||
// 回放
|
||||
const playbackFile = process.cwd() + '/playback.xml'
|
||||
const playbackFile = process.cwd() + '/playback.xml.bak'
|
||||
writeFile(playbackFile,
|
||||
`<?xml version="1.0" encoding="UTF-8"?>\n` +
|
||||
`<tv generator-info-name="Tak" generator-info-url="https://github.com/develop202/migu_video/">\n`)
|
||||
|
||||
if (!date.getHours()) {
|
||||
// 0点刷新token
|
||||
await refreshToken(userId, token) ? console.log("token刷新成功") : console.log("token刷新失败")
|
||||
await refreshToken(userId, token) ? printGreen("token刷新成功") : printRed("token刷新失败")
|
||||
}
|
||||
|
||||
// 写入开头
|
||||
@@ -37,32 +39,39 @@ async function fetchURLByAndroid() {
|
||||
|
||||
// 分类列表
|
||||
for (let i = 0; i < datas.length; i++) {
|
||||
console.log(`分类###:${datas[i].name}`)
|
||||
printBlue(`分类###:${datas[i].name}`)
|
||||
|
||||
const data = datas[i].dataList
|
||||
// 写入节目
|
||||
for (let j = 0; j < data.length; j++) {
|
||||
|
||||
printMagenta(`${data[j].name}:`)
|
||||
const res = await updatePlaybackData(data[j], playbackFile)
|
||||
if (!res) {
|
||||
console.log(`playback.xml更新失败`)
|
||||
if (res) {
|
||||
printGreen(` 节目单更新成功`)
|
||||
} else {
|
||||
printRed(` 节目单更新失败`)
|
||||
}
|
||||
|
||||
// 获取链接
|
||||
const resObj = await getAndroidURL(userId, token, data[j].pID, 999)
|
||||
const resObj = await getAndroidURL(userId, token, data[j].pID, 4)
|
||||
if (resObj.url == "") {
|
||||
console.log(`${data[j].name}:节目调整,暂不提供服务`)
|
||||
printRed(` 节目调整,暂不提供服务`)
|
||||
continue
|
||||
}
|
||||
console.log(`正在写入节目:${data[j].name}`)
|
||||
|
||||
// 写入节目
|
||||
appendFile(path, `#EXTINF:-1 svg-id="${data[j].name}" svg-name="${data[j].name}" tvg-logo="${data[j].pics.highResolutionH}" group-title="${datas[i].name}",${data[j].name}\n${resObj.url}\n`)
|
||||
printGreen(` 节目链接更新成功`)
|
||||
}
|
||||
}
|
||||
|
||||
appendFile(playbackFile, `</tv>\n`)
|
||||
appendFileSync(playbackFile, `</tv>\n`)
|
||||
|
||||
renameFileSync(playbackFile, playbackFile.replace(".bak", ""))
|
||||
renameFileSync(path, path.replace(".bak", ""))
|
||||
const end = Date.now()
|
||||
console.log(`本次耗时:${(end - start) / 1000}秒`)
|
||||
printYellow(`本次耗时:${(end - start) / 1000}秒`)
|
||||
}
|
||||
|
||||
fetchURLByAndroid()
|
||||
|
||||
Reference in New Issue
Block a user