This commit is contained in:
949036910@qq.com
2026-05-28 15:24:23 +08:00
parent 2fe4effdd4
commit 05f28e3a30
2 changed files with 98 additions and 4 deletions

View File

@@ -87,9 +87,39 @@ async function getPublishBrowser(platform, accountId) {
return browser;
}
async function closeBlankPages(browser, keepPage) {
try {
const pages = await browser.pages();
for (const p of pages) {
if (keepPage && p === keepPage) continue;
const u = p.url();
if (!u || u === "about:blank") {
try {
await p.close();
} catch {
/* ignore */
}
}
}
} catch {
/* ignore */
}
}
async function newPublishPage(platform, accountId, cookies) {
const browser = await getPublishBrowser(platform, accountId);
const page = await browser.newPage();
const pages = await browser.pages();
let page =
pages.find((p) => {
try {
return p.url() === "about:blank";
} catch {
return false;
}
}) || null;
if (!page) {
page = await browser.newPage();
}
await page.setUserAgent(DEFAULT_USER_AGENT);
await page.evaluateOnNewDocument(STEALTH_INIT_SCRIPT);
page.setDefaultNavigationTimeout(60000);
@@ -101,9 +131,22 @@ async function newPublishPage(platform, accountId, cookies) {
console.warn("setCookie 失败:", e.message);
}
}
await closeBlankPages(browser, page);
return page;
}
async function closePublishBrowser(platform, accountId) {
const key = contextKey(platform, accountId);
const browser = browsers.get(key);
if (!browser) return;
browsers.delete(key);
try {
await browser.close();
} catch {
/* ignore */
}
}
const LOGIN_URLS = {
douyin: "https://creator.douyin.com/",
kuaishou: "https://cp.kuaishou.com/",
@@ -118,4 +161,5 @@ module.exports = {
userDataDir,
LOGIN_URLS,
getChromiumExecutablePath,
closePublishBrowser,
};