fix: persist execution.dryrun setting and add headless mode option for User

- Add EXECUTION_DRYRUN to save_to_env() to fix dryrun setting not persisting
  after restart
- Add headless mode checkbox in User mode settings for browser visibility control

Co-Authored-By: Claude (glm-5) <noreply@anthropic.com>
This commit is contained in:
Misaka_Company
2026-02-27 16:04:17 +08:00
parent 2d485be0ac
commit a37cf4ad91
2 changed files with 22 additions and 2 deletions

View File

@@ -162,6 +162,8 @@ class ConfigLoader:
"VALIDATION_ENABLE_CRUD": config.validation.enable_crud_operations,
"VALIDATION_DEFAULT_MANAGER": config.validation.default_manager,
"VALIDATION_MATCH_MODE": config.validation.match_mode,
# 执行配置
"EXECUTION_DRYRUN": config.execution.dryrun,
}
return save_env_file(env_file, env_dict)

View File

@@ -333,12 +333,26 @@ class SettingsTab(ttk.Frame):
).grid(row=0, column=0, sticky="w", pady=5)
# 说明文字
hint_label = ttk.Label(
dryrun_hint = ttk.Label(
group,
text="提示:勾选后,执行删除操作时将只预览不实际保存,用于测试流程。",
foreground="gray",
)
hint_label.grid(row=1, column=0, sticky="w", pady=(0, 5))
dryrun_hint.grid(row=1, column=0, sticky="w", pady=(0, 5))
# 无头模式设置
self.user_headless_var = tk.BooleanVar(value=True)
ttk.Checkbutton(
group, text="无头模式 (不显示浏览器)", variable=self.user_headless_var
).grid(row=2, column=0, sticky="w", pady=5)
# 说明文字
headless_hint = ttk.Label(
group,
text="提示:勾选后浏览器将在后台运行,不显示窗口。",
foreground="gray",
)
headless_hint.grid(row=3, column=0, sticky="w", pady=(0, 5))
def _create_extraction_group(self, parent):
"""创建处理配置组"""
@@ -516,6 +530,8 @@ class SettingsTab(ttk.Frame):
)
# 执行设置
self.user_dryrun_var.set(self.config.get("execution.dryrun", False))
# 无头模式
self.user_headless_var.set(self.config.get("erp.headless", True))
return
# 管理员模式 - 加载所有配置
@@ -612,6 +628,8 @@ class SettingsTab(ttk.Frame):
)
# 保存执行设置
self.config.set("execution.dryrun", self.user_dryrun_var.get())
# 无头模式
self.config.set("erp.headless", self.user_headless_var.get())
# 保存到文件
if self.config.save():