from __future__ import annotations TASK_RUN_MODE_STABLE = "stable" TASK_RUN_MODE_OPTIMIZED = "optimized" TASK_RUN_MODES = ( TASK_RUN_MODE_STABLE, TASK_RUN_MODE_OPTIMIZED, ) TASK_RUN_MODE_LABELS = { TASK_RUN_MODE_STABLE: "稳定版", TASK_RUN_MODE_OPTIMIZED: "优化版", } TASK_RUN_MODE_DESCRIPTIONS = { TASK_RUN_MODE_STABLE: "保持当前稳定流程,优先兼容性与成功率。", TASK_RUN_MODE_OPTIMIZED: "复用选课页面与分类页签,减少重复加载;异常时自动回退稳定版。", } def normalize_task_run_mode(value: str | None) -> str: normalized = str(value or "").strip().lower() if normalized in TASK_RUN_MODES: return normalized return TASK_RUN_MODE_STABLE def build_task_run_mode_options() -> list[dict[str, str]]: return [ { "value": mode, "label": TASK_RUN_MODE_LABELS[mode], "description": TASK_RUN_MODE_DESCRIPTIONS[mode], } for mode in TASK_RUN_MODES ]