Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

actionMaximum未能发挥作用 #306

Closed
jiuqianyuan opened this issue Nov 22, 2023 · 20 comments
Closed

actionMaximum未能发挥作用 #306

jiuqianyuan opened this issue Nov 22, 2023 · 20 comments
Labels
bug Something isn't working

Comments

@jiuqianyuan
Copy link

使用如下规则测试,在未切换app的情况下,规则被反复触发

{
  id: 'com.miui.notes',
  name: '笔记',
  groups: [
    {
      key: 0,
      name: '开屏广告',
      quickFind: true,
      // matchTime: 10000,
      //matchDelay: 3000,
      actionMaximum: 1,
      resetMatch: 'app',
      rules: '@[id="com.miui.notes:id/note_group"] [text*="一"]',
      snapshotUrls: 'https://i.gkd.li/import/13438987',
    },
  ],
}

log.zip

12321.mp4
@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

请提供点击记录的截图

@jiuqianyuan
Copy link
Author

actionMaximum

23132

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

我看你的规则名称叫 开屏广告,为什么记录叫 测试 ?

@jiuqianyuan
Copy link
Author

jiuqianyuan commented Nov 22, 2023

我看你的规则名称叫 开屏广告,为什么记录叫 测试 ?

测的时候忘记改规则名了,点击截图里的“测试”是后面改了内存订阅后自动变的

@lisonge lisonge added the bug Something isn't working label Nov 22, 2023
@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

确实是这样,我看看

@jiuqianyuan
Copy link
Author

jiuqianyuan commented Nov 22, 2023

另:我是在测试属性matchDelay: 3000,导致规则不触发时发现的问题,不知道matchDelay属性是否也有问题,是否有最大时间限制,因为matchDelay3001000时,规则是有效的

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

是实现 actionMaximumKey 时忘记取 group.actionMaximum 了,你将 actionMaximum 放在 rule 层级就能正常运行

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

matchDelay 并没有问题

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

@lisonge lisonge closed this as completed Nov 22, 2023
@jiuqianyuan
Copy link
Author

matchDelay 并没有问题

已更新v1.5.2,actionMaximum有用了,matchDelay 测试确实存在问题

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

存在什么问题 ?

@jiuqianyuan
Copy link
Author

jiuqianyuan commented Nov 22, 2023

存在什么问题 ?

设置为matchDelay: 3000,时,一直不触发点击,只有在切换界面时会触发,见录屏

{
  id: 'com.miui.notes',
  name: '笔记',
  groups: [
    {
      key: 0,
      name: '开屏广告',
      quickFind: true,
      // matchTime: 10000,
      matchDelay: 3000,
      actionMaximum: 1,
      resetMatch: 'app',
      rules: '@[id="com.miui.notes:id/note_group"] [text*="一"]',
      snapshotUrls: 'https://i.gkd.li/import/13438987',
    },
  ],
}

9596

log.zip

666.mp4

压缩了下导致无法在线播放,得下载看

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

这个是目前正常的,需要有界面变动事件才能触发,界面静止时,不会触发

@jiuqianyuan
Copy link
Author

jiuqianyuan commented Nov 22, 2023

这个是目前正常的,需要有界面变动事件才能触发,界面静止时,不会触发

从其它app切回【笔记】,应该算界面变动吧,而且将matchDelay设置为300,app切换时是能马上触发点击的

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

所以你的问题是什么?我还是没看懂

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

设置为matchDelay: 3000,时,一直不触发点击,只有在切换界面时会触发,见录屏

3000 后 规则处于激活状态,当界面发生变动时,规则参与匹配,你切换界面即发生变动,自然就会触发点击

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

而且将matchDelay设置为300,app切换时是能马上触发点击的

服务内部有一个机制,界面停止变动后的 0.5s 后,执行一次规则,防止之前的规则阻塞太久导致某些规则不执行

@jiuqianyuan
Copy link
Author

设置为matchDelay: 3000,时,一直不触发点击,只有在切换界面时会触发,见录屏

3000 后 规则处于激活状态,当界面发生变动时,规则参与匹配,你切换界面即发生变动,自然就会触发点击

matchDelay到时间后,是否应主动匹配规则执行一次,如测试视频所示,我切回【笔记】时无法点击“一”,当我打开别的界面,此时再执行已无意义。

@lisonge
Copy link
Member

lisonge commented Nov 22, 2023

可以的,后续我优化一下

@jiuqianyuan
Copy link
Author

可以的,后续我优化一下

此次是因为饿了么不执行【版本更新】规则时发现的,记不清当初为什么加matchDelay

辛苦大佬了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants