Files
auto_control/static/admin
butubb cba39562dc fix(编辑器): 嵌套条件判断的分支同步写错容器 —— 修复「填了值保存就没了」+「步骤被改名」
用户报的现象(生产「评论」任务):
  ① 一直提示"步骤7子步骤1没有填写包名"
  ② 包名填了、一保存就没了
  ③ 那个步骤还会"自己重命名"成「指定视频评论」

根因(**2026-08-11 的 060157e 引入的老 bug,不是本批改动**):
`_syncParams` 定位 if_el 的分支容器时用的是
    card.querySelector(':scope > .if-branch .step-children.if-else')
`.if-branch` 与 `.step-children` 之间是**空格(后代)**而不是 `>`(直接子级)。
于是**条件判断里再嵌一个条件判断**时,外层卡片会匹配到**内层那个 if_el 的分支容器**
(文档顺序上它更靠前),把内层的子步骤当成自己的分支去同步:

  · 内层分支的「步骤名」输入框 → 写进了外层分支里那个 stop_app 的 label
    (所以步骤被改名成内层容器步骤的名字「指定视频评论」);
  · 内层分支里**没有**包名输入框 → 外层那个 stop_app 的 package **永远读不回来**
    (所以"填了保存就没"、保存后仍报"没填包名")。

把两处都改成直接子级(`> `)即可。then 那侧此前恰好因为文档顺序能命中自己,
但写法一样脆,一并收紧。

验证:最小复现(外层 if_el 的 then 里嵌内层 if_el,外层 else 放 stop_app+screen_off)
—— 修复前:`package=""`、`label="指定视频评论"`(与用户现象逐字一致);
修复后:`package="com.ss.android.ugc.aweme"`、`label="我给它起的名"`。
另扫了生产全部 6 个任务:只有「评论」这一个任务的结构会踩到,且已经踩了
(`7.第1步 stop_app 包名为空`)—— 改动不会波及其它任务。
2026-09-24 11:29:53 +08:00
..