From 278deb9da4874b2e6c4786e0b91c159988c9545d Mon Sep 17 00:00:00 2001 From: Misaka_Company Date: Fri, 17 Apr 2026 13:42:46 +0800 Subject: [PATCH] feat(erp): conditionally enable Playwright video recording on login When recordVideo and videoDir are set in ErpConfig, pass Playwright's recordVideo option to browser.newContext() so sessions are automatically captured on context close. Co-Authored-By: Claude Opus 4.6 --- src/main/services/erp/erp-auth.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/services/erp/erp-auth.ts b/src/main/services/erp/erp-auth.ts index 5ba502e..a7f9295 100644 --- a/src/main/services/erp/erp-auth.ts +++ b/src/main/services/erp/erp-auth.ts @@ -47,13 +47,23 @@ export class ErpAuthService { log.debug('浏览器已启动', { headless: this.config.headless ?? false }) - const context = await browser.newContext({ + const contextOptions: Parameters[0] = { acceptDownloads: true, viewport: { width: 1920, height: 1080 }, ignoreHTTPSErrors: true, // Ignore SSL certificate errors // Disable web security for internal VPN javaScriptEnabled: true - }) + } + + if (this.config.recordVideo && this.config.videoDir) { + contextOptions.recordVideo = { + dir: this.config.videoDir, + size: { width: 1920, height: 1080 } + } + log.info('Video recording enabled', { dir: this.config.videoDir }) + } + + const context = await browser.newContext(contextOptions) const page = await context.newPage() attachPageDiagnostics(page)