feat: EveryPublish Web 管理端重构与全平台发布接入

- 新增 React + TDesign 管理端(sau_web_react),替代历史 Vue 前端
- 后端接入 11 平台登录/发布(视频+图文),check_cookie 扩展全平台
- 异步发布任务 + 实时进度监控 + 发布日志
- Open API 开放体系(API Key 鉴权 + 7 个开放接口 + API 文档页)
- 账号单/批量校验与批量删除
- 全局配置(登录方式 + 发布静默模式)
- 统一浏览器为系统 Chrome,品牌文案统一为 EveryPublish
This commit is contained in:
Qiufeng
2026-08-21 14:41:47 +08:00
parent 1c66b7db4b
commit fd944b08bd
120 changed files with 6684 additions and 210 deletions
+4 -4
View File
@@ -182,7 +182,7 @@ async def cookie_auth(account_file):
if LOCAL_CHROME_PATH:
browser = await playwright.chromium.launch(headless=True, executable_path=LOCAL_CHROME_PATH)
else:
browser = await playwright.chromium.launch(headless=True, channel="chromium")
browser = await playwright.chromium.launch(headless=True, executable_path=LOCAL_CHROME_PATH)
try:
context = await browser.new_context(storage_state=account_file)
context = await set_init_script(context)
@@ -253,7 +253,7 @@ async def xiaohongshu_cookie_gen(
account_path.parent.mkdir(parents=True, exist_ok=True)
async with async_playwright() as playwright:
browser = await playwright.chromium.launch(headless=headless, channel="chromium")
browser = await playwright.chromium.launch(headless=headless, executable_path=LOCAL_CHROME_PATH)
context = await browser.new_context()
context = await set_init_script(context)
qrcode_path = None
@@ -702,7 +702,7 @@ class XiaoHongShuVideo(XiaoHongShuBaseUploader):
xiaohongshu_logger.info(_msg("🧍", "小人先检查 cookie、视频文件、封面和发布时间"))
await self.validate_upload_args()
xiaohongshu_logger.info(_msg("🥳", "上传前检查通过"))
browser = await playwright.chromium.launch(headless=self.headless, channel="chromium")
browser = await playwright.chromium.launch(headless=self.headless, executable_path=LOCAL_CHROME_PATH)
context = await browser.new_context(
permissions=["geolocation"],
storage_state=self.account_file,
@@ -825,7 +825,7 @@ class XiaoHongShuNote(XiaoHongShuBaseUploader):
xiaohongshu_logger.info(_msg("🧍", "小人先检查 cookie、图片和发布时间"))
await self.validate_upload_args()
xiaohongshu_logger.info(_msg("🥳", "图文上传前检查通过"))
browser = await playwright.chromium.launch(headless=self.headless, channel="chromium")
browser = await playwright.chromium.launch(headless=self.headless, executable_path=LOCAL_CHROME_PATH)
context = await browser.new_context(
permissions=["geolocation"],
storage_state=self.account_file,