add 获取视频长度及测试用按钮与请求地址
This commit is contained in:
@@ -1,13 +1,19 @@
|
||||
const Router = require("koa-router")
|
||||
const { getQqListData } = require("../util/getList/qq")
|
||||
const {getQqListData} = require("../util/getList/qq")
|
||||
const {getVideoTotalLength} = require("../util/utils")
|
||||
const KoaSSEStream = require('koa-sse-stream');
|
||||
const { dowload } = require("../util/download");
|
||||
const { addDownList, getDownList, setDownState } = require("../util/sql/download");
|
||||
const {dowload} = require("../util/download");
|
||||
const {addDownList, getDownList, setDownState} = require("../util/sql/download");
|
||||
const dayjs = require("dayjs")
|
||||
const router = new Router()
|
||||
// const dowloadlist = []
|
||||
|
||||
router.get("/getQqList",async (ctx)=>{
|
||||
router.get("/test", async (ctx) => {
|
||||
let url = ctx.query.url
|
||||
ctx.body = getVideoTotalLength(url)
|
||||
})
|
||||
|
||||
router.get("/getQqList", async (ctx) => {
|
||||
let url = ctx.query.url
|
||||
let videoid = url.split("/")
|
||||
for(let i in videoid){
|
||||
@@ -20,7 +26,7 @@ router.get("/getQqList",async (ctx)=>{
|
||||
ctx.body = list
|
||||
})
|
||||
|
||||
router.get("/startDown",async (ctx)=>{
|
||||
router.get("/startDown", async (ctx) => {
|
||||
let title = ctx.query.title
|
||||
let url = ctx.query.url
|
||||
let save = ctx.query.save
|
||||
@@ -28,10 +34,10 @@ router.get("/startDown",async (ctx)=>{
|
||||
// title,url,save
|
||||
// })
|
||||
// startDown()
|
||||
addDownList(title,url,save,new Date().getTime(),0)
|
||||
ctx.body={
|
||||
code:0,
|
||||
msg:"添加成功"
|
||||
addDownList(title, url, save, new Date().getTime(), 0)
|
||||
ctx.body = {
|
||||
code: 0,
|
||||
msg: "添加成功"
|
||||
}
|
||||
})
|
||||
// 连接池
|
||||
@@ -44,33 +50,35 @@ const SSE_CONF = {
|
||||
router.get('/msg', KoaSSEStream(SSE_CONF), ctx => {
|
||||
// 每次连接会进行一个 push
|
||||
clientList.push(ctx.sse);
|
||||
if(clientList.length > 5){
|
||||
if (clientList.length > 5) {
|
||||
// 超过5个删除最开始的一个
|
||||
// todo 浏览器关闭后自动检测删除
|
||||
clientList.shift()
|
||||
}
|
||||
})
|
||||
let start = false
|
||||
function startDown(data){
|
||||
|
||||
function startDown(data) {
|
||||
start = true
|
||||
dowload(data,async (data2,isok)=>{
|
||||
dowload(data, async (data2, isok) => {
|
||||
let name = data2.title
|
||||
clientList.forEach((i)=>{
|
||||
i.send(isok ? `${name}下载完成` : data2 )
|
||||
clientList.forEach((i) => {
|
||||
i.send(isok ? `${name}下载完成` : data2)
|
||||
})
|
||||
if(isok){
|
||||
if (isok) {
|
||||
// dowloadlist.shift()
|
||||
await setDownState(data.id,1)
|
||||
await setDownState(data.id, 1)
|
||||
start = false
|
||||
}
|
||||
})
|
||||
}
|
||||
setInterval(async ()=>{
|
||||
|
||||
setInterval(async () => {
|
||||
let dowloadlist = await getDownList()
|
||||
if(dowloadlist.length != 0 && !start){
|
||||
if (dowloadlist.length != 0 && !start) {
|
||||
startDown(dowloadlist[0])
|
||||
}else if(dowloadlist.length == 0){
|
||||
} else if (dowloadlist.length == 0) {
|
||||
start = false
|
||||
}
|
||||
},1000)
|
||||
}, 1000)
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user