{
  "startParamMap": [
    {
      "isNotRequired": false,
      "key": "contacts",
      "type": "textarea",
      "value": [
        ""
      ],
      "label": "联系人",
      "placeholder": "每行一个好友用户名或号码",
      "helpText": "将按顺序在 WhatsApp 中搜索并发送私信。"
    },
    {
      "isNotRequired": false,
      "key": "message",
      "type": "string",
      "value": "",
      "label": "私信内容",
      "placeholder": "请输入要发送的文本",
      "helpText": "将发送给所选联系人的私信正文。"
    }
  ],
  "contents": [
    {
      "name": "等待时间",
      "type": "waitTime",
      "config": {
        "timeoutType": "randomInterval",
        "timeout": 1500,
        "timeoutMin": 800,
        "timeoutMax": 2000
      }
    },
    {
      "name": "For循环数据",
      "type": "forData",
      "config": {
        "content": [
          "${contacts}"
        ],
        "reversal": false,
        "variable": "name",
        "variableIndex": "index",
        "children": [
          {
            "name": "执行ADB命令",
            "type": "executeADB",
            "config": {
              "content": "am start -W -a android.intent.action.VIEW -d \"https://wa.me/${name}\" -p com.whatsapp",
              "timeout": 30000,
              "variable": ""
            }
          },
          {
            "name": "日志",
            "type": "log",
            "config": {
              "message": "${index}: wa.me 打开 ${name}",
              "level": "info"
            }
          },
          {
            "name": "等待时间",
            "type": "waitTime",
            "config": {
              "timeoutType": "randomInterval",
              "timeout": 2500,
              "timeoutMin": 2000,
              "timeoutMax": 3500
            }
          },
          {
            "name": "等待元素",
            "type": "waitEle",
            "config": {
              "filterType": "equal",
              "filterCollection": [
                [
                  {
                    "type": "id",
                    "content": "com.whatsapp:id/entry",
                    "filterType": "equal"
                  }
                ]
              ],
              "hiddenChildren": false,
              "searchTime": 12000,
              "serial": 1,
              "serialType": "fixedValue",
              "operator": "",
              "operatorNum": 0,
              "variable": "hasChat",
              "filters": [
                {
                  "type": "desc",
                  "content": ""
                }
              ]
            }
          },
          {
            "name": "IF条件",
            "type": "ifElse",
            "config": {
              "conditionV3": [
                [
                  {
                    "relation": "exist",
                    "useVariable": "hasChat"
                  }
                ]
              ],
              "children": [
                {
                  "name": "等待时间",
                  "type": "waitTime",
                  "config": {
                    "timeoutType": "randomInterval",
                    "timeout": 800,
                    "timeoutMin": 500,
                    "timeoutMax": 1200
                  }
                },
                {
                  "name": "输入内容",
                  "type": "inputContent",
                  "config": {
                    "content": [
                      "${message}"
                    ],
                    "clearBefore": true,
                    "waitTime": 300,
                    "hiddenChildren": false,
                    "serialType": "fixedValue",
                    "serial": 1,
                    "operator": "",
                    "operatorNum": 0,
                    "searchTime": 5000,
                    "inputType": "custom",
                    "filterType": "equal",
                    "filterCollection": [
                      [
                        {
                          "type": "id",
                          "content": "com.whatsapp:id/entry",
                          "filterType": "equal"
                        }
                      ]
                    ],
                    "sourceType": "selector",
                    "variable": "",
                    "clear": true
                  }
                },
                {
                  "name": "等待时间",
                  "type": "waitTime",
                  "config": {
                    "timeoutType": "randomInterval",
                    "timeout": 1200,
                    "timeoutMin": 800,
                    "timeoutMax": 1800
                  }
                },
                {
                  "name": "等待元素",
                  "type": "waitEle",
                  "config": {
                    "filterType": "equal",
                    "filterCollection": [
                      [
                        {
                          "type": "id",
                          "content": "com.whatsapp:id/send",
                          "filterType": "equal"
                        }
                      ]
                    ],
                    "hiddenChildren": false,
                    "searchTime": 5000,
                    "serial": 1,
                    "serialType": "fixedValue",
                    "operator": "",
                    "operatorNum": 0,
                    "variable": "",
                    "filters": [
                      {
                        "type": "desc",
                        "content": ""
                      }
                    ]
                  }
                },
                {
                  "name": "点击元素",
                  "type": "click",
                  "config": {
                    "filterType": "equal",
                    "filterCollection": [
                      [
                        {
                          "type": "id",
                          "content": "com.whatsapp:id/send",
                          "filterType": "equal"
                        }
                      ]
                    ],
                    "hiddenChildren": false,
                    "randomDistance": 3,
                    "searchTime": 5000,
                    "serial": 1,
                    "serialType": "fixedValue",
                    "operator": "",
                    "operatorNum": 0,
                    "useOffset": false,
                    "error": true,
                    "doubleClick": false,
                    "variable": "",
                    "varName": "",
                    "description": ""
                  }
                },
                {
                  "name": "等待时间",
                  "type": "waitTime",
                  "config": {
                    "timeoutType": "randomInterval",
                    "timeout": 1500,
                    "timeoutMin": 1000,
                    "timeoutMax": 2500
                  }
                },
                {
                  "name": "点击元素",
                  "type": "click",
                  "config": {
                    "filterType": "equal",
                    "filterCollection": [
                      [
                        {
                          "type": "desc",
                          "content": "Back",
                          "filterType": "equal"
                        }
                      ]
                    ],
                    "hiddenChildren": false,
                    "randomDistance": 2,
                    "searchTime": 3000,
                    "serial": 1,
                    "serialType": "fixedValue",
                    "operator": "",
                    "operatorNum": 0,
                    "useOffset": false,
                    "error": false,
                    "doubleClick": false,
                    "variable": "",
                    "varName": "",
                    "description": ""
                  }
                }
              ],
              "other": [
                {
                  "name": "日志",
                  "type": "log",
                  "config": {
                    "message": "[ERR] 未能打开聊天页: ${name}",
                    "level": "info"
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ],
  "otherContents": {
    "startNode": {
      "position": {
        "x": 13,
        "y": 22
      },
      "config": {},
      "type": "start",
      "id": "init-node"
    },
    "contents": [],
    "edges": [],
    "otherFunctionNode": []
  },
  "contentType": "phone",
  "errorType": "pause"
}