修改为前后端分离模式
This commit is contained in:
23
util/download.js
Normal file
23
util/download.js
Normal file
@@ -0,0 +1,23 @@
|
||||
const path = require('path')
|
||||
const { getListData } = require(path.join(__dirname,'/getList/qq.js'));
|
||||
const {dow} = require("./utils.js")
|
||||
|
||||
// async function getlist (url) {
|
||||
// let list = await getListData(url)
|
||||
// return list
|
||||
// // console.log('electron收到远端的传参', a);
|
||||
// // callback('config result'); // 回调给远端的请求数据,如 config
|
||||
// // ipcRenderer.send('close', 'args bbb'); // 比如收到请求关闭窗口
|
||||
// };
|
||||
|
||||
|
||||
|
||||
|
||||
function dowload(info,callback){
|
||||
console.log("开始")
|
||||
dow(info,callback)
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
dowload
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
const puppeteer = require("puppeteer")
|
||||
const { seep } = require("../utils.js");
|
||||
|
||||
async function getListData(url) {
|
||||
async function getQqListData(url) {
|
||||
const browser = await puppeteer.launch({
|
||||
// 关闭无头模式,方便我们看到这个无头浏览器执行的过程
|
||||
headless: false,
|
||||
@@ -16,6 +16,17 @@ async function getListData(url) {
|
||||
let list = await page.evaluate(() => {
|
||||
return window.__PINIA__.episodeMain
|
||||
})
|
||||
// let qb = await page.$$(".b-btn--round")
|
||||
await page.$$eval(".b-btn--round", (list) => {
|
||||
console.log(list)
|
||||
for (let i of list) {
|
||||
if (i && i.innerText) {
|
||||
if ("全部" == i.innerText.trim()) {
|
||||
i.click()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
for (let i of list.listData[0].tabs) {
|
||||
let text = i.text
|
||||
let more = await page.$(".b-tab__more")
|
||||
@@ -30,6 +41,16 @@ async function getListData(url) {
|
||||
}
|
||||
}
|
||||
}, text)
|
||||
await page.$$eval(".b-tag-list__tag", (list, text) => {
|
||||
console.log(list)
|
||||
for (let i of list) {
|
||||
if (i && i.innerText) {
|
||||
if (text == i.innerText.trim()) {
|
||||
i.click()
|
||||
}
|
||||
}
|
||||
}
|
||||
}, text)
|
||||
await seep(1000);
|
||||
}
|
||||
|
||||
@@ -59,5 +80,5 @@ async function getListData(url) {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getListData
|
||||
getQqListData
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
const path = require('path')
|
||||
const { getListData } = require(path.join(__dirname,'/getList/qq.js'));
|
||||
const {dow} = require("./utils.js")
|
||||
|
||||
async function getlist (url) {
|
||||
let list = await getListData(url)
|
||||
return list
|
||||
// console.log('electron收到远端的传参', a);
|
||||
// callback('config result'); // 回调给远端的请求数据,如 config
|
||||
// ipcRenderer.send('close', 'args bbb'); // 比如收到请求关闭窗口
|
||||
};
|
||||
|
||||
window.getlist = getlist
|
||||
|
||||
|
||||
|
||||
window.dowload = function (info,callback){
|
||||
console.log("开始")
|
||||
dow(info,callback)
|
||||
}
|
||||
@@ -12,7 +12,8 @@ function seep(time){
|
||||
function dow(info,callback){
|
||||
const lux = spawn("./bin/yt-dlp.exe", ['--cookies-from-browser', 'edge', '-P', 'D:/dl', '-o', info.title + '.mp4', info.url])
|
||||
lux.stdout.on('data', (data) => {
|
||||
callback(data,false)
|
||||
console.log(String(data))
|
||||
callback(String(data),false)
|
||||
});
|
||||
lux.on('close', (code) => {
|
||||
console.log("结束")
|
||||
|
||||
Reference in New Issue
Block a user