const puppeteer = require("puppeteer")
const { seep } = require("../utils.js");

async function getQqListData(url) {
    const browser = await puppeteer.launch({
        // 关闭无头模式，方便我们看到这个无头浏览器执行的过程
        headless: false,
        timeout: 0 // 默认超时为30秒，设置为0则表示不设置超时
    });
    const page = await browser.newPage();
    page.setViewport({
        width: 1376,
        height: 768,
    });
    await page.goto(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")
        more && more.click()
        await page.$$eval(".b-tab__item", (list, text) => {
            console.log(list)
            for (let i of list) {
                if (i && i.innerText) {
                    if (text == i.innerText.trim()) {
                        i.click()
                    }
                }
            }
        }, 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);
    }

    list = await page.evaluate(() => {
        return __PINIA__.episodeMain
    })

    list = list.listData[0].list
    let listData = []
    for (let i of list) {
        // listData.push(...i)
        i.forEach(j => {
            if(!j.isNoStoreWatchHistory){
                listData.push(j)
            }
        });
    }
    list = []
    for(let i of listData){
        list.push({
            title:i.fullTitle,
            url:"https://v.qq.com/x/cover/" + i.cid + "/" + i.vid + ".html"
        })
    }
    browser.close()
    return list
}

module.exports = {
    getQqListData
}