Members
(constant) TIMEOUT_LAUNCH
- Description:
Chrome 生命週期管理器
設計原則:state 由 Playwright 的 context.isClosed() 衍生,不自製 state machine。 caller 看 snapshot 拿 'open' / 'closed' 兩態;操作 API 只在 open 狀態可用,否則拋 chromeState-tagged Error 給 errResponse 統一處理。
lifecycle 操作(open / close / shutdown)走 _opLock 序列化,避免並發 race。
- Source:
Chrome 生命週期管理器
設計原則:state 由 Playwright 的 context.isClosed() 衍生,不自製 state machine。 caller 看 snapshot 拿 'open' / 'closed' 兩態;操作 API 只在 open 狀態可用,否則拋 chromeState-tagged Error 給 errResponse 統一處理。
lifecycle 操作(open / close / shutdown)走 _opLock 序列化,避免並發 race。
Methods
(async) WScreenctl(optopt) → {Promise.<Server>}
- Description:
啟動 w-screenctl 服務,對外提供 REST API 控制作業系統桌面(滑鼠、鍵盤、截圖)與 Chrome 瀏覽器
跨平台支援:Linux 走 xdotool / ImageMagick,Windows 走 w-mousekey / AHK;Chrome 控制全平台皆透過 Playwright
零信任設計:caller 可任意 retry / 中斷 / agent swap,server 維持自洽狀態。所有 chrome lifecycle 透過 ChromeManager 序列化;所有路由經由 routeFactory 統一錯誤處理;所有 payload 經 Joi 驗證。
- Source:
Parameters:
| Name | Type | Attributes | Default | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
opt |
Object |
<optional> |
{}
|
輸入設定物件 Properties
|
Returns:
Hapi server 實例
- Type
- Promise.<Server>