53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
"""仿真浏览器 RPA 示例常量。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
from pathlib import Path
|
|
|
|
from jiangchang_skill_core import config
|
|
|
|
SKILL_SLUG = "example-simulator-browser-rpa"
|
|
LOG_LOGGER_NAME = "openclaw.skill.example_simulator_browser_rpa"
|
|
|
|
TARGET_PLATFORM = "sim_batch"
|
|
LEASE_HOLDER = "example-simulator-browser-rpa"
|
|
LEASE_TTL_SEC = "1800"
|
|
|
|
DEFAULT_TIMEOUT_MS = 15_000
|
|
LOGIN_NAVIGATE_TIMEOUT_MS = 30_000
|
|
SUBMIT_NAVIGATE_TIMEOUT_MS = 60_000
|
|
DEFAULT_PORTAL_LOGIN_WAIT_SEC = 120
|
|
|
|
DEFAULT_DEMO_LOGIN_ID = "demo001"
|
|
DEFAULT_DEMO_PASSWORD = "demo-password"
|
|
DEFAULT_DEMO_CAPTCHA = "0000"
|
|
DEFAULT_DEMO_TOKEN_PIN = "123456"
|
|
|
|
ENV_SIMULATOR_BASE_URL = "SIMULATOR_BASE_URL"
|
|
ENV_SIMULATOR_PASSWORD = "SIMULATOR_PASSWORD"
|
|
ENV_SIMULATOR_TOKEN_PIN = "SIMULATOR_TOKEN_PIN"
|
|
ENV_PORTAL_LOGIN_WAIT_SEC = "PORTAL_LOGIN_WAIT_SEC"
|
|
|
|
_EXAMPLE_ROOT = Path(__file__).resolve().parents[2]
|
|
DEFAULT_DEMO_APP_PATH = _EXAMPLE_ROOT / "sandbox" / "demo_app.html"
|
|
|
|
|
|
def portal_login_wait_sec() -> int:
|
|
raw = (
|
|
os.getenv(ENV_PORTAL_LOGIN_WAIT_SEC)
|
|
or config.get(ENV_PORTAL_LOGIN_WAIT_SEC)
|
|
or str(DEFAULT_PORTAL_LOGIN_WAIT_SEC)
|
|
)
|
|
try:
|
|
return max(1, int(str(raw).strip()))
|
|
except (TypeError, ValueError):
|
|
return DEFAULT_PORTAL_LOGIN_WAIT_SEC
|
|
|
|
|
|
def resolve_simulator_base_url() -> str:
|
|
env = (os.getenv(ENV_SIMULATOR_BASE_URL) or "").strip()
|
|
if env:
|
|
return env.rstrip("/")
|
|
return DEFAULT_DEMO_APP_PATH.as_uri()
|