Files
auto_control/tasks
butubb 6b2866692d fix(编辑器+执行器): 去重条件上残留的文本比对设置会误报警告;并补上"两处身份不一致"的检测
用户报的现象:内层条件判断已经选了「去重」、身份元素也填了,但保存时**一直提示
"选了文本比对但没填比对的值"**(他看不到、也清不掉那两行)。

根因(我写的):从"元素类"切到「去重 / 屏幕状态」时,面板里"文本比对"那块是**隐藏**的,
但 params 里旧的 `cmp_op`/`cmp_value` 还留着;而校验没排除这两类不用文本比对的类型,
于是每次保存都拿那个残留去报警 —— 用户看不到源头的两行,自然无从下手。

- `static/admin/editor.js` 的 `validate`:
  · 「去重 / 屏幕状态」不再报文本比对的警告(设计上就用不到);
  · 这两类也不报"选择器为空"(去重用的是 `ident_value`,不是 `selector_value`);
  · **顺手补一个真问题的检测**:去重的两处身份**空值也纳入比对** —— 一边填了、
    另一边留空(= 用设备当身份)是最常见的不一致,只收非空值时恰好检测不到。
    报错文案把"留空"写成「(留空 → 用设备当身份)」,用户一眼知道差在哪。
- `tasks/generic/task.py`:被忽略的文本比对只在**真的配了值**时才打 WARNING
  (切换类型留下的空残留不必每轮刷日志)。

验证:把用户**生产任务的真实 JSON** 喂给新的 `validate()`:
假警告消失,只剩下一条真警告 ——「检查侧=账号元素 / 记账侧=留空(用设备)」身份不一致。
2026-09-24 13:34:53 +08:00
..