From 06d4b605b18d23f03e4f0513f2202d39f1b003d3 Mon Sep 17 00:00:00 2001 From: MangoFanFanw Date: Tue, 21 Apr 2026 17:53:20 +0800 Subject: [PATCH] =?UTF-8?q?Playwright=20headless=20=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 Suan API 设置中添加控制 playwright headless 模式的设置。 --- njupt_api/baselib/config.py | 1 + njupt_api/baselib/playcontextmanager.py | 4 +++- webui/src/pages/Config.vue | 6 ++++++ webui/src/types/config.ts | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/njupt_api/baselib/config.py b/njupt_api/baselib/config.py index 5b5daa2..7e6a62e 100644 --- a/njupt_api/baselib/config.py +++ b/njupt_api/baselib/config.py @@ -61,6 +61,7 @@ class Config: doc_system["port"] = 8000 doc_system["reload"] = True + doc_schedule["playwright_headless"] = True doc_schedule["jwxt_login_method"] = "sso" doc_schedule["semester_start_date"] = "2026-03-02" doc_schedule["schedule_title_template"] = "芒果酸的第 {title} 周课程表" diff --git a/njupt_api/baselib/playcontextmanager.py b/njupt_api/baselib/playcontextmanager.py index a5a4e15..08766f6 100644 --- a/njupt_api/baselib/playcontextmanager.py +++ b/njupt_api/baselib/playcontextmanager.py @@ -6,6 +6,8 @@ from playwright.async_api import ( async_playwright, ) +from . import config + class PlayContextManager: def __init__( @@ -26,7 +28,7 @@ class PlayContextManager: """手动启动""" self.playwright = await async_playwright().start() # 不是 __enter__ self.browser = await self.playwright.chromium.launch( - headless=False, + headless=config.get("schedule", "playwright_headless", True), args=[ "--disable-blink-features=AutomationControlled", "--no-sandbox", diff --git a/webui/src/pages/Config.vue b/webui/src/pages/Config.vue index b89c65a..82629fd 100644 --- a/webui/src/pages/Config.vue +++ b/webui/src/pages/Config.vue @@ -71,6 +71,12 @@ function varTag(code: string, description: string) { +