ptSend/router/videoInfo.js
2023-09-03 21:10:55 +08:00

94 lines
1.9 KiB
JavaScript

const Router = require("koa-router")
const {serach, gen_douban} = require("../util/ptgen")
const axios = require("axios")
const cheerio = require("cheerio");
const {addSub, getSub, delSub} = require("../util/sql/video"); // HTML页面解析
const router = new Router({
prefix: "/videoInfo"
})
/**
* 豆瓣搜索
*/
router.get("/searchVideo", async (ctx) => {
let name = ctx.query.name
ctx.body = await serach(name)
})
/**
* 获取豆瓣描述
*/
router.get("/getVideoInfo", async (ctx) => {
let id = ctx.query.id
if (!id) {
ctx.body = "请传递id"
return
}
ctx.body = await gen_douban(id)
})
/**
* 添加订阅
*/
router.post("/addSubscribe", async (ctx) => {
// console.log(ctx.request.body)
let data = ctx.request.body
try {
let r = await addSub(data)
if (r) {
ctx.body = "订阅已存在"
} else {
ctx.body = "添加成功"
}
} catch {
ctx.body = "添加失败"
}
})
/**
* 获取订阅列表
*/
router.get("/getSubscribe", async (ctx) => {
ctx.body = await getSub(ctx.query.state)
})
/**
* 从imdb获取影视英文名称
*/
router.get("/getImdbName", async (ctx) => {
let res = await axios.get(ctx.query.url, {
proxy: false,
headers: {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67"
}
})
// console.log(res.data)
let $ = cheerio.load(res.data)
ctx.body = $("h1").text()
})
/**
* 删除订阅任务
*/
router.get("/delSubscribe", async (ctx) => {
try {
await delSub(ctx.query.id)
ctx.body = {
code: 0,
msg: "删除成功"
}
} catch {
ctx.body = {
code: 0,
msg: "删除失败"
}
}
})
module.exports = router