add global rules

This commit is contained in:
gorojack 2024-07-19 11:20:30 +08:00
parent 6a4904ebb3
commit 1d9dcf8b4f
3 changed files with 54 additions and 5 deletions

@ -1,13 +1,43 @@
# 小新记账订阅模板 # 小新记账订阅模板
### 规则编写 ### 规则编写
APP对应规则写在apps目录下
APP 对应规则写在 apps 目录下
- 文件名格式为包名点分割末尾字符 - 文件名格式为包名点分割末尾字符
### 生成订阅JSON文件 ### 生成订阅 JSON 文件
``` ```
python main.py python main.py
``` ```
生成完毕之后目标JSON文件在`dist`目录,文件名格式为`${VERSION}.json` 生成完毕之后目标 JSON 文件在`dist`目录,文件名格式为`${VERSION}.json`
### 属性说明
#### `global` 全局规则
- `name` 全局规则名称
- `rules` 规则列表
- `apps` 全局规则匹配的应用
- `id` 应用包名
- `enable` 是否默认启用
#### `rules` 规则列表
- `key` 规则的唯一 ID
- `selector` 元素选择器
- `action` 操作类型,支持`setText`、`click`、`longClick`、`back`
- `actionDelay` 操作完成后的延迟,单位 ms
- `args` 当`action`为`setText`时填充的字符串
- `preAction` 当前操作的前置操作的`key`
- `activityId` 指定的 Activity
- `classId` 指定的 className
#### `apps` 应用规则
- `packageName` 应用包名
- `name` 应用名
- `version` 应用版本
- `rules` 规则列表

14
global_rules.py Normal file

@ -0,0 +1,14 @@
global_rules = {
"name": "全局测试",
"rules": [
{
"key": 0,
"selector": "[text='记账']",
"action": "click",
"actionDelay": 50,
}
],
"apps": [
{"id": "tech.cqxqg.hhjapp", "enable": True},
],
}

@ -1,16 +1,21 @@
import importlib.util import importlib.util
import os import os
from global_rules import global_rules
key = -1
version = "0.0.1_alpha" name = "Test Subscription"
version = "0.0.1_beta"
def get_subscription(): def get_subscription():
apps_folder = "apps" apps_folder = "apps"
apps = get_global_vars_from_apps(apps_folder) apps = get_global_vars_from_apps(apps_folder)
return { return {
"key": key,
"name": name,
"version": version, "version": version,
"apps": apps, "apps": apps,
"global": global_rules,
} }