Files
yaoyaoai/scripts/nodejs/publish_platform.js
949036910@qq.com c81c4e31e0 11
2026-06-03 18:49:37 +08:00

54 lines
1.4 KiB
JavaScript

"use strict";
const {
newPublishPage,
detachPublishBrowser,
closePublishBrowser,
} = require("./publish_browser.js");
const { publishToDouyin } = require("./publish_to_douyin.js");
const PLATFORM_LABELS = {
douyin: "抖音",
kuaishou: "快手",
shipin: "视频号",
xiaohongshu: "小红书",
};
async function publishToPlatform(platform, accountId, cookies, params) {
const label = PLATFORM_LABELS[platform] || platform;
if (platform === "douyin") {
const page = await newPublishPage(platform, accountId, cookies);
let result;
try {
result = await publishToDouyin(page, params);
return result;
} finally {
const keepOpen =
Boolean(params.keepPageOpen) ||
Boolean(result?.keepPageOpen) ||
result?.status === "manual_pending" ||
result?.status === "verification_required";
if (keepOpen) {
globalThis.__native?.emitProgress?.(
"浏览器已保留(独立进程),请在页面中检查并手动点击发布",
);
await detachPublishBrowser(platform, accountId);
} else {
try {
await page.close();
} catch {
/* ignore */
}
await closePublishBrowser(platform, accountId);
}
}
}
return {
success: false,
status: "failed",
message: `${label}自动发布即将支持,请先使用抖音`,
};
}
module.exports = { publishToPlatform, PLATFORM_LABELS };